die methode paintGL eines QGLWidget wird ja immer nur ausgeführt wenn sie benötigt wird.
wie mach ich das, dass die methode ununterbrochen ausgeführt wird. brauch das für mehrere sachen z.b. soll für jeden frame ein simulationsschritt gemacht werden und die fps sollen berechnet werden und angezeigt werden.
qt QGLWidget runloop
Wenn du das wirklich so oft wie möglich rendern willst sollte es gehen in einem extra Thread einfach
aufzurufen. Das macht dir zwar ne ganz schöne Auslastung aber dank eigenem Thread sollte wenigstens dein Programm weiterhin nutzbar sein. Ansonsten kannst du natürlich auch einen Timer mit dem updateGL() Slot verbinden und z.B. alle 16ms feuern lassen (gibt etwas mehr als 60fps). Was mit deiner GUI passiert wenn du den Timer einfach alle 1ms feuern lässt weiß ich jetzt nicht, wäre aber auch mal einen Versuch wert...
Sowas wie die Idle-Funktion vom GLUT gibts jedenfalls meines Wissens nach nicht.
PS: Du weißt ja hoffentlich: Niemals paintGL() direkt aufrufen, immer brav updateGL()
Code: Alles auswählen
forever {
updateGL();
}Sowas wie die Idle-Funktion vom GLUT gibts jedenfalls meines Wissens nach nicht.
PS: Du weißt ja hoffentlich: Niemals paintGL() direkt aufrufen, immer brav updateGL()
mfg N¤X