【问题标题】:How to use Android dumpsys framestats如何使用 Android dumpsys framestats
【发布时间】:2020-12-21 19:37:11
【问题描述】:

我想测量我的 Android 增强现实应用的 FPS。我正在尝试关注 documentation 使用 dumpsys framestats。

这是我的程序:

  1. 通过 USB 将设备 (Galaxy Tab S5e) 连接到计算机 (MacBook Pro)
  2. 启动应用程序
  3. 打开终端输入adb shell dumpsys gfxinfo <PACKAGE_NAME> framestats

我得到了结果。文档说我应该得到一些 CSV 数据(我这样做了)。这里是:

Flags,IntendedVsync,Vsync,OldestInputEvent,NewestInputEvent,HandleInputStart,AnimationStart,PerformTraversalsStart,DrawStart,SyncQueued,SyncStart,IssueDrawCommandsStart,SwapBuffers,FrameCompleted,DequeueBufferDuration,QueueBufferDuration,
1,270900288236110,270901404902732,9223372036854775807,0,270901406732543,270901407052751,270901407062751,270901480932022,270901488003689,270901488511137,270901489180876,270901502575459,270901504554157,1520000,1026000,
1,270901416955482,270901500288812,9223372036854775807,0,270901507061241,270901507131709,270901507732074,270901524054574,270901524125251,270901524430720,270901524804834,270901531068480,270901534144522,3249000,1831000,

首先,为什么只有两行,如果:

“此输出的每一行代表应用程序生成的一帧”

如果我等待然后重新运行命令,我再次只得到 2 行。有时值已更新,但有时它们没有...

文档说我可以计算帧时间:

(FRAME_COMPLETED - INTENDED_VSYNC)

所以,我想我可以在说 1 分钟后运行 ADB 命令,输出大量帧时间然后绘制它,但如果我一次只输出 2 帧......并且如果重新运行 ADB命令不更新数据...如何测量帧时间?我在这里错过了什么?

【问题讨论】:

标签: android adb dumpsys


【解决方案1】:

我正在写我的学士论文并使用这个 adb 命令来获取帧率。根据我的经验,帧率数据仅在屏幕更改时更新。例如,您有一个很长的清单。如果不滚动,只能看到有限的帧率数据,但如果滚动,帧率数据会更多(但最大帧数为 122)

【讨论】:

    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 2013-07-03
    • 1970-01-01
    • 2013-07-27
    相关资源
    最近更新 更多