我基于以下Qt类创建了我的OpenGL应用程序:QWindow、QOpenGLContext和QOpenGLFunctions_4_3_Core。我使用QTimer来渲染场景:
QTimer* timer = new QTimer( this );
connect( timer, SIGNAL( timeout() ), this, SLOT( renderScene() ) );
timer->start( ms );
当ms = 0时,我可以检查最大FPS。结果是 ~2200 fps(v-sync关闭),但是当我想要使用鼠标调整窗口大小时,程序会挂起。然后我必须使用“ctrl+alt+del”并手动杀死进程(调试器没有任何消息)。可能有什么问题?
我还想知道为什么当定时器间隔设置为1时,我只得到64 fps(应该是1000 fps)?其他结果:间隔=10也是64 fps,间隔=50 -> 16 fps,间隔=100 -> 9 fps。只有最后一个结果(100 ms -> 9fps)似乎是正确的。如何解释这些结果?