0

在我的应用程序中,我创建纹理,渲染它们并延迟读取它们,直到 CPU 绝对需要。

我想知道(我仍然不知道如何),因为我猜测并监控消耗的 GPU 内存是否会调用以readPixels()通过将数据传输到 CPU 来减轻 GPU 的内存消耗?或者在我破坏纹理之前,该内存是否仍会被占用?

4

1 回答 1

1

readPixels只是复制数据。它不会将其从 GPU 中移除。

未向其传递数据(已传递null)的纹理与未向其传递数据的纹理占用相同数量的内存。浏览器只会为您填充零。

纹理停止使用内存的唯一方法是使用gl.deleteTexture. 您还需要删除对它的所有引用(将它从它仍然打开的任何纹理单元中取消绑定,并将它从任何帧缓冲区附件中删除或删除它附加到的帧缓冲区)。

于 2018-08-13T01:21:20.437 回答