在 Android 相机上测量 fps 的准确方法
Accurate way to measure fps on Android camera
我尝试了两种不同的方法来计算 fps:
- 通过SystemClock.elapsedRealtime()和fps = 1000 / timeDiff
求帧时间差
- 计算开始后的时间差除以抓取的帧数。
观察
- 方法一:fps疯狂波动,从15跳到40再跳到20,再跳到30,以此类推。
- 它更稳定(我可以看到它 ~ 30fps )但它不反映最新的 fps 因为它只是长 运行 平均 fps。
我的问题是计算 fps 的最佳公式是什么?
ps: 我用的是Camera2接口
谢谢。
执行第一种方法,但在最后 10 帧(或 5 帧,这是个人喜好问题,但不要在较长范围内取平均值)取平均值。这样它就不太容易出现波动。
在我看来,方法 2 会隐藏许多局部的细微差别,您最终会通过大量平均来消除所有细节。
我尝试了两种不同的方法来计算 fps:
- 通过SystemClock.elapsedRealtime()和fps = 1000 / timeDiff 求帧时间差
- 计算开始后的时间差除以抓取的帧数。
观察
- 方法一:fps疯狂波动,从15跳到40再跳到20,再跳到30,以此类推。
- 它更稳定(我可以看到它 ~ 30fps )但它不反映最新的 fps 因为它只是长 运行 平均 fps。
我的问题是计算 fps 的最佳公式是什么?
ps: 我用的是Camera2接口
谢谢。
执行第一种方法,但在最后 10 帧(或 5 帧,这是个人喜好问题,但不要在较长范围内取平均值)取平均值。这样它就不太容易出现波动。
在我看来,方法 2 会隐藏许多局部的细微差别,您最终会通过大量平均来消除所有细节。