c# - Xna调试

标签 c# debugging xna console.out.writeline

我使用 console.out.writeline() 打印属于 XNA 游戏中不同 Sprite 的坐标。但几秒钟后,游戏开始变得非常缓慢,几乎停止。
(当不写入控制台时,性能没有问题)。 ( Sprite 的位置写在每个更新方法中)

有没有办法在不破坏游戏性能的情况下写入控制台?

最佳答案

你能写日志文件而不是控制台吗?由于缓冲和缺少滚动、显示等,这可能会更快。

当它运行时,你真的有一个控制台吗?如果是这样,请在您不感兴趣时​​尝试将其最小化。我的猜测是滚动导致了问题。

编辑:好的,似乎有一些证据是有序的。

一些测试...我没有安装 XNA,但是写入控制台的不同方式仍然很有趣。我将数字 0-99999 写入各种控制台:

  • 作为 WinForms 应用程序,在调试器下,到 Visual Studio 控制台:135000 毫秒,无论控制台是可见的还是被隐藏的。
  • 作为 WinForms 应用程序,在调试器下写入文件:160 毫秒
  • 作为控制台应用程序,不在调试器下,控制台最小化:4149 毫秒
  • 作为控制台应用程序,不在调试器下,控制台未最小化:14514 毫秒

因此,正如您所见,Visual Studio 控制台非常慢,非最小化的“普通”控制台次之最慢,最小化的控制台相当笨拙,并且写入文件非常快。

我坚持我的建议,尝试写入文件而不是控制台,否则如果它是一个独立的控制台,请尽量在大部分时间将其最小化。

关于c# - Xna调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/512401/

相关文章:

c# - 使用 select 语句后将值存储在变量中

c# - 如何创建不需要管理员访问权限的 Windows 安装程序 MSI

c++ - qt 应用程序崩溃但不容易重现,我已经捕获了转储堆栈以及如何通过堆栈查找源代码

javascript - 在 Internet Explorer 中调试 Javascript : display not updating

c# - 偶尔 10 毫秒的延迟是否适合 60 fps?

c# - 如何在 3D 地形上创建 "scorched area"?

c# - 反序列化 Avro Spark

c# - Azure 服务总线/Service Fabric 消息未从队列中删除

c++ - 调试器什么时候会撒谎?

XNA key 编号 1