提问人:ibe 提问时间:5/1/2016 更新时间:5/1/2016 访问量:212
VAO 删除会导致奇怪的内存问题
VAO deleting causes strange memory problems
问:
我有一个渲染周期,如下所示:导入模型 - >绘制它(一些帧...) - >删除它。为了绘制模型,我使用 vao/vbo/ebo。
现在,在包含以下代码的删除阶段:
glDeleteVertexArrays(1, &vao);
glDeleteBuffers(1, &vbo);
glDeleteBuffers(1, &ebo);
在 Xcode Allocation 工具中进行分析时,我得到了这个
而如果代码写成这样:
glDeleteBuffers(1, &vbo);
glDeleteBuffers(1, &ebo);
glDeleteVertexArrays(1, &vao);
突然它显示:
为什么会这样?我只改变了 / 的顺序,并得到了这个奇怪的“内存泄漏”。所有这 3 行代码都放置在 dctor 中,并且不会分布在整个应用程序中。glDeleteVAO
glDeleteBuffers
此外,在删除 vbo、vao 和 ebo 后,在所有这些情况下,在所有缓冲区上都返回 0。glIsBuffer()
在 OS X El Capitan 上使用 OpenGL 4.1
答: 暂无答案
评论
0
glDeleteVertexArrays()