Charge CPU avec prog opengl + win32
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 !
Code:
1 2 3 4 5 6 7 8
|
case WM_PAINT:
if (!s.minimized)
{
s.Draw();
SwapBuffers(hDC);
ValidateRect(hWnd, NULL);
} |
et pour le main ca donne ca (j'ai simplifi�)
Code:
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);
} |