Rom*_*nok 25 performance android
有没有办法(可能是一些应用程序,黑客,库)来测量Android应用程序开发期间的每秒帧数(FPS)?
Nic*_*nko 27
您可以使用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);
}
}
Run Code Online (Sandbox Code Playgroud)
您将在屏幕顶部看到包含当前FPS信息的交互式视图.
Rob*_*ani 16
请注意,附加调试器后性能会很差.
从我自己的Android游戏中,可以测量帧时间android.os.SystemClock
.也就是说,SystemClock.elapsedRealtime()
每帧调用一次并从前一帧中减去该值.由于elapsedRealtime()
以毫秒为单位测量,因此计算帧速率非常简单1000.0 / frametime
.
您可以使用Choreographer#postFrameCallback
if level level 16或更高版本(Jelly Bean)将代码发布到正在进行的框架中.
另请注意,帧时间通常比帧率更好地衡量性能.1000fps和1200fps之间的差异与60fps和61fps之间的差异相同(大约可能小于那个)
我已经将GameBench用于Android应用程序的FPS分析(它不是游戏,我想在我的应用程序的动画开始运行时检查FPS).GameBench捕获关键帧速率(FPS)指标,这是衡量用户体验流动性的最佳客观指标.
我的要求是在我的Android应用程序的动画开始时验证FPS是30FPS.
我已经使用GameBench工具提供的Graph报告验证了以下内容,
见截图.
要使用此工具,您必须安装Android应用程序和桌面启动器.
参考:
作为旁注,
我也使用过FPS Meter应用程序,但在我的情况下似乎不准确.当Android应用程序中的动画启动时,得到29FPS到31 FPS.预计FPS为30FPS.
https://play.google.com/store/apps/details?id=com.ftpie.fpsmeter&hl=en
归档时间: |
|
查看次数: |
40738 次 |
最近记录: |