FPS testing in android application

时光怂恿深爱的人放手 提交于 2020-01-01 02:35:11

问题


How can an android application developer test FPS (Frames per second) for their application? I'm talking about general application, not game.

It can be on emulator or phone.

I've been looking for this but have not found a way. It would be great, if any developer can shed light on this.


回答1:


As mention by Guykun and kcoppock, if you are only using the View widgets or Canvas you normally don't look for FPS to determine visual performance.

As you don't mention what you are doing other than 'not a game' you may want to review how Android does drawing.

http://developer.android.com/guide/topics/graphics/2d-graphics.html

Most of the performance issues come from doing stuff on the UI thread. Use Strict Mode for finding problems.

http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html

Also use the tools to find performance hot spots:

http://developer.android.com/guide/developing/debugging/debugging-tracing.html

http://developer.android.com/guide/developing/debugging/debugging-ui.html

[Edit August 2017: Google has improved the training documentation regarding performance]

https://developer.android.com/training/best-performance.html

And if you want more details of what's going on under the hood see the Google IO session on what they did for Hardware Accelerated Rendering

http://www.youtube.com/watch?v=v9S5EO7CLjo

[Post Google IO 2012 Update]

For Jelly Bean, Google has done additional work on UI performance. See the Google IO 2012 session:

http://www.youtube.com/watch?v=Q8m9sHdyXnE




回答2:


You can use TinyDancer

For details please review my answer here




回答3:


There are apps available in the marketplace that can measure FPS of other games. Please try GameBench for instance and it can show you the FPS.

[Disclaimer]: I am one of the founders of GameBench.




回答4:


I have used GameBench for FPS Analysis of an android application(it is not a game, I wanted to check the FPS when an animation of my app starts running). GameBench captures key frame rate (FPS) metrics, which are the best objective indicator of the fluidity of a UX.

My requirement was to verify the FPS to be 30FPS when an animation of my android application starts.

I have verified the following with the Graph report provided by the GameBench tool,

  • When the animation starts, the FPS moved from 0 FPS to 30FPS.
  • When the animation ends the FPS moved from 30FPS to 0 FPS

See screenshot.

To use this tool, you have to install an android application and a desktop launcher.

  1. Install the GameBench application in your android device.
  2. Register to GameBench using an email address and install the desktop application.
  3. Download and install the GameBench Desktop Launcher.
  4. Connect the device with the desktop. You may receive a pop-up on your device asking you to allow USB Debugging
  5. In the GameBench Android app, you can select the app(which I already installed on the tablet) for the analysis.
  6. Then you can record the Frame per seconds and generate the report(its available in web dashboard too, the FPS,screenshot, performance,battery etc).

Reference:

  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

As a side note,

I have used FPS Meter app also, but it seems inaccurate in my case. Got 29FPS to 31 FPS when my animation in the android application starts. Expected FPS is 30FPS.

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



来源:https://stackoverflow.com/questions/10983486/fps-testing-in-android-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!