大家好,感谢您的查看。我已经从MSDN构建了简单的D2D应用程序,可用 这里. 。现在,我想绘制一些原语,并添加FPS计数器。

我有一个onRender()事件,我在其中绘制矩形等等。我还打电话给RenderTextInfo(),我在其中调用RenderTarget-> drawText。我在哪里添加以计数每秒帧数的逻辑?

非常感谢。

有帮助吗?

解决方案

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

基本上,您有两种选择。绘制框架时,要么更新帧速率,要么每秒(或任何其他时间间隔)。

如果您在绘制框架时对其进行计数,则可以在绘制框架时简单地获取当前时间,然后从绘制最后一帧的时间中减去它。这让您花时间绘制此框架。它的倒数(即1/x)是帧率。

如果您按常规时间间隔进行计数,则需要在每个间隔内进行一些事件触发,以检查自该事件上一次触发以来绘制多少帧。除以您的间隔(如果是一秒钟,您当然不需要划分),这就是您的FPS计数。每次绘制框架时,都不要忘记增加一些计数器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top