![](/img/trans.png)
[英]Android how to measure FPS of a View or Application programmatically
[英]How do I measure FPS of an android application that uses TextureView? (Am using OpenGL)
我的渲染线程中有一个无限循环。 我尝试进行测量,假设每次调用eglSwapBuffers
绘制一个新帧,但这给了我200 fps的结果,这是不可能的,对吧? 刷新率不能超过60?
现在,我正在做同样的事情,但是还使用了SurfaceView的surfaceTexture的surfaceTexture.getTimeStamp()
。 我认为仅当上一次迭代中返回的时间戳与当前迭代中的时间戳不同时,才绘制框架。 可以接受的测量方法吗? 当我不绘图时,这显示为50-55fps。 即循环仅eglSwapBuffers()
和getTimeStamp
调用。
surfaceTexture.getTimeStamp()
似乎给出了正确的结果。 我通过将连续的getTimeStamp()
调用返回的结果之间的所有差加起来来测试它,它等于代码运行的总时间。 这表明没有任何帧被忽略等。
我发现的另一个解决方案是这个Android应用程序 。 我不知道它是如何工作的,但是它给出的结果与上述方法大致相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.