在我的应用程序中,我创建纹理,渲染纹理并延迟从它们读取直到CPU绝对需要。
我想知道(而且我仍然不知道如何),因为我猜测并监视消耗的GPU内存是否可以通过向readPixels()
的调用通过将数据传输到GPU来减轻GPU的内存消耗。中央处理器?还是在我破坏纹理之前仍会占用内存?
答案 0 :(得分:1)
readPixels
仅复制数据。它不会将其从GPU中删除。
不传递数据的纹理(传递null
)与不传递数据的纹理占用相同的内存。浏览器只为您填充零。
纹理停止使用内存的唯一方法是使用gl.deleteTexture
将其删除。您还需要删除对其的所有引用(将其与尚在使用的任何纹理单元解除绑定,并从任何帧缓冲区附件中删除它,或者删除其所附着的帧缓冲区)。