OSDN Git Service

add a fps counter to sanangeles demo
authorMathias Agopian <mathias@google.com>
Thu, 9 Sep 2010 01:55:42 +0000 (18:55 -0700)
committerMathias Agopian <mathias@google.com>
Thu, 9 Sep 2010 01:55:42 +0000 (18:55 -0700)
Change-Id: I9a9473ce213301cc7661fddfb1ef5a6ffcb346d4

opengl/tests/angeles/app-linux.cpp

index 06fa0c2..9f80ed4 100644 (file)
@@ -190,24 +190,33 @@ int main(int argc, char *argv[])
     }
 
     appInit();
+
+    struct timeval timeTemp;
+    int frameCount = 0;
+    gettimeofday(&timeTemp, NULL);
+    double totalTime = timeTemp.tv_usec/1000000.0 + timeTemp.tv_sec;
     
     while (gAppAlive)
     {
         struct timeval timeNow;
 
-        if (gAppAlive)
-        {
-            gettimeofday(&timeNow, NULL);
-            appRender(timeNow.tv_sec * 1000 + timeNow.tv_usec / 1000,
-                      sWindowWidth, sWindowHeight);
-            checkGLErrors();
-            eglSwapBuffers(sEglDisplay, sEglSurface);
-            checkEGLErrors();
-        }
+        gettimeofday(&timeNow, NULL);
+        appRender(timeNow.tv_sec * 1000 + timeNow.tv_usec / 1000,
+                sWindowWidth, sWindowHeight);
+        checkGLErrors();
+        eglSwapBuffers(sEglDisplay, sEglSurface);
+        checkEGLErrors();
+        frameCount++;
     }
 
+    gettimeofday(&timeTemp, NULL);
+
     appDeinit();
     deinitGraphics();
 
+    totalTime = (timeTemp.tv_usec/1000000.0 + timeTemp.tv_sec) - totalTime;
+    printf("totalTime=%f s, frameCount=%d, %.2f fps\n",
+            totalTime, frameCount, frameCount/totalTime);
+
     return EXIT_SUCCESS;
 }