簡體   English   中英

如何在應用程序開發期間測量 Android 上的 FPS

[英]How to measure FPS on Android during app development

有沒有辦法(可能是一些應用程序、黑客、庫)在 Android 應用程序開發過程中測量每秒幀數 (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 信息的交互式視圖。

在此處輸入圖片說明

請注意,附加調試器的性能會很差。

在我自己的 Android 游戲中,可以使用android.os.SystemClock測量幀時間。 也就是說,您每幀調用一次SystemClock.elapsedRealtime()從前一幀中減去該值。 由於elapsedRealtime()以毫秒為單位,計算幀率就像1000.0 / frametime一樣簡單。

如果面向 API 級別 16 或更高級別(Jelly Bean),您可以使用Choreographer#postFrameCallback將代碼發布到正在進行的框架中。

另請注意,幀時間通常比幀速率更能衡量性能。 1000fps 和 1200fps 之間的差異與 60fps 和 61fps 之間的差異的時間量相同(大約,但可能小於)

我已經使用GameBench對一個 android 應用程序進行 FPS 分析(它不是游戲,我想在我的應用程序的動畫開始運行時檢查 FPS)。 GameBench 捕獲關鍵幀速率 (FPS) 指標,這是 UX 流動性的最佳客觀指標。

我的要求是在我的 android 應用程序的動畫啟動時驗證 FPS 為 30FPS。

我已經使用 GameBench 工具提供的 Graph 報告驗證了以下內容,

  • 動畫開始時,FPS 從 0 FPS 移動到 30FPS。
  • 當動畫結束時 FPS 從 30FPS 移動到 0 FPS

見截圖。

在此處輸入圖片說明

要使用此工具,您必須安裝一個 android 應用程序和一個桌面啟動器。

  1. 在您的 android 設備中安裝 GameBench 應用程序。
  2. 使用電子郵件地址注冊 GameBench 並安裝桌面應用程序。
  3. 下載並安裝 GameBench 桌面啟動器。
  4. 將設備與桌面連接。 您可能會在您的設備上收到一個彈出窗口,要求您允許 USB 調試
  5. 在 GameBench Android 應用程序中,您可以選擇應用程序(我已經安裝在平板電腦上)進行分析。
  6. 然后你可以記錄每秒幀數並生成報告(它也可以在網絡儀表板中使用,FPS、屏幕截圖、性能、電池等)。

參考:

  1. https://play.google.com/store/apps/details?id=com.gamebench.metricscollector
  2. https://www.gamebench.net/
  3. https://docs.gamebench.net/web-dashboard/getting-started

作為旁注,

我也使用過FPS Meter 應用程序,但在我的情況下似乎不准確。 當我在 android 應用程序中的動畫啟動時,得到 29FPS 到 31FPS。 預期 FPS 為 30FPS。

https://play.google.com/store/apps/details?id=com.ftpie.fpsmeter&hl=en

Playstore 中有一些應用程序可以測量游戲會話的 FPS。 請查看 GameBench。 它可以測量任何游戲在玩時的性能,您可以將 FPS 下降與屏幕上呈現的內容相關聯。

到目前為止,在Android上測量FPS的最簡單,最簡單的方法是使用GameBench Android或桌面應用程序,或者在任何Android應用程序開發公司的幫助下進行。 GameBench負責查詢正確的OS服務並返回FPS值。 GameBench返回的FPS指標已得到包括Google和手機制造商在內的許多合作伙伴的驗證。 因此,您可以放心使用最少的設置獲得准確的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM