디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

자바가 CPP보다 훨씬 빠름

헤헤(221.160) 2013.02.02 06:57:14
조회 430 추천 0 댓글 14







그려지는 속도가 자바가 훨씬 빠른게 눈으로 보임

어제꺼는 자바가 너무 빨라서 천천히 그려지는것처럼 보인거같음

근데 왜 자바가 더 빠르지 헤헤




------------------------------MFC 코드 ----------------------------------------------------------


void CChildView::OnPaint() 
{
        CPaintDC dc(this); // 그리기를 위한 디바이스 컨텍스트입니다.
        
        unsigned int count=0;
        CTime start=CTime::GetCurrentTime();
        for(int i=0;i<1000;i++){
                for(int j=0;j<1000;j++){
                                CBrush NewBrush(RGB(rand()%255,rand()%255,rand()%255));
                                dc.FillRect(CRect(i,j,i+50,j+50),&NewBrush);
                                count++;
                }
        }
        CTime end=CTime::GetCurrentTime();

        CTimeSpan t=end-start;
        CString str=_T("");
        str.Format(_T("%d초 소요, 그린 횟수 : %d"),t.GetSeconds(),count);
        MessageBox(str);
}



----------------------자바 코드-------------------------------------------

package view;

import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class SpeedView extends JFrame{
        boolean b=false;
        Random r=new Random();
        
        public SpeedView(){
                super("SpeedTest");
                setBounds(0,0,1000,1000);
                setVisible(true);
                setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        }
        
        @Override
        public void paint(Graphics g) {
                super.paint(g);

                int c=0;
                int y=0;
                
                long start=System.currentTimeMillis();
                for(int i=0;i<1000;i++){
                        for(int j=0;j<1000;j++){
                                        g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));
                                        g.fillRect(i, j, 50, 50);
                                        
                                        c++;
                        }
                }
                long end=System.currentTimeMillis();
                String msg=(end - start)/1000 + "초 소요, 그린 횟수 : "+c;
                
                if(b==false){
                        b=true;
                        JOptionPane.showMessageDialog(this, msg);
                }
                
        }
        
        public static void main(String[] args) {
                new SpeedView();
        }
}



--------------------------WinAPI---------------------------------------------------------


#include <windows.h>
#include <time.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
HWND hWndMain;
LPCTSTR lpszClass=TEXT("Class");

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
          ,LPSTR lpszCmdParam,int nCmdShow)
{
        HWND hWnd;
        MSG Message;
        WNDCLASS WndClass;
        g_hInst=hInstance;

        WndClass.cbClsExtra=0;
        WndClass.cbWndExtra=0;
        WndClass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
        WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
        WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
        WndClass.hInstance=hInstance;
        WndClass.lpfnWndProc=WndProc;
        WndClass.lpszClassName=lpszClass;
        WndClass.lpszMenuName=NULL;
        WndClass.style=CS_HREDRAW | CS_VREDRAW;
        RegisterClass(&WndClass);

        hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
                CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
                NULL,(HMENU)NULL,hInstance,NULL);
        ShowWindow(hWnd,nCmdShow);

        while (GetMessage(&Message,NULL,0,0)) {
                TranslateMessage(&Message);
                DispatchMessage(&Message);
        }
        return (int)Message.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
        HDC hdc;
        PAINTSTRUCT ps;
        int passtime;
        TCHAR msg[128];
        LARGE_INTEGER start, end, count;
        static HBRUSH hBrush,oldBrush;
        static RECT rt;
        int cnt=0;

        switch (iMessage) {
        case WM_CREATE:
                hWndMain=hWnd;
                SetWindowPos(hWnd,NULL,0,0,1000,1000,SWP_NOZORDER);
                srand( (unsigned int)(time(NULL)) );
                
                
                return 0;
        case WM_PAINT:
                hdc=BeginPaint(hWnd, &ps);
        
                QueryPerformanceFrequency(&count);
                QueryPerformanceCounter(&start);
                
                for(int i=0;i<1000;i++){
                        for(int j=0;j<1000;j++){
                                hBrush=CreateSolidBrush(RGB(rand()%255,rand()%255,rand()%255));
                                oldBrush=(HBRUSH)SelectObject(hdc,hBrush);
                                rt.left=i;
                                rt.top=j;
                                rt.right=i+50;
                                rt.bottom=j+50;
                                FillRect(hdc,&rt,hBrush);
                                DeleteObject(SelectObject(hdc,oldBrush));
                                cnt++;
                        }
                }
                
                QueryPerformanceCounter(&end);
                passtime = (end.QuadPart - start.QuadPart)  / count.QuadPart ;
                
                wsprintf(msg ,TEXT("%d초 소요, 그린 횟수 : %d"), passtime, cnt);
                MessageBox(hWnd,msg,TEXT("WinAPI"),MB_OK);

                EndPaint(hWnd, &ps);
                return 0;
        case WM_DESTROY:
                PostQuitMessage(0);
                return 0;
        }
        return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
345372 헠 올만에 아치리눅스나 함 볼까 했더니 카이스트 빼고 나머지 미러 다날라 [10] ㅇㅇ(222.237) 13.02.08 292 0
345370 문자의 개수 세는 프로그램 예제에 대해서 질문 좀 할게 [6] 핥라산갤로그로 이동합니다. 13.02.08 174 0
345369 해외에서 프로그래머 하고싶은분들 [8] 신입생(121.129) 13.02.08 500 1
345367 여기 프통령이 백왕님인가요? [4] ㅇㅇ(218.54) 13.02.08 102 0
345362 IT특기병/전공대비/고졸,미취업자 중소기업친화과정취업반국비지원전액지원안내 팀장(211.217) 13.02.08 62 0
345358 우,,우왕? npm 등록해따! [2] 땡칠도사갤로그로 이동합니다. 13.02.08 102 0
345357 첫 직장 2주만에퇴사보고함.. [3] Nokcia(112.153) 13.02.08 329 0
345355 플밍 고수형들만보셈 [2] 형들질문(203.226) 13.02.08 80 0
345351 dcin 익명 글쓰기 된다 [1] 땡칠도사갤로그로 이동합니다. 13.02.08 97 0
345348 얘들아 리눅스 시스템 프로그래밍을 뭐라고 쓰는지 알아? [2] 黑猫갤로그로 이동합니다. 13.02.08 174 0
345344 혀임들 sdk는 어떨게쓰는겁니까 [2] ㅇ3ㅇ(110.14) 13.02.08 120 0
345343 mfc 악보 그리기 질문드립니다. [2] ㅇㅇ(210.118) 13.02.08 1070 0
345342 우리집 공개 [6] 에어로홍갤로그로 이동합니다. 13.02.08 201 0
345341 난 솔직히 애니메이션 보고 사랑에 빠지는 사람 이해가 안간다 [2] 에어로홍갤로그로 이동합니다. 13.02.08 130 0
345340 미키땅 쌰랑해~ 땡칠도사갤로그로 이동합니다. 13.02.08 52 0
345339 불법체류자의 한국생활 수칙 5계명~~~~~~~~~ [9] 총총갤로그로 이동합니다. 13.02.08 205 0
345338 야 이건 그냥 재미로 하는 말인데 [8] 에어로홍갤로그로 이동합니다. 13.02.08 176 0
345336 당신이 제일 예쁘다고 생각하는 연예인 세 명은? [4] 에어로홍갤로그로 이동합니다. 13.02.08 131 0
345335 중소기업 초봉 얼마정도임?? [3] ㅁㄴㅇㄹ(121.134) 13.02.08 216 0
345334 폰트 크기 11로 하니 오타가 안 보이네 [2] dot(118.219) 13.02.08 70 0
345332 3분 만에 시 하나 썼다 [1] 에어로홍갤로그로 이동합니다. 13.02.08 105 0
345330 님들아 c하고나서 바로 자바들어가도되나요?? [2] adfrty(175.215) 13.02.08 94 0
345327 공모전2주남기고 게임제작돌입하니까.. 하루종일해도모자르네.. [3] 겜제작(211.237) 13.02.08 168 0
345326 어떤 새키가 미친척하고 프로그래밍으로 판타지 소설 쓰면 개쩔듯 ㅋㅋㅋㅋ [6] asdf(183.106) 13.02.08 207 0
345322 횽들 이정도 대략 배우려면 얼마나 걸림? [1] 우하하하(211.116) 13.02.08 92 0
345320 자료구조 예습 중인데. [4] help(114.207) 13.02.08 143 0
345319 자바관련 진로고민좀 들어줘...(상담글) [2] 자바초보(119.197) 13.02.07 138 0
345317 형들 소프트웨어관리개발병 질문ㅇ [3] 소프트웨어병(203.226) 13.02.07 210 0
345316 안녕하십니까 선배님들 이번에 컴공에 입학하는 신입생입니다 [4] 새내기(203.226) 13.02.07 3401 0
345315 취미 프로그래밍 과외 같은거 있으면 좋을텐데 [1] ㅇㅇ(116.199) 13.02.07 108 0
345314 ㅋㅋㅋ 뭐지 채용공고 연봉이 오르면 이상한거 맞죠?? [2] ㅁㄴㅇㄹ(122.37) 13.02.07 147 0
345313 재직자과정 주말로 다니려는데 [2] 개구리래머갤로그로 이동합니다. 13.02.07 113 0
345311 외계인이있다고해도.. 지구인보다 멍청할듯하다. [1] 개같은생각(211.237) 13.02.07 67 0
345310 안드로이드에서 핸드폰을 서버로 돌릴수 있나요?? [4] 일단개발자(119.149) 13.02.07 202 0
345307 네이버 메인화면 소스보고 전부 해석되는분 계십니까? [4] ㅎ헐(211.203) 13.02.07 181 0
345306 비주얼 스튜디오 버전 머써요?? [4] VS 버전(182.172) 13.02.07 117 0
345305 HTML5나오면 온라인 게임 사라지는거 아니냐! [7] 대문왕(14.36) 13.02.07 207 0
345303 html5 로전략RPG 만들거다. [3] gkgkgk(1.231) 13.02.07 142 0
345302 정보보안 하실분 대학원 가세요. ㅇㅇ(112.148) 13.02.07 169 0
345301 C++에서 true false 대문 소문 다 되잖앙 [4] 대문왕(14.36) 13.02.07 102 0
345299 시발 지금깢이 일한다. [7] sk(112.170) 13.02.07 97 0
345298 유니티엔진구매하려는대 아이폰용으로얼마정도듬? [2] 으하(211.237) 13.02.07 101 0
345297 백왕님 혹시 사장님이세여? 순수궁금(175.115) 13.02.07 67 0
345295 내가 돈 버는 법 알려주지 [6] 에어로홍갤로그로 이동합니다. 13.02.07 193 0
345293 보안전문가 쪽 희망하고있는데.. [3] ㄴㅂㄴㅂ(119.56) 13.02.07 151 0
345292 한 겨울에 소나기 듣자.... ㅋㄱ(183.96) 13.02.07 24 0
345290 xx부대 살인사건 , tag[소설, 스크롤]4 [1] 소설맨(116.33) 13.02.07 110 0
345289 xx부대 살인사건 , tag[소설, 스크롤]3 소설맨(116.33) 13.02.07 66 0
345288 xx부대 살인사건 , tag[소설, 스크롤]2 소설맨(116.33) 13.02.07 97 0
345286 xx부대 살인사건 , tag[소설, 스크롤] [1] 소설맨(116.33) 13.02.07 271 0
뉴스 김소연, '수요일 밤에' 홀린 매혹적 비주얼! 넘치는 끼 장착한 '아리아리요' 디시트렌드 07.10
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2