アンドロイドデバイスのFPS(フレーム/秒)を取得する方法はありますか?アンドロイドのデバイスレベルでFPSを計算するには
FPSを表示するための開発設定にはオプションがありますが、同じようにアプリケーションを作成したいと思います。
内部的にはsurfaceflinger
APIを呼び出します。
アンドロイドデバイスのFPS(フレーム/秒)を取得する方法はありますか?アンドロイドのデバイスレベルでFPSを計算するには
FPSを表示するための開発設定にはオプションがありますが、同じようにアプリケーションを作成したいと思います。
内部的にはsurfaceflinger
APIを呼び出します。
Activity
メインクラスでは、onDraw()
メソッドをオーバーライドします。 super.onDraw()
を呼び出し、現在のシステム時刻を保存します。描画する現在の呼び出しと描画する前の呼び出しの間で、ms単位でdelta_time
を計算します。あなたは、デバイスを根絶し、何とかボンネットの下に取得しない限り、あなたが行うことができるものではありません
void onDraw(){
super.onDraw()
curTime = getTime();
deltaTime = curTime - prevTime();
aproxFps = 1000/deltaTime;
prevTime = curTime;
}
:そして、ここで1000 ms/delta_time ~ FPS
使用してFPSを計算することは、いくつかの擬似コードです。
これは、デバイスのFPSではなく、アプリケーションのFPSを計算するでしょうか? – Robust
標準のAndroid APIを使用すると、デバイスのフレームレートを取得できません。 'root'を使うか、独自のカスタムROMを動かす必要があります。 – slayton