我已经通读了源代码,并试图在网上研究它,但我在完全理解它方面遇到了障碍。
我的意思是,它与区域分配有什么不同?
“区域”是用于小内存,而“块”是用于模型等较大的东西吗?
谢谢
发布于 2009-02-09 02:16:59
是的,块用于较大的静态分配,例如纹理和几何图形,而区域用于较小的(可能是易失性的)分配。
有两个(或更多!)像这样的区域是游戏中的一种常见模式。这有两个原因;
1)大多数游戏会预先分配运行所需的内存,然后从该空间执行自己的分配。这不仅可以比使用OS分配器更快,而且还可以阻止OS将纹理/几何图形/任何内容分页到磁盘。使用您自己的分配器还可以更容易地创建代码来跟踪内存模式和泄漏。
2)将你的小的和/或动态的分配保持在一个单独的区域中,以避免分割用于较大分配的区域。碎片是以前的小分配留下的“空洞”,导致连续的空闲空间量变得小于总的空闲空间,并且是正在突破内存限制的游戏的祸根:)
https://stackoverflow.com/questions/520714
复制相似问题