2016-03-21 6 views
-1

Ich habe eine Qt-basierte OpenGLES2.0-Anwendung, wo ich die FPS erfassen möchte.Wie Frames pro Sekunde in Qt-Grafik-Anwendung berechnen

meine Anwendung gleiche Geometrie für 16-mal ziehen und dann versuchen, die FPS zu kennen.

Wie kann ich sicherstellen, dass glDrawElements() hat seine Arbeit beendet?

Ich möchte die richtige FPS bekommen.

Gibt es eine Möglichkeit, die glDrawElements() synchron oder Pooling die glDrawElements() abzuschließen?

+0

Beabsichtigen Sie eine Animation zu ziehen? Wie aktualisierst du die Szene? Können Sie uns etwas Code zeigen (minimales Arbeitsbeispiel)? –

Antwort

1
  1. definieren eine Timer-Objekt in Anwendungsfenster/Widget-Klasse. QTime frameTime;
  2. den Timer in initializeGL starten. frameTime.start();

  3. in PaintGL


paintGL() 
{ 
    draw_your_geometry(); 

    ++frameCount; 

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

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

    } 

}