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