繁体   English   中英

renderer.render()是阻塞还是非阻塞?

[英]Is renderer.render() blocking or non-blocking?

我需要在每个渲染帧完成之后进行屏幕截图,但是我发现某些屏幕截图是重复的,所以我想知道是否可以在渲染完成之前保存屏幕截图。 从而...

  1. renderer.render()会阻塞直到完成渲染吗?
  2. 如果没有,完成时是否有办法通过回调或事件知道?

我用50k多维数据集创建了一个渲染测试,在笔记本电脑上大约需要6-10秒。

小提琴在这里: http : //jsfiddle.net/1ma18gLf/

该功能会根据测试进行阻止。 使用浏览器控制台观看结果并查看base64图像。

然后问题就变成了,无论JavaScript在做什么,webGL都会分别绘制到画布上。

您可以在渲染之前尝试手动清除:

var renderer = new THREE.WebGLRenderer( { preserveDrawingBuffer: true } );
renderer.autoClear = false;

//In your render loop:

renderer.clear();
renderer.render( scene, camera );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM