![](/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.