J'ai commenc� un ptit prog avec opengl et je viens de m'apercevoir que m�me minimis� il utilise pr�s de 100% du CPU.
L'affichage n'est rafra�chi que par les appels � WM_PAINT qui appelle ma fonction d'affichage Opengl Draw() et pas par une boucle dans mon WinMain.
Draw() n'est appell� que quand j'ai besoin de rafraichir, ca n'arrive pas souvent mais j'ai toujours 100% de charge CPU m�me quand j'ai quasiment rien � afficher.
s.minimized indique si la fen�tre est minimis�e ou non, donc une fois minimis� ca devrait m�me rien affich� et pourtant g encore 100%
Si qq1 a une id�e ca m'aiderais beaucoup ! merci !
et pour le main ca donne ca (j'ai simplifi�)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 case WM_PAINT: if (!s.minimized) { s.Draw(); SwapBuffers(hDC); ValidateRect(hWnd, NULL); }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 { MSG msg; BOOL done=FALSE; HACCEL acceleratorTable; acceleratorTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDR_ACCELERATOR1)); s.window.windowResize(s.WIDTH, s.HEIGHT); s.Draw(); while(!done) { if (PeekMessage(&msg,NULL,0U,0U,PM_REMOVE)) { if (msg.message==WM_QUIT) { done=TRUE; } else { if (!TranslateAccelerator(hWnd, acceleratorTable, &msg)) TranslateMessage(&msg); DispatchMessage(&msg); } } else { SwapBuffers(hDC); } } GLKill(); return (msg.wParam); }
Partager