我不敢保证能降低所有游戏的CPU占用率,我只测试了TX的某一款游戏,但是我觉得方法应该是可以通用的。
确实如大家所理解的,游戏占用CPU时间主要在绘制显示上,一般的逻辑判断其实对CPU占用是很低的,当然对于一些特殊游戏也可能不是这样,但那是特例。就如论坛上很多讨论如何去掉一些与显示有关的人物动作,或者减少一些背景的绘制,但是这些东西需要经验取分析,费时费力,甚至还有hook d3d等等,需要对D3D有一些了解才行。新手基本会忘而却步。
我们换个思路,我们想去掉显示,那需要看谁调用了显示函数,我们直接把调用的显示函数nop掉,是否会更简单?对于一般的程序处理显示的函数不会分布到各处,这样对于程序的维护是需要代价的,虽然我对游戏引擎不是很了解,但是我写过多年嵌入式程序,成熟的完善的程序,基本上执行显示是有一个或几个函数实现的。因此我们只要将这个函数nop掉,显示就会完全去掉,而CPU的占用率自然也降了下来。
确实如大家所理解的,游戏占用CPU时间主要在绘制显示上,一般的逻辑判断其实对CPU占用是很低的,当然对于一些特殊游戏也可能不是这样,但那是特例。就如论坛上很多讨论如何去掉一些与显示有关的人物动作,或者减少一些背景的绘制,但是这些东西需要经验取分析,费时费力,甚至还有hook d3d等等,需要对D3D有一些了解才行。新手基本会忘而却步。
我们换个思路,我们想去掉显示,那需要看谁调用了显示函数,我们直接把调用的显示函数nop掉,是否会更简单?对于一般的程序处理显示的函数不会分布到各处,这样对于程序的维护是需要代价的,虽然我对游戏引擎不是很了解,但是我写过多年嵌入式程序,成熟的完善的程序,基本上执行显示是有一个或几个函数实现的。因此我们只要将这个函数nop掉,显示就会完全去掉,而CPU的占用率自然也降了下来。