在JavaScript中,我分配的内存(例如ArrayBuffer)在没有任何引用时会被GC释放,我理解得没错吧?
WebGL对象(如缓冲区或纹理)与由gl.bufferData()或gl.textureImage2D()分配的GPU上的内存块相关联。
我想知道:如果我放弃对WebGLTexture或WebGLBuffer对象的最后一个引用,它是否会随着JavaScript VM自动垃圾回收并释放其GPU内存块?
WebGL对象(如缓冲区或纹理)与由gl.bufferData()或gl.textureImage2D()分配的GPU上的内存块相关联。
我想知道:如果我放弃对WebGLTexture或WebGLBuffer对象的最后一个引用,它是否会随着JavaScript VM自动垃圾回收并释放其GPU内存块?
gl.bufferData()
和gl.textureImage2D()
好像并没有返回任何引用对象。 - apple applegl.createBuffer()
创建的,稍后使用gl.bufferData()
为该引用分配了一个内存块。我们还需要考虑到我取消绑定了缓冲目标gl.ARRAY_BUFFER
和gl.ELEMENT_ARRAY_BUFFER
。 - Danny Raufeisen