1. 首页
  2. three.js

three.js使用6种材质在多个BoxBuffer几何体上渲染延迟

在我的申请表中我有70个三点几何创建,并且由于每个BBG具有不同的大小,因此每一面都具有不同的纹理,从这个意义上说,所使用的图像是相同的,但是地图旋转, 地图,重复及地图偏移量不同。n基本上,下面的“绘制”功能执行了70次…nloadingManager的性能明显良好,并在加载图像时触发(已启用缓存)。n但在我的具体情况下,从加载管理器完成到场景渲染之间有2.5秒的延迟。n我如何调试或找到此延迟的来源。n或者,是否有“三,场景,加载“什么事?n—-代码摘录>nvar>};n函数绘制(x,y,z){nvar>for(var i=0;imat.map.offset.套(50数学,随机(), 50数学,随机()>})材料[4]。map.offset.copy(材料[2]。地图偏移量)n材料[5]。map.offset.copy(材料[3]。map.offset.subScalar(50))nvar>var>var>\\u g.add(mesh,line)nreturn\\u gn}manu:n但在我的具体情况下,有延迟,加载管理器完成和场景渲染之间的间隔为2.5秒。n如果不进行性能分析,很难确定根本原因,但我觉得纹理上载的数量是造成性能问题的原因。n通常,您应该只加载一个纹理,而不是每次调用draw(),然后只加载一个克隆每个材质的纹理。此外,您只需要TextureLoader.n的一个实例。不幸的是,即使进行了这些更改,性能也不会有太大的提高,因为引擎目前有一个设计限制,在使用共享图像时无法更有效地上传纹理。我们希望通过以下PR:WebGLTextures解决此问题:避免不必要的纹理上载。穆根87·拉请求#17949·mrdoob/three.js·GitHub 2n无论如何,您也可以尝试使用ImageBitmapLoader 2,这将减少解码开销。n感谢您的及时回复!非常感谢。n我将在我的代码中应用您的建议。n在渲染过程中是否可能有某种加载屏幕?nMn可以加载屏幕,但是three.js没有提供它们。您可能希望使用普通的HTML/CSS和您喜欢的任何web开发工具n Render delays on multiple BoxBufferGeometries with 6 materialsn

three.js使用6种材质在多个BoxBuffer几何体上渲染延迟 为WP2原创文章,链接:https://www.wp2.cn/three-js/three-js%e4%bd%bf%e7%94%a86%e7%a7%8d%e6%9d%90%e8%b4%a8%e5%9c%a8%e5%a4%9a%e4%b8%aaboxbuffer%e5%87%a0%e4%bd%95%e4%bd%93%e4%b8%8a%e6%b8%b2%e6%9f%93%e5%bb%b6%e8%bf%9f/