我想要计算FPS来跟踪我的应用程序性能。我已经阅读了两种方法:计算生成的帧数和测量帧持续时间,然后将一秒除以这个值,得到平均计算。哪种方法更好?为什么?
发布于 2018-07-09 15:35:33
方法的选择取决于目标。如果目标是估计性能,那么只测量非常特定的预编程序列的总时间和总帧数可能更合理。
当FPS计量器用作用户的信息时,FPS信息不应更新太快,而应定期更新。
这取决于计时器的精确度。假设我们有一个精度为1ms,帧速率为60FPS的计时器。因此,每个帧将是16-17毫秒,提供6%的误差。这对于记录信息以找出某些特定帧是否减慢FPS是有用的,而平均FPS将保持相对较高,但是如果向用户显示信息,则如此高速的更新将不具有信息性。
如果帧速率是通过对恒定时间段内的整数帧进行计数来计算的,则缺点是: FPS信息更新缓慢并且不可能测量分数FPS。FPS仪表更新周期的缩短也会降低其精度。
对一定数量的帧进行计数可以解决这个问题,但如果FPS下降,则会降低更新率。
我经常使用一种组合的方法来显示FPS: 1)记住开始时间2)显示帧并增加计数器,直到3)如果从开始时间起经过的时间超过了任意阈值(例如0.5秒),则计算FPS =帧数/经过的时间。然后,当前时间成为新的开始时间
https://stackoverflow.com/questions/51239947
复制相似问题