代码之家  ›  专栏  ›  技术社区  ›  Freakishly

如何在一个简单的Direct2d应用程序中计算fps?

  •  0
  • Freakishly  · 技术社区  · 14 年前

    嘿,伙计们,谢谢你们的关注。我已经从msdn构建了简单的d2d应用程序,可用 here . 现在,我要绘制一些基本体并添加一个fps计数器。

    我有一个onrender()事件,在其中绘制矩形等。我还调用了rendertextinfo(),在这里我调用renderTarget->drawtext。在哪里添加逻辑来计算每秒的帧数?

    非常感谢。

    1 回复  |  直到 14 年前
        1
  •  1
  •   R. Martinho Fernandes    14 年前

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

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

    如果在绘制帧时对其进行计数,则只需在绘制帧时获取当前时间,并从中减去最后一帧的绘制时间。这让你有时间来画这个框架。它的倒数(即1/x)是帧速率。

    如果按固定的时间间隔计算,则需要在每个间隔触发一些事件,以检查自上次触发事件以来绘制了多少帧。除以你的时间间隔(如果是一秒钟,你当然不需要除以),这就是你的fps计数。每次画框时别忘了增加一些计数器。