最近我一直在为一款使用 DirectX 后端进行渲染的游戏编写机器人。我已经设法“破解”游戏以允许我运行多个实例。不幸的是,这严重影响了我计算机的 CPU/RAM 使用率。我想优化和减少每个实例消耗的资源量。因此,我有几个问题:
- 如果我停止 DirectX 渲染,这会提高性能吗?
- 我该怎么做?
我有一些关于如何做到这一点的想法 - 我猜我可以 Hook 渲染函数并强制它返回而不做任何事情。不过我的问题是 - 这样做会显着提高性能吗?
如有任何帮助,我们将不胜感激。
最佳答案
第一件事:不,立即从渲染调用返回不会减少 CPU 负载,因为您正忙于等待。您必须操纵您的主循环,使其每次都等待输入或一个小的超时。这给了其他实例时间。第一次尝试时,您可以在其中装一个 Sleep(少量)。当然,这会降低每个实例的 FPS,但它会让其他应用程序运行得更流畅。
其次:不,如果降低帧速率,RAM 使用量不会减少。为了减少内存负载,您需要找到更复杂的方法,例如在不再需要纹理时删除它们等。
关于optimization - DirectX - 停止渲染以减少使用的资源量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6904880/