디시인사이드 갤러리

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

갤러리 본문 영역

자바가 CPP보다 훨씬 빠름

헤헤(221.160) 2013.02.02 06:57:14
조회 436 추천 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 - -
345106 Adobe Edge Animate가 플래쉬를 대체할듯 싶습니다. ㅎㅎㅎ(222.237) 13.02.05 58 0
345105 jQuery 잘쓰는 방법 1탄.txt [3] Kyle(220.244) 13.02.05 220 0
345103 백왕님 함께 힘을 합쳐보실까요? [2] ㅎㅎㅎ(222.237) 13.02.05 79 0
345102 안드로이드 디바이스쪽 경력 있는데 무슨 일을 해야할까? [1] ㅂㅂ(118.176) 13.02.05 68 0
345100 이제곧 중3되는데 뭐배워야될까요형들... [14] qqqqqhk갤로그로 이동합니다. 13.02.05 160 0
345098 백왕형 영어 솔루션 + 프갤러의 특징 + 조언 [2] Kyle(220.244) 13.02.05 128 0
345097 한국산업인력공단 회원가입하는데 이게 뭔 소리냐. [9] classical(175.200) 13.02.05 160 0
345096 백괴사전 자바 치니깐 이거 뭐야 ㅋㅋㅋㅋㅋㅋ [6] 소통령갤로그로 이동합니다. 13.02.05 191 0
345092 형들 근데 OCJP랑 오라클 자격증 준비 학원 어디가 좋음? [1] 착프(218.155) 13.02.05 103 0
345091 유니티3d 만지는사람 있음니까? [1] appllee갤로그로 이동합니다. 13.02.05 100 0
345089 How a garbage collector works.gif [7] 리프트마시쪙(58.237) 13.02.05 134 0
345088 형들 초짜인데 홈피 타이틀이 깨지는데 질문점여 ㅠㅠ [4] ㅇㅇ(27.119) 13.02.05 69 0
345087 안드로이드 프레임워크 개발이 머냐. [4] ㅋㄱ(183.96) 13.02.05 146 0
345085 이번에도 명절 예언한다. dot(118.219) 13.02.05 63 0
345083 소프트웨어 중견기업은 많이 없나요? 와우컹컹갤로그로 이동합니다. 13.02.05 55 0
345082 win32api 자식윈도 정보 어케 추출하나요? [1] 이힝(175.215) 13.02.05 48 0
345081 [HTML5] 꼬꼬마입니다 Server Send Event 질문해도 될까 [5] Aris52(59.17) 13.02.05 94 0
345080 php에 주소에 ?이거뭐임?? [7] aweyy(175.215) 13.02.05 119 0
345079 순간 sqlite로 읽어버렸다 [3] ㄹㅇㄴㅁ(175.205) 13.02.05 116 0
345078 형들 php에서 등호앞에 .이거 붙는데 왜붙음?? [8] aweyy(175.215) 13.02.05 109 0
345076 부스트 책 정녕 이거밖에 없음? [3] 부스타(14.36) 13.02.05 77 0
345075 형들 MySQuirreL 을 뭐라고 읽어요 ? [2] MS♡(183.102) 13.02.05 61 0
345074 윈도우 젤 쓸데없는 기능 [9] 부스타(14.36) 13.02.05 202 0
345073 c#배울려면 꼭 c++배워야함? [10] aweyy(175.215) 13.02.05 244 0
345072 플래시는 근데 안망하지 않음? [2] 부스타(14.36) 13.02.05 85 0
345070 한국소프트웨어인재개발원 이런데 어떤곳임? [4] dsfsd(1.251) 13.02.05 860 0
345069 님드라 함수와 객체의 차이가뭐임? [10] aweyy(175.215) 13.02.05 142 0
345068 형들 안드로이드에서 pc로 영상전송 어떤 방법이 있을까?? [11] 코볼(211.172) 13.02.05 151 0
345067 LINQ 어떻게 읽는지... [6] 바보아싸갤로그로 이동합니다. 13.02.05 113 0
345066 요즘 프갤 새 화석 컬렉션 생겻다던데 참트루?? [1] 바보아싸갤로그로 이동합니다. 13.02.05 66 0
345065 SQLite나와서 말인데 PostgreSQL은 어떻게 읽냐? [6] 11(180.71) 13.02.05 80 0
345064 덤벼 프갤 ㅈ 만한 새퀴들아 다 조져버린다! [1] 무제한(175.123) 13.02.05 49 0
345063 형들 질문있어여 [6] ㅋㅇㅋ(175.223) 13.02.05 69 0
345057 SS segment가 뭐야. [3] dd(203.90) 13.02.05 83 0
345056 하우리 회사 어때? 킹죠(14.43) 13.02.05 39 0
345055 서피스에서 개발 가능한가요?? [2] MS♡(183.102) 13.02.05 70 0
345054 Flash나 Silverlight 미래 어떤가요 [5] 네로시엔갤로그로 이동합니다. 13.02.05 111 0
345053 윈도우에서도 유효한 레이스 컨디션 공격 방법이 있냐? [3] ㅁㄴㄻㄹ갤로그로 이동합니다. 13.02.05 107 0
345051 SQLite [3] ㅋㄱ(183.96) 13.02.05 103 0
345050 치킨 업계의 생존율 기사. [2] 호갱(117.110) 13.02.05 118 1
345049 MySQL 읽을때 어떻게 읽지? [12] ????(223.62) 13.02.05 174 0
345048 캐릭터형은 그냥 개병신임? [3] 나리링갤로그로 이동합니다. 13.02.05 86 0
345047 청마린 소희빠아님? 로레알갤로그로 이동합니다. 13.02.05 32 0
345041 윈7 쓰는데 내문서 지워졋다는데 어찌 복구하냐 .. [4] 천국거지갤로그로 이동합니다. 13.02.05 98 0
345039 학원보단 스터디그룹을 추천 [3] ㅎㅎㅎ(203.226) 13.02.05 166 0
345038 학원 수강권 싸게 양도해요(과목변경가능) [4] 데스(211.234) 13.02.05 151 0
345036 밤샜다 [3] 에어로홍갤로그로 이동합니다. 13.02.05 85 0
345035 형들 나뉴비인데 질문하나만 할게ㅠ [3] ■x(175.202) 13.02.05 78 0
345034 어서 어셈? [2] 일광면(121.177) 13.02.05 94 0
345033 아듀이노, 흑백 텍스트 LCD, 선디코더 칩 같은거 살려면 어디가야됨? [3] 우엠다(192.81) 13.02.05 77 0
뉴스 신지 “문원과 결혼, 아직 아냐”…신중히 생각하기로 디시트렌드 07.19
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2