我在xna中有一个程序,我正在加载2gb +的数据(不是问题,这是有意的)。它在任何低于1.7gb的情况下都能正常工作,但只要它超过它就会抛出它。
“内存不足,无法继续执行程序。”
或者我还有一次
“内存不足,无法继续执行程序。”
我有8GB的内存,我的GPU有2GB。我的系统肯定没有内存不足,因为我可以加载内存使用率非常高的其他程序,它仍然会以1.7gb结束。有没有解决这个问题?
答案 0 :(得分:2)
您是否将所有数据存储在一个对象中?您可能遇到了CLR限制。
答案 1 :(得分:2)
1)它最有可能运行32位(你可以run taskmgr and be able to tell)
2)即使有足够的可用内存来满足请求,也可能没有足够的连续空闲内存。当您开始耗尽进程的虚拟内存空间时,内存碎片会成为一个问题。
有一篇很好的文章包含这些(和其他)问题:
答案 2 :(得分:2)
见Tim对this answer的评论。我观察到了同样的局限性。由于Windows上的XNA仅限于32位进程,因此加载大量数据(2gb)几乎是不可能的。