首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存池算法

内存池算法
EN

Stack Overflow用户
提问于 2011-05-09 03:45:49
回答 2查看 1.2K关注 0票数 3

我正在寻找更智能的算法来处理OpenGL中的VBO。

目前,我将每个模型存储在4MB的VBO中,如果模型大于4MB,则将其单独存储。存储对象,以便将模型汇集在一起,以减少绑定的数量。

我遇到的问题是如何清理未使用的VBO,这些VBO使用的很少。任何关于我如何更好地管理这些内存池的资源都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-09 07:00:43

VBO不像常规内存,不需要任何复杂的“内存管理”。你分配一个自己的,适当大小的VBO为每个不同的网格,并完成。任何试图智胜司机的尝试都只会导致较差的性能。

此外,尝试使您的VBO尽可能大也没有好处。事实上,根据我的经验,大约0.5k到5k个顶点的中等大小的VBO效果最好。

票数 1
EN

Stack Overflow用户

发布于 2011-05-09 07:47:32

我原本有和你一样的东西。我在大约100行代码中实现了一个简单的freelist,以便释放的VBO段可以重用。它显着减少了VBO的重新分配,这给我带来了帧故障。我使用最佳匹配算法进行分配,因为我有许多恰好具有相同数量的顶点和面的网格。

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

https://stackoverflow.com/questions/5929862

复制
相关文章

相似问题

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