gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:06:45 28 4
gpt4 key购买 nike

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

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

最佳答案

我创建了一个包含 50k 立方体的渲染测试,在我的笔记本电脑上大约需要 6-10 秒。

fiddle 在这里:http://jsfiddle.net/1ma18gLf/

该函数根据测试确实会阻塞。使用浏览器控制台观看结果并查看 Base64 图像。

接下来的问题是,无论 JavaScript 在做什么,webGL 是否都会单独绘制到 Canvas 上。

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

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

//In your render loop:

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

关于javascript - renderer.render() 是阻塞还是非阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44523130/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com