我在一个游戏项目上工作。最近,我们遇到了一个问题,当我们加载/卸载不同场景大约三次时,我们遇到了“bad_alloc”异常。bad_alloc详细介绍?
每当我们加载一个场景时,我们首先将压缩的.zip文件夹加载到内存中,然后从中提取游戏对象。因为我们没有任何内存分析器工具,我简单地使用Process Explorer中的性能图表,看看到底是怎么回事:
- 运行游戏==>〜620 MB
- 装入1号现场= =>〜1.1 GB
- 卸载它==>〜620 MB
- 装入第二场景==>〜1.1 GB
- 卸载它==>〜620 MB
- 装入第三场景==> bad_alloc
我追溯到每个负载的新操作员。压缩文件夹的加载本身需要100〜120 MB的内存,而bad_alloc在第三次加载时会抛出。
我们的平台安装有2GB物理内存。看起来我们在卸载场景后没有留下任何东西。每个压缩文件夹的大小大致相同。但是,第三次加载的新操作员不起作用。
我在想,这个bad_alloc有什么可能的含义?内存不足?或者根本无法分配所需大小的连续块?如果它有几种可能性,我怎么能确定它?
任何帮助是apprecciated,谢谢!
这不是很多。我无法想象过去5年中可以获得四分之一的专业比赛。围绕1gig标记盘旋是很常见的。 – jalf 2010-01-31 15:21:50
@jalf:我玩过的大部分都没有超过Gig。也许我只是玩错了游戏。 :P – GManNickG 2010-01-31 15:57:09