一个新的XNA游戏项目应用程序在其窗口处于活动状态时消耗相当多的CPU百分比.在我的台式PC上,它占据了2核处理器核心的30%左右.当窗口失去焦点时,游戏进入空闲模式并消耗大约1%的
在我最近使用XNA进行的图像查看器应用程序中,在没有图像处理的情况下重绘帧没有多大意义,因此我使用SuppressDraw()方法,顾名思义,它禁止花费资源来绘制下一帧,显示最后绘制的帧.但仍然存在一个问题,即应用程序不断浪费CPU来进行非常简单的输入更新.
当XNA应用程序不需要太多时,如何减少它的CPU使用率?
从 this问题引用According to this discussion on XBox Live Indie Games forum , apparently on some processors (and OS-s) XNA takes up 100% CPU time on one core when the default value of Game.IsFixedTimeStep is used.
A common solution (one that worked for me as well) is to put the following in your Game constructor:
IsFixedTimeStep = false;
更多细节here