我可以将THREE.Group导出为JSON以改善复杂SVG挤出的加载/渲染时间吗?

时间:2017-01-21 22:29:55

标签: svg three.js

我目前正在使用josdirkson's SVG拉伸脚本来形成20-30个复杂形状的组。我的目标是在整个用户的交互过程中单独操作每个对象以及整个组。到目前为止,我已经能够实现这一目标,但是,在各种设备上,我的加载时间可以在7到20秒之间。我想知道是否有很多内容可能只是脚本将所有SVG路径转换为bezierCurves等。如果是这种情况,我想知道一个可行的解决方案是否可能以某种方式从Three.js导出到JSON或其他文件类型,然后是用户正在加载的后续数据源。我简要地看了at this thread,但在群众寻求解决方案之前,我并不想超越自己!非常感谢任何建议或意见!谢谢!

1 个答案:

答案 0 :(得分:1)

我能给你的最好建议是看看加载过程的配置文件。要在Chrome中对此进行测试,您可以为要分析的区域的代码添加成对的console.profile('something');console.profileEnd('something');次调用。然后打开devtools中的Profiles面板并重新加载页面/重新运行javascript。

这可能会告诉你你的假设是否合适。至少它会帮助你找到JS花费的时间。

如果确实如此,您可以使用geometry.toJSON()new THREE.JSONLoader().parse(json)进行几何缓存,以保存和恢复几何。在大多数情况下,这应该比以某种方式计算几何结构快得多。 (注意:还有其他更节省空间,性能更高的缓存方式,但json格式是一个很好的起点)