디시인사이드 갤러리

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

갤러리 본문 영역

자바가 CPP보다 훨씬 빠름

헤헤(221.160) 2013.02.02 06:57:14
조회 437 추천 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/21 - -
343799 보통 면접 끝나갈 때 [2] ㅁㄴㄻㄹ갤로그로 이동합니다. 13.01.23 190 0
343798 소맴에서 전화왔다!!!ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [13] 소맴고고(223.195) 13.01.23 441 0
343797 자바개발자, 퍼블리셔 [4] 갈등(118.127) 13.01.23 124 0
343795 해결 ㅜㅠ [1] Margin Call갤로그로 이동합니다. 13.01.23 70 0
343794 강남 비트컴퓨터학원 갠츈함? [5] ㅂㅎ(175.209) 13.01.23 736 0
343793 비주얼 C++ 개초본데 추천하는 공부방식좀.. [12] S-GUN갤로그로 이동합니다. 13.01.23 210 0
343792 형들 나 아무것도 모르고 필기 코딩 하는데 사촌형이 나보고 ㅄ이레 [10] 프밍갤짱갤로그로 이동합니다. 13.01.23 217 1
343791 소멤발표나왔다 [4] 정수정•‿•갤로그로 이동합니다. 13.01.23 304 0
343790 소멤 오티가면 모해? [2] 메롱(14.43) 13.01.23 238 0
343789 셉터 50인치 모니터 42만원 이라는데 천국거지갤로그로 이동합니다. 13.01.23 577 0
343788 소멤 발표 오늘 나는거냥?? [4] 우산(211.246) 13.01.23 215 0
343784 와 미친 공룡책 9판 원서 23만원 ㅡㅡ [1] 삐쭊이(211.246) 13.01.23 186 0
343783 내의견에 의견있냐 [4] 할마마갤로그로 이동합니다. 13.01.23 109 0
343782 php 에서 nl2br 로 미리보기 같은거 쏴줄때 img 태그부분 안돼? [4] Margin Call갤로그로 이동합니다. 13.01.23 72 0
343780 선린인고 개새기.. [3] 티모티(211.112) 13.01.23 199 0
343779 내일 하루 시간비는 갤러있냐? [7] 키캣(182.218) 13.01.23 145 1
343778 형이 중고딩 애들에게 어드바이스해준다.final static 육군야전출신(223.32) 13.01.23 96 0
343777 중고딩들 와서 뭐 어떻게해요 하소연하는거 지겹다 [5] ㅇㅇ(58.102) 13.01.23 162 0
343776 컴공 형님들 조언좀 해주세요 [4] ㅔㄱ(175.209) 13.01.23 209 0
343774 여친생겼다 질문받는다 [7] ㄱㄷㄱㄱ(211.208) 13.01.23 184 0
343772 안드에서 JNI쓸때 시그원 왜쓰는지 몰랐는데 리눅스를 하다가 보니 GCC [2] ㅁㄴㅇㄻㅇ(114.71) 13.01.23 91 0
343771 HxD 랑 OllyDbg 를 회사 컴에다가 깔아도 됄까? [3] 천국거지갤로그로 이동합니다. 13.01.23 89 0
343770 C++표준도 계속 업데이트 되나요? [6] 금고래갤로그로 이동합니다. 13.01.23 107 0
343769 형들 나 좆고딩이긴한데 [10] ㅇㅇ(124.197) 13.01.23 235 1
343767 트라인 이란 게임 있는데 이게임 그래픽 질문좀... [3] 1(116.121) 13.01.23 119 0
343766 공군 전자계산특기 아는 형들 있엉? [1] 뇌파갤로그로 이동합니다. 13.01.23 69 0
343765 밑에 더블포인터 답변 ㅁㄴㅇ(59.25) 13.01.23 81 0
343764 C언어 더블포인터 관련 질문좀 받아주세요 [19] 네로시엔갤로그로 이동합니다. 13.01.23 294 0
343762 자라 정수정•‿•갤로그로 이동합니다. 13.01.23 55 1
343760 자바스크립트라는 새끼가 신기하다. [2] 힝아(115.161) 13.01.23 221 0
343758 안드로이드 아이폰 네이티브 어렵냐? [9] 주세혁드라이브갤로그로 이동합니다. 13.01.23 215 1
343755 형들 총체적 질문점 헤헿 [10] 납땜왕(14.32) 13.01.22 223 0
343754 아오 c언어ㅡㅡ [2] 할마마갤로그로 이동합니다. 13.01.22 137 0
343752 그린컴퓨터아트학원 이런곳 가면되나? [3] ㅁㄴㅇㄹ(124.146) 13.01.22 897 0
343751 매프레임 if문으로 체크 안하려면 어떻게함? [2] A(168.126) 13.01.22 68 0
343750 자바스크립트에서 Array String간 변환법 [4] ㅁㄴㅇ(59.25) 13.01.22 169 0
343749 자바나 C언어 학원에서 배우고 취업가능? [14] ㅁㄴㅇㄹ(124.146) 13.01.22 380 0
343747 안녕하세연 멘탈붕괴_갤로그로 이동합니다. 13.01.22 36 0
343744 리눅스 종류가 많은데.. [15] dd(210.94) 13.01.22 244 0
343743 아오 씨발 Python 이것도 언어라고.. [5] ㅂㅂ(123.129) 13.01.22 266 2
343741 안드로이드에 여자팬티보기나 별저질같은앱있잖아 [2] 보물같은인성갤로그로 이동합니다. 13.01.22 191 1
343740 어디 키넥트 관련된 정보 모아둔 사이트 없나? [11] 취직할수있나(116.123) 13.01.22 139 0
343739 안드로이드 기종 젤인기있는게뭐임 세계적으로? [6] 보물같은인성갤로그로 이동합니다. 13.01.22 151 0
343738 근데 디씨같은 대형사이트는 원래 기본적으로 글지워도 6개월인가 디비보관해 [2] lol백과사전(182.172) 13.01.22 164 1
343737 형들 FTP 서버에 있는 이 폴더들 사용처 좀 알려줘 [4] 안뇽해(182.218) 13.01.22 106 0
343736 오늘 어떤놈이 이걸 영단어로 어떻게 표현하는지 물어봤다 [1] Kyle(220.244) 13.01.22 141 0
343733 형들ㅠㅠ UDK 게임개발중인데 [4] sadasd(204.93) 13.01.22 124 0
343732 에어로홍님.. 경찰서에서 모니터링 한다는데 어케 줍니까... [1] 상상(175.123) 13.01.22 98 0
343730 오늘의 자바 nom nom 3탄. 이클립스설치방법.txt [2] Kyle(220.244) 13.01.22 103 0
343729 ㅅㅂ 일부러 악플달라케도 맘이 아파서 안되겟다 돌대갈(211.36) 13.01.22 75 0
뉴스 여은, 오늘(24일) 새 싱글 ‘밤 하늘의 별도 너처럼 빛나진 않잖아’ 발매! 여름밤 울리는 감성 고백송! 디시트렌드 07.24
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2