【发布时间】:2021-01-24 05:03:33
【问题描述】:
我正在编写一个虚拟纹理应用程序,我正在使用 16384*16384(宽度和高度)的纹理。
所以,最初我创建了一个 16384/16384(宽度/高度)的空纹理。
gl.texImage2d(...., width, height, gl.RGBA, ..., null)
我有多个 1024*1024 的 jpeg 图像,因此能够正确填充图像而不会出现任何问题。
但我看到的是当我使用
gl.texSubImage2D(.........., imageelement) 需要 10-30 毫秒
但如果我使用gl.texSubImage2D(.........., arraybuffer),则需要0-2毫秒。
我已经完成了这个link 并尝试更改我的应用程序中的参数,但没有性能提升。
在使用 gl.texImage2D 或 gl.texSubImage2d 获取图像(jpgs/bmps/pngs)或数组缓冲区(Uint8Array/Uint16Array)之后,WebGL 在 GPU 中究竟发生了什么。 是否涉及任何需要额外时间的转换。
【问题讨论】: