2 Stimmen

Ungleiche Framerate bei Mauseingabe in 3D-Anwendung

Ich schreibe eine 3D-Anwendung für Windows, die OpenGL verwendet. Im Moment rendert es eine einfache Testszene mit einem Modell von etwa 50000 Polygonen und es rendert reibungslos bei 60FPS.

Allerdings wird die Framerate sehr unregelmäßig, wenn die Maus über das Anwendungsfenster bewegt wird. Sie schwankt willkürlich zwischen 400 FPS und 20 FPS. Gibt es einen Grund dafür? Wird dies durch Mausereignisse verursacht, die die Anwendung verarbeiten muss? Kann ich sie deaktivieren und nur den Mausstatus abfragen?

Meine App-Schleife ist sehr einfach, mehr oder weniger wie:

if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
  if (msg.message==WM_QUIT)
  {
    quit();
  }
  else
  {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}
else
{
  draw();
  Sleep(1);
}

und das Fensterverfahren ist im Wesentlichen

return DefWindowProc(hWnd,uMsg,wParam,lParam);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X