如何在简单的Direct2D应用程序中计算fps?

时间:2010-09-15 00:36:53

标签: msdn frame-rate direct2d

嘿伙计们,谢谢你们。我已经从MSDN构建了简单的D2D应用程序,可用here。现在,我想绘制一些基元并添加一个fps计数器。

我有一个OnRender()事件,我绘制矩形等等。我还调用了RenderTextInfo(),我调用了RenderTarget-> DrawText。我在哪里添加用于计算每秒帧数的逻辑?

非常感谢。

1 个答案:

答案 0 :(得分:1)

我不知道确切的Direct2D内容,但这可能有所帮助。

基本上,你有两个选择。您可以在绘制帧时更新帧速率,也可以每秒(或任何其他时间间隔)更新帧速率。

如果在绘制框架时计算它,可以在绘制框架时简单地获取当前时间,并在绘制最后一帧时减去它。这可以让你花时间绘制这个框架。它的倒数(即1 / x)是帧速率。

如果按常规时间间隔计算,则需要在每个间隔触发一些事件,以检查自上次触发事件以来绘制的帧数。除以你的间隔(如果它是一秒钟,你当然不需要分开),这就是你的fps计数。每次画一帧时都不要忘记增加一些计数器。