将XNA编译为64位

时间:2012-11-21 02:23:00

标签: c# memory xna 64-bit xna-4.0

我正在研究模拟器,它模拟许多物体之间非常复杂的相互作用,我的意思是数百万。

我使用过XNA,因为它可以让我轻松完成,特别是渲染。

我的问题是我在经过几秒钟的模拟后才遇到OutOfMemoryException秒。我很快意识到我的程序只在32位模式下运行,所以我只得到几GB的RAM。

如何在64位模式下运行XNA游戏?

2 个答案:

答案 0 :(得分:3)

XNA过去只是32位。您可以尝试编译为64位,但之后您将遇到问题,因为不会加载任何64位XNA库。我发现试图支持这一切的所有内容都是提醒观众编译为x86的评论。

要编译为x64:右键单击解决方案,然后转到Configuration Manager。从那里选择x64作为您的Active Solution平台。您可能必须创建它,然后选择所有项目为x64。您也可以尝试构建为任何CPU,因为您使用的是64位Windows,它应该自动以64位模式启动。

编辑:我发现我的一个旧VM上安装了XNA 4。似乎没有办法强制它编译为64位。即使我尝试创建一个新平台,它也只允许我选择x86。

答案 1 :(得分:3)

这并没有直接回答这个问题。我已经提出了TyCobb的回答。

我过去遇到过同样的问题。

您是否考虑过切换到SlimDX?它是DirectX的包装器,允许您使用DirectX开发.Net应用程序。根据文件:

SlimDX sports complete support for both 32 and 64 bit targets.

它可能不像XNA那样用户友好,但我认为它可能是一个不错的选择。