我使用console.out.writeline()来打印属于XNA游戏中不同精灵的坐标.但几秒钟后,比赛开始变得非常缓慢,几乎停止了.
(当不写入控制台时,性能没有问题).(精灵的位置写在每个更新方法中)
有没有办法在不破坏游戏性能的情况下写入控制台?
您是否能够写入日志文件而不是控制台?由于缓冲和缺少滚动,显示等原因,这可能会更快.
在运行时你真的有一个控制台吗?如果是这样,请在您不感兴趣时尽量减少它.我的猜测是导致问题的滚动.
编辑:好的,似乎有些证据是有道理的.
一些测试...我没有安装XNA,但是不同的写入控制台的方式仍然很有趣.我将数字0-99999写入各种控制台:
作为WinForms应用程序,在调试器下,到Visual Studio控制台:135000ms,无论控制台是可见的还是被遮盖的.
作为WinForms应用程序,在调试器下,写入文件:160ms
作为控制台应用程序,不在调试器下,控制台最小化:4149ms
作为控制台应用程序,不在调试器下,控制台未最小化:14514ms
正如您所看到的,Visual Studio控制台非常慢,非最小化的"普通"控制台是最慢的,最小化的控制台是合理的,并且写入文件非常快.
我坚持我的建议是尝试写入文件而不是控制台,否则如果它是一个独立的控制台,请尝试在大多数情况下将其最小化.