首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁能解释一下Quake3的“大块头”?

谁能解释一下Quake3的“大块头”?
EN

Stack Overflow用户
提问于 2009-02-06 15:29:14
回答 1查看 1.1K关注 0票数 3

我已经通读了源代码,并试图在网上研究它,但我在完全理解它方面遇到了障碍。

我的意思是,它与区域分配有什么不同?

“区域”是用于小内存,而“块”是用于模型等较大的东西吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-02-09 02:16:59

是的,块用于较大的静态分配,例如纹理和几何图形,而区域用于较小的(可能是易失性的)分配。

有两个(或更多!)像这样的区域是游戏中的一种常见模式。这有两个原因;

1)大多数游戏会预先分配运行所需的内存,然后从该空间执行自己的分配。这不仅可以比使用OS分配器更快,而且还可以阻止OS将纹理/几何图形/任何内容分页到磁盘。使用您自己的分配器还可以更容易地创建代码来跟踪内存模式和泄漏。

2)将你的小的和/或动态的分配保持在一个单独的区域中,以避免分割用于较大分配的区域。碎片是以前的小分配留下的“空洞”,导致连续的空闲空间量变得小于总的空闲空间,并且是正在突破内存限制的游戏的祸根:)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/520714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档