Androidのアプリ開発中にFPS(frames per second)を測定する方法(アプリ、ハッキング、ライブラリなど)はありますか?アプリの開発中にAndroidでFPSを測定する方法
答えて
デバッガが接続されているとパフォーマンスがひどくなることに注意してください。
自分のAndroidゲームから、フレーム時間はandroid.os.SystemClock
で測定できます。つまり、フレームごとに1回、SystemClock.elapsedRealtime()
を呼び出し、前のフレームから値を減算します。 elapsedRealtime()
はミリ秒単位で測定されるため、フレームレートの計算は1000.0/frametime
と同じくらい簡単です。
APIレベル16以上(Jelly Bean)をターゲティングする場合はChoreographer#postFrameCallback
を使用して、進行中のフレームにコードを投稿できます。
また、frametimeは、一般にフレームレートよりもパフォーマンスの優れた指標です。 1000fpsと1200fpsの差は、60fpsと61fpsの差と同じ時間です(ただし、おそらくそれ以下です)。
ああ、補間/アニメーションを実行しようとしている場合、滑らかな時間ベースの動きを得る方法と同じフレームタイムを使用することができます。 –
1000-1200の差はおよそ0.17秒で、60と61fpsの差は約0.017秒です。だからそれは間違いなく大きな違いです。 – Sietse
あなたの経過時間の計算はあなたが言ったようにミリ秒単位です。だから、フレームレート計算は1000.0/frametimeではないでしょうか?私はあなたの答えが何の単位で指定されているのかはっきりしないと思うが、OPは1秒あたりのフレーム数を言い表しているので、私はあなたが1000時間する必要があると思う。 –
プレイセッションのFPSを測定できるプレイストアにはappsがあります。 GameBenchを見てください。それは、それが再生されている間、任意のゲームのパフォーマンスを測定することができますし、画面上でレンダリングされていたものにFPSドロップを相関させることができます。
TinyDancerライブラリを使用できます。
は、単純に次のようなコードを追加します。
public class DebugApplication extends Application {
@Override public void onCreate() {
// default config
TinyDancer.create().show(this);
//or customazed config
TinyDancer.create()
.redFlagPercentage(.1f) // set red indicator for 10%
.startingGravity(Gravity.TOP)
.startingXPosition(200)
.startingYPosition(600)
.show(this);
}
}
そして、あなたはあなたの画面の上部にある現在のFPSに関する情報をインタラクティブなビューが表示されます。
これは、既存のコードで実装するのが速く、魅力的に動作するように、使いやすく簡単です。いいです! – SMalpica
これが最適なソリューションです。非常に素晴らしい結果! –
私は、AndroidアプリケーションのFPS分析(それはゲームではありません、私は私のアプリのアニメーションが実行を開始したときにFPSをチェックしたい)のためにGameBenchを使用しています。 GameBenchは、キーフレームレート(FPS)メトリックをキャプチャします。このメトリックは、UXの流動性を示す最も優れた指標です。
私のアンドロイドアプリケーションのアニメーションが始まると、FPSが30FPSであることを確認する必要がありました。私はGameBenchツールが提供するグラフレポートで、次を確認しました
は、
- アニメーションが開始さ、FPSは0 FPSから30FPSに移動しました。アニメーションが終了すると
- はFPSは0 FPS
参照してください。スクリーンショットに30FPSから移動しました。
このツールを使用するには、Androidアプリケーションとデスクトップ・ランチャーをインストールする必要があります。
- アンドロイドデバイスにGameBenchアプリケーションをインストールします。
- 電子メールアドレスを使用してGameBenchに登録し、デスクトップアプリケーションをインストールします。
- GameBench Desktop Launcherをダウンロードしてインストールします。
- デバイスをデスクトップに接続します。 USBデバッグを許可するようにデバイスにポップアップが表示される場合があります。
- GameBenchのAndroidアプリでは、解析のためにアプリ(タブレットにインストール済み)を選択できます。
- フレームを秒単位で記録し、レポート(Webダッシュボード、FPS、スクリーンショット、パフォーマンス、バッテリーなどで利用可能)を生成することができます。私もFPS Meter appを使用しているが、それは私らしいサイドノートとして
- https://play.google.com/store/apps/details?id=com.gamebench.metricscollector
- https://www.gamebench.net/
- https://docs.gamebench.net/web-dashboard/getting-started
、
:
リファレンス私の場合は不正確です。アンドロイドアプリケーションのアニメーションが開始されると、29FPSから31FPSになります。予想されるFPSは30FPSです。
https://play.google.com/store/apps/details?id=com.ftpie.fpsmeter&hl=en
- 1. AndroidビューやアプリケーションのFPSをプログラムで測定する方法
- 2. tkinter python.afterでfps(経過時間)を測定する方法は?
- 3. fpsをc#.net winformで測定する方法
- 4. Xamarin、Android:私のアプリに開発者オプションを開く方法
- 5. 私のMacアプリのFPSを簡単に測定する方法はありますか?
- 6. ソフトウェア開発の進捗状況を測定する方法
- 7. Androidを使用してGoogle TVアプリを開発する方法
- 8. ウェブサイト開発中に特定のリソースをキャッシュする方法
- 9. Android Xamarinアプリでのデータ使用量を測定する方法は?
- 10. Androidアプリケーションの開発中にAndroidソースからクラスをインポートする方法
- 11. LinuxとWindowsホストの両方でAndroidアプリを開発する
- 12. WPF Silverlight FPSまたはレンダリング時間を測定する方法は?
- 13. Androidアプリ開発のアイデア
- 14. Androidアプリの開発は何ですか?
- 15. ダミーブックのAndroidアプリ開発ですか?
- 16. 開発中のSpringを指定する方法
- 17. ユーザーの場所を自動的に調整する方法 - Androidアプリの開発
- 18. Androidアプリの消費電力測定
- 19. 開発中にSharePoint Serviceアプリケーションを展開する方法
- 20. Android Studio + IntelliJでAndroidアプリ開発を管理する
- 21. 発見中のBluetooth RSSI測定
- 22. 測定Androidのアクティビティのレンダリング時間の私のAndroidアプリで
- 23. Android Studioでアプリを実行中にDuplicatedErrorが発生する
- 24. 特定のデバイスで心拍センサーの測定を開始する方法NO1 D5。 Androidを実行する4.4
- 25. AndroidでReact Nativeのカスタムネイティブコンポーネントを測定する方法
- 26. ギャラクシーとタブのアプリをアンドロイドで開発する方法
- 27. Ionic 3アプリのパフォーマンスを測定する方法は?
- 28. Android Studio - リファレンス数の測定方法
- 29. 開発中のアプリでNullPointerExceptionを取得する
- 30. 中国のタブレットでAndroidアプリをテストする方法は?
あなたの質問はあまりにも一般的すぎると思います。あなたは、あなたが使っている在庫UIのいくつかについて話していますか、OpenGLのコンテキストなどを実行していますか?後のケースでは、フレームを自分で数えるだけです。 – Mario