2014-10-12 207 views
0

我創建了一個運行openGL ES 1.1的小程序;我也用Log來打印我的fps。 雖然有些奇怪,但是當我檢查日誌時,fps計數器表示每幀的幀數超過2000幀。這怎麼可能呢?如果我沒有錯誤,vsync會自動將上限限制在60以內。OpenGl ES,android FPS

public class FPSCounter { 
long startTime = System.nanoTime(); 
int frames = 0; 

public void logFrame() { 
    frames++; 
    if(System.nanoTime() - startTime >= 1000000000) { 
     Log.d("FPSCounter", "fps: " + frames); 
     startTime = System.nanoTime(); 
    } 
} 

}

+1

這是真碼嗎?你在這裏登錄的只是幀數。你永遠不會按時間劃分幀率。 – 2014-10-12 14:34:57

+0

我增加幀var,然後檢查是否1秒過去了,如果它是真的然後我重置時間。現在我看到我不重置框架var:/ – KostasRim 2014-10-12 15:02:40

回答

0

重置您的櫃檯幀。

if(System.nanoTime() - startTime >= 1000000000) { 
     Log.d("FPSCounter", "fps: " + frames); 
     startTime = System.nanoTime(); 
     **frames = 0;** 
}