디시인사이드 갤러리

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

갤러리 본문 영역

자바가 CPP보다 훨씬 빠름

헤헤(221.160) 2013.02.02 06:57:14
조회 434 추천 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/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
346680 게임 핵만드는 혛들 대충 이런개념맞음? [1] ㅇㅇ(121.170) 13.02.21 135 0
346679 오늘부터 카톡게임 개발 들어간다 질문받는다 [2] ㅇㅇ(1.241) 13.02.21 132 0
346678 집에서 or 혼자 공부하는건 시간은 많아서 좋은데 능률이 안나오네;; [1] 개마무사갤로그로 이동합니다. 13.02.21 110 0
346677 리눅스 설정이 안됀다 !! ㅠ [3] 천국거지갤로그로 이동합니다. 13.02.21 68 0
346675 리눅스 쉘에서 wget명령어 능숙하게 쓰는사람 필독 [7] ㅁㄴㅇㄹ(14.37) 13.02.21 260 0
346673 왜 무인약국 없음? [15] DART(116.41) 13.02.21 207 0
346672 Centos 6.3 버젼 쓰는데 천국거지갤로그로 이동합니다. 13.02.21 67 0
346670 유능한 해커들은 대부분 리눅스를 많이쓴다고 들었는데 왜그런거야?? [4] 엽산(14.37) 13.02.21 192 0
346669 오라클 DBA 되고싶은데 C언어 해야됨? [2] w(115.145) 13.02.21 165 0
346667 이거 바이러스냐 ?(123.142) 13.02.21 53 0
346666 횽들이 추첮해준 책이 이책 맞음? 나리링갤로그로 이동합니다. 13.02.21 70 0
346665 자바 배우기 좋은 사이트 없음용? 인강은 너무 말이 빠름 [1] 상상(175.123) 13.02.21 112 0
346664 혹시 은행 전산팀 근무하시는분 계십니까 [1] ㅇㅇ(112.220) 13.02.21 143 0
346660 일주일만에 덱스터시즌5까지 봤다 [1] 옵저버(61.255) 13.02.21 53 0
346659 요새 리눅스질문글이 많이올라오네.. 옵저버(61.255) 13.02.21 61 0
346658 오늘부터 자바 배우는데.. 드디어 시작인가 싶음. [1] 상상(175.123) 13.02.21 111 0
346657 삼성이나 엘지전자 소프트웨어 개발자들은 무슨 일 하나요? [1] 아쥬아쥬(115.23) 13.02.21 317 0
346655 dll좀 아는 사람? [4] dㅣㅣ(121.164) 13.02.21 107 0
346654 유니티 프로그래밍 가능자중 구직중인 사람 필독 [3] MalJa갤로그로 이동합니다. 13.02.21 189 0
346653 형들 sdl은 렌더링엔진임? [3] 성게밥(175.223) 13.02.21 96 0
346652 (C++) 객체를 const 화 한다는 것의 의미를 설명하시오 [3] ㅁㄴㄻㄹ갤로그로 이동합니다. 13.02.21 132 0
346651 요 근래 맨날 파이썬 파싱 질문하러 오는 새끼 [1] c(39.7) 13.02.21 213 0
346649 페북의 운명은 과연 어케될까 [4] DART(116.41) 13.02.21 183 0
346648 win32api richedit위로 검색이 안되요... 이힝(175.223) 13.02.21 34 0
346647 쉘에서의 스크립트랑 perl스크립트같은 스크립트언어랑 어떤관련이야??? [3] 엽산(14.37) 13.02.21 60 0
346646 rm `find . -newer text.txt -type f`가뭔지아냐 [1] 와나(14.37) 13.02.21 52 0
346645 쉘 프로그래밍 존나 능숙한녀석 있니? [3] Linux(14.37) 13.02.21 342 0
346643 이번에 한게임 경력공채 지원하신분 있나요 ㅇㅇ(125.152) 13.02.21 70 0
346641 IT특기병/전공대비/고졸,미취업자 중소기업친화과정취업반국비지원전액지원안내 김민섭팀장(211.48) 13.02.21 44 0
346640 형들 파이썬으로 파싱하는거... 아는형... [41] (1.245) 13.02.21 302 0
346637 애초에 더블포인터 예제는 이런거 밖에없음? [5] Sorghum갤로그로 이동합니다. 13.02.21 137 0
346636 오라클 머깔아야댐? [6] 오라클(175.197) 13.02.21 91 0
346635 수원 소멥이 광교 u타워냐? [3] sadads(59.11) 13.02.21 70 0
346634 웹표준에 대해서알고싶은데 어디가서 봄? [7] 작성자(175.215) 13.02.21 110 0
346633 홈페이지만들면ssh인가뭔가해야된다며.. [5] 작성자(175.215) 13.02.21 106 0
346632 컴퓨터구조 선수과목이 디지털 논리다??? [9] ㅇㅇ(125.31) 13.02.21 632 0
346631 프갤의 역대 명작 글.txt [3] Quaggan갤로그로 이동합니다. 13.02.21 290 0
346629 태양폭풍 5월달에 온다는데 그러면 컴퓨터못함? w2e(175.215) 13.02.21 48 0
346628 빨리만드는것도실력이다 [3] ㄱㄷ44ㄱ(175.215) 13.02.21 167 0
346627 제로보드xe 워드프레스 둘중에 뭐가 조음? [10] 미클갤로그로 이동합니다. 13.02.21 304 0
346626 톰캣 다운 왜 안바다지냥 부스타(14.36) 13.02.21 40 0
346625 야이놈들아 [1] c(175.208) 13.02.21 83 0
346624 오라클 회사ㅔ서 설치해도 댑니깡? [6] 홋홋(14.36) 13.02.21 110 0
346623 보안충이 돼야할것같네 [3] 나리링갤로그로 이동합니다. 13.02.21 168 0
346622 아래한글 같은거 짤려면 뭐 배워야하나요. [23] ㅇㅇ(125.128) 13.02.21 178 0
346621 html질문좀해볼게염,, 링크표시안뜨게 어떻게함? [2] ㄱㄷ44ㄱ(175.215) 13.02.21 72 0
346619 나사실 프로그래밍 한지 한 3개월 밖에 안됬는데 2개월전의 나랑 [4] ㄷㄱㅎㅎ3ㄱ(175.215) 13.02.20 163 0
346618 일베같은 사이트면 호스팅 비용 매월 얼마씩 들어? [10] 이명갓(211.202) 13.02.20 224 0
346617 c++ const 함수에 대해 물어볼게 있어ㅠㅠ [3] 횽들(115.136) 13.02.20 126 0
346616 프로그래밍 갤러님들 adblock 설치가 안되는데 한번만 봐주세요. [2] ㅁㄴㅇ(39.114) 13.02.20 49 0
뉴스 염지윤 모델, 인천국제민속영화제 홍보대사 위촉 디시트렌드 07.14
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2