在我分配的 JavaScript 内存(例如 ArrayBuffer)中,当我不再对它有任何引用时,GC 会释放它,我理解对吗?
缓冲区或纹理等 WebGL 对象与 GPU 上的内存块相关联,由 gl.bufferData()
或 gl.textureImage2D()
分配。
我想知道:如果我放弃对 WebGLTexture 或 WebGLBuffer 对象的最后引用,它是否会通过 JavaScript VM 自动释放其 GPU 内存块来进行垃圾收集?
最佳答案
是
来自 spec
Note that underlying GL object will be automatically marked for deletion when the JS object is destroyed
但是您应该注意到,在您放弃最后一个引用时该对象可能不会被销毁,因此调用 deleteBuffer
仍然是一个好习惯。
关于javascript - WebGL 对象是否被垃圾收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58499937/