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