0

我在 xna 中有一个程序,我正在加载 2gb+ 的数据(这不是问题,它的意思是)。它在任何低于 1.7gb 的情况下都可以正常工作,但一旦超过它就会抛出这个。

“内存不足,无法继续执行程序。”

或者我有其他时间

“内存不足,无法继续执行程序。”

我有 8gb 的内存,我的 GPU 有 2gb。我的系统肯定没有内存不足,因为我可以加载其他内存使用率非常高的程序,它仍然会以 1.7gb 结束。有解决办法吗?

4

3 回答 3

2

您是否将所有数据存储在一个对象中?您可能会遇到 CLR 限制。

查看这篇文章:CLR 对象大小限制

于 2012-05-06T03:05:15.980 回答
2

1)它最有可能运行 32 位(您可以运行 taskmgr 并能够分辨

2) 即使有足够的空闲内存来满足请求,也可能没有足够的连续空闲内存。当您开始耗尽进程的虚拟内存空间时,内存碎片成为一个问题。

有一篇好文章包含这些(和其他)问题:

调查内存问题

于 2012-05-06T04:18:05.663 回答
2

请参阅蒂姆对此答案的评论。我观察到了同样的限制。由于 Windows 上的 XNA 仅限于 32 位进程,因此加载这么多数据 (2gb) 几乎是不可能的。

于 2012-05-08T15:08:40.390 回答