框架有没有类似THREE.js的readRenderTargetPixels读取渲染的像素的方法。
-
THREE.js的读取渲染像素的方法,性能不太理想。1080P50还可以,超过了比如4K无法在20ms内完成一帧的读取。此框架有没有类似的方法,如果有此框架基于WEBGPU是否能有效的改善读取的速度。
-
感谢反馈,类似的读取像素或截屏的API会在后续版本中加入
不过,WebGPU 对于 CPU 和 GPU 的数据读写速度可能并不会有额外的帮助。Three 中也是使用 WebGL/2 原生 readPixels 将渲染贴图buffer copy到 CPU/JS 中,这其中 Three 并没有添加额外的处理导致额外的时间,最终传输速度基本取决于设备的 GPU 到 CPU 的物理读取带宽。
使用 WebGPU 并不会加速这一过程,WebGPU 能带来的优势是异步IO,也就是将
readRenderTargetPixels
变成异步读取,减少阻塞主线程的渲染,所消耗的整体时间不一定比 WebGL 快,但主线程渲染帧率不会出现明显掉帧,不会出现ui卡顿,整体体验会好一些