如何在 Qt 图形应用程序中计算每秒帧数

How to calculate Frames per second in Qt Graphics Application

我有一个基于 Qt 的 OpenGLES2.0 应用程序,我想在其中捕获 FPS。

我的应用程序绘制相同的几何图形 16 次,然后尝试了解 FPS。

如何确保 glDrawElements() 已完成其工作?

我想要获得正确的 FPS。

有什么方法可以使 glDrawElements() 同步或池化 glDrawElements() 完成吗?

  1. 在应用程序 window/widget class 中定义一个 Timer 对象。 QTime frameTime;
  2. 在initializeGL中启动定时器。 frameTime.start();

  3. 在 PaintGL 中


paintGL ()
{  
   draw_your_geometry();

   ++frameCount;

  if (frameTime.elapsed() >= 1000)
  {

     double fps = frameCount / ((double)frameTime.elapsed()/1000.0);

  }

}