我基于以下 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(垂直同步关闭),但是当我想使用鼠标调整窗口大小时,程序挂断了。然后我必须使用“ctrl+ alt + del”并手动终止进程(调试器不包含任何消息)。可能有什么问题?
我还想知道为什么当计时器间隔设置为 1(应该是 1000 fps)时我得到 64 fps。其他结果:interval = 10 也是 64 fps,interval = 50 -> 16 fps,interval = 100 -> 9 fps。只有最后一个结果(100 ms -> 9fps)似乎是正确的。如何解释这些结果?