Performance FPS测量

Performance FPS测量,performance,frame-rate,Performance,Frame Rate,我想计算FPS以跟踪我的应用程序性能。我读过两种方法:计算生成的帧数和测量帧持续时间,然后用一秒除以这个值得到平均值。哪种方法更好?为什么?方法的选择取决于目标。如果目标是评估性能,那么仅测量特定预编程序列的总时间和总帧数可能更合理 当FPS仪表用作用户信息时,FPS信息不应更新得太快,而应定期更新 事情取决于计时器的准确性。假设我们有一个精度为1ms,帧速率为60FPS的计时器。因此,每个帧将为16-17毫秒,提供6%的误差。 这可能有助于记录信息,以确定某些特定帧是否会减慢FPS,而平均FP

我想计算FPS以跟踪我的应用程序性能。我读过两种方法:计算生成的帧数和测量帧持续时间,然后用一秒除以这个值得到平均值。哪种方法更好?为什么?方法的选择取决于目标。如果目标是评估性能,那么仅测量特定预编程序列的总时间和总帧数可能更合理

当FPS仪表用作用户信息时,FPS信息不应更新得太快,而应定期更新

事情取决于计时器的准确性。假设我们有一个精度为1ms,帧速率为60FPS的计时器。因此,每个帧将为16-17毫秒,提供6%的误差。 这可能有助于记录信息,以确定某些特定帧是否会减慢FPS,而平均FPS将保持相对较高的速度,但如果向用户显示信息,则高速更新将不会提供信息

如果帧速率是通过计算恒定时间段内的整数帧数来计算的,那么缺点是:FPS信息更新缓慢,无法测量分数FPS。FPS仪表更新周期的缩短也会降低其精度

计算某些预定义帧数的持续时间可以解决此问题,但如果FPS下降,则会降低更新率

我经常使用组合方法来显示FPS: 1) 记得开始时间吗 2) 显示帧并增加计数器,直到 3) 如果从开始时间起经过的时间超过任意阈值(例如0.5秒),则计算FPS=[帧数]/[经过的时间]。然后,当前时间变为新的[开始时间]