2012-05-07 6 views
4

アンドロイドデバイスのFPS(フレーム/秒)を取得する方法はありますか?アンドロイドのデバイスレベルでFPSを計算するには

FPSを表示するための開発設定にはオプションがありますが、同じようにアプリケーションを作成したいと思います。

内部的にはsurfaceflinger APIを呼び出します。

答えて

4

Activityメインクラスでは、onDraw()メソッドをオーバーライドします。 super.onDraw()を呼び出し、現在のシステム時刻を保存します。描画する現在の呼び出しと描画する前の呼び出しの間で、ms単位でdelta_timeを計算します。あなたは、デバイスを根絶し、何とかボンネットの下に取得しない限り、あなたが行うことができるものではありません

void onDraw(){ 
    super.onDraw() 
    curTime = getTime(); 
    deltaTime = curTime - prevTime(); 
    aproxFps = 1000/deltaTime; 
    prevTime = curTime; 
} 
+0

これは、デバイスのFPSではなく、アプリケーションのFPSを計算するでしょうか? – Robust

+0

標準のAndroid APIを使用すると、デバイスのフレームレートを取得できません。 'root'を使うか、独自のカスタムROMを動かす必要があります。 – slayton

0

:そして、ここで1000 ms/delta_time ~ FPS

使用してFPSを計算することは、いくつかの擬似コードです。

関連する問題