所以我创建了一个库来管理使用 webgl 缓冲的数据,它知道如何通过使用单个缓冲区来避免图形卡上的内存分段,它知道如何找到空闲内存中最紧密的部分以在新对象出现时重新填充添加并知道如何,让我告诉它预期需要多大的缓冲区,必要时,如何将一部分内存复制到另一个有更多空间的地方,因为新值被添加到向量中。所以从外面我可以完全忘记垃圾收集,我可以调用一个像 append( 只是将新值添加到数组中的函数),以及另一个函数来释放内存。但是 webgl 目前不支持 copyBufferSubData。webgl2 可以让你做到这一点。
如果没有,我将在使用旧 webgl 时将向量存储在主内存中,并对每种类型执行不同的操作。