4

一个新的 XNA 游戏项目应用程序在其窗口处于活动状态时会消耗相当多的 CPU 百分比。在我的台式电脑上,它大约是 2 核处理器的一个核心的 30%。当窗口失去焦点时,游戏进入空闲模式并消耗大约 1% 的 CPU。

在我最近使用 XNA 制作的图像查看器应用程序中,当没有进行图像处理时重绘帧没有多大意义,所以我使用的SuppressDraw()方法,顾名思义,抑制了绘制下一帧的资源消耗,而是显示最后绘制的帧。但是,仍然存在应用程序不断浪费 CPU 进行非常简单的输入更新的问题。

当 XNA 应用程序不需要太多 CPU 时,如何减少它的 CPU 使用率?

4

1 回答 1

4

引用这个问题

根据 Xbox Live Indie Games 论坛上的讨论,显然在某些处理器(和 OS-s)上,当使用 Game.IsFixedTimeStep 的默认值时,XNA 在一个内核上占用了 100% 的 CPU 时间。

一个常见的解决方案(也适用于我)是将以下内容放入您的 Game 构造函数中: IsFixedTimeStep = false;

更多细节在这里

于 2013-05-23T05:48:17.653 回答