【问题标题】:XNA game will not run in VMWareXNA 游戏无法在 VMWare 中运行
【发布时间】:2015-01-20 18:37:23
【问题描述】:

几个月来,我一直在使用笔记本电脑帮助我在 XNA PC 游戏中测试网络。我已经把我的笔记本电脑卖给了我的室友,他正在搬到中国教英语,所以现在我没有它来帮助我测试我的游戏中的网络/多人游戏。我已经在我的 PC 上设置了 VMWare,并带有 Windows 7 x64 的副本,以尝试使用它来帮助我进行测试。我已经用自己的 ip 设置了它,但是当我尝试运行我的游戏时,它立即崩溃,给我以下问题签名:

Problem Event Name: CLR20r3
Problem Signature 01:   forlorn forest.exe
Problem Signature 02:   1.0.0.0
Problem Signature 03:   54703780
Problem Signature 04:   Microsoft.Xna.Framework.Game
Problem Signature 05:   4.0.0.0
Problem Signature 06:   4e6012e7
Problem Signature 07:   129
Problem Signature 08:   60
Problem Signature 09:   AQRZ5UNGVPAAKLRWFFK35BWUV213BMTN

我试着调查了一下,似乎它可能与图形设备有关。有人提到“NoSuitableGraphicsDeviceException”异常。 VMWare 显示属性显示为:

1. Generic Non-PnP Monitor

及适配器信息芯片类型:

VMWare Virtual SVGA 3D Graphics Adapter

有没有人在 VMWare 中运行 XNA 应用程序时遇到任何问题,或者知道我在尝试在其中运行我的游戏时遇到的这个问题?

【问题讨论】:

    标签: c# xna virtual-machine


    【解决方案1】:

    VM 不喜欢游戏。虚拟机本质上不喜欢运行图形密集型操作,并且总是比在物理机上运行要慢。因此,这将不起作用。

    但是,有一种方法可以做您想做的事情,就像我多次做过的那样:只需在同一台计算机上玩游戏的两个实例!首先,我使用 Visual Studio 启动游戏。然后,我打开游戏构建所在的目录并启动它。只要网络配置正确,应该不会有任何问题。

    【讨论】:

    • hmm 我正在使用 Lidgren 并通过 ip 连接,所以我不确定从我的计算机运行两个副本是否可行。假设我可以尝试输入我自己的 ip 并看到没有尝试过。
    • 我以前做过这个。您应该在本地网络上输入自己的 ip。
    • 嗯,当我在我的计算机上运行两个副本时,它给了我一个 SocketException,说“每个套接字地址通常只允许使用一次”
    • 我假设您将游戏的一个实例用作服务器,另一个用作客户端,是吗?
    • 是的,我有一个充当主机,另一个充当客户端并连接到主机的IP。我构建并安装了主机版本,然后从 VS 运行客户端版本,当我尝试运行客户端副本时,VS 中弹出了该错误。
    【解决方案2】:

    虚拟机不玩游戏。 任何基于 DirectX 的程序(不仅仅是 XNA)都会遇到这个问题。一些虚拟机(如 VirtualBox)中有一些实验性功能可以启用 DirectX/OpenGL,但我在使用它们时运气不佳。

    我建议创建一个非图形化的“测试”游戏,但它会执行所有网络功能并创建预期的消息。这样一来,你就可以在 VM 中运行它而不会遇到这个问题。

    当然,将笔记本电脑或其他廉价计算机用作第二台机器也可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多