首页 > 解决方案 > WebGL 对象是否被垃圾收集?

问题描述

在我分配的 JavaScript 内存(例如 ArrayBuffer)中,当我不再有 GC 对它的任何引用时,它会被释放,正如我所理解的那样?

gl.bufferData()WebGL 对象(如缓冲区或纹理)与 GPU 上由或分配的内存块相关联gl.textureImage2D()

我想知道:如果我放弃对 WebGLTexture 或 WebGLBuffer 对象的最后引用,它是否会通过 JavaScript VM 自动释放的 GPU 内存块来收集垃圾?

标签: javascriptgarbage-collectionwebgl

解决方案


是的


规格

注意,当JS对象被销毁时,底层的GL对象会被自动标记为删除


但是您应该注意到,在您放弃最后一个引用时,该对象可能不会被销毁,因此调用deleteBuffer.


推荐阅读