Mik*_*e S 5 c# memory timer while-loop thread-sleep
我正在用C#编写一种游戏,我想知道什么是更好的内存使用方法。现在我有了它,因此它经历了一个while循环,并且在游戏运行时它将检查某些事情(此人已死等),睡一秒钟,然后重试。游戏结束后,将while设置为false并退出该方法。计时器会是更好的方法吗?有时在运行此游戏时会注意到内存问题。
该while循环的方法可能不是你的问题。 Timer实际上比这种方法重一点,会消耗更多的系统资源,但这将是一次性分配。换句话说,将主循环代码从一种结构更改为另一种结构不太可能显着改变应用程序的内存配置文件。
您是否尝试过分析应用程序的内存使用情况?您可能会保留不再需要的对象。探查器可能能够帮助您确定位置。
(如果您好奇,使用 aTimer可能会对性能产生非常小的影响,因为每次迭代都会导致函数指针调用,CPU 和 JIT 编译器无法很好地优化。使用while循环意味着您的代码始终在运行;Thread.Sleep()可以很好地优化调用,因为它不是通过函数指针。考虑到这种Timer方法也可能导致代码可读性较差,我强烈建议您继续使用while循环。)
| 归档时间: |
|
| 查看次数: |
5269 次 |
| 最近记录: |