, 直接崩溃了, 100MB~200MB
之前我是用XACT的, FMOD本以为是差不多的东西, 就没怎么在意, 结果摔一跟头
细细的去读了一下文档, 发现有3点:
FMOD::Memory_Initialize...可以把FMOD的内存分配器换成自己的, 方便统计各模块的内在使用情况
这个函数需要链接fmodex的lib, 只有fmod event的lib不行的
这步可选, 但是我们自己的内存分析工具对于自己内存模块分配的比较好分析..., 所以还是定制了一下
FMOD::Event
播放声音会分配一些内存, 如果你不进行回收的话, FMOD是不会释放的, 除非你把整个工程(.fev)unload掉
一般关卡式的游戏才会使用切换工程的方式管理...把压缩过的音频数据解压到内存再播放. 要知道一首背景音乐解压完有几十MB...
检查发现我们的SoundBank竟然都设置成了"Decompress into memory", 汗死....跟音效师做了个约定: 音效使用"Load into memory" + "ADPCM", 音乐使用"Stream from disk"+ "MP3"
经过以上改动, 正常游戏FMOD占用的内存一般在3MB