【发布时间】:2022-01-12 11:51:11
【问题描述】:
我想加载一个只有几个多边形 (~250) 和 10,000 x 5,500 像素的巨大纹理的可笑二进制 glTF 对象。该文件“仅”20MB 大小。
当我使用 Three.js 加载它时,Chrome 完全挂起将近 15 秒。在探查器中查看时,在冻结期间几乎没有发生任何事情。
如果你想自己加载文件,可以在https://phychi.com/uni/threejs/models/freezing-monster.glb下载,在https://phychi.com/uni/threejs/可以访问整个场景(直到找到解决方案或放弃)。
无论我调用 GLTFLoader.load()、GLTFLoader.loadAsync() 还是创建自己的 Promise 并调用 .then(addToScene),行为都保持不变,无需任何等待。
有人有神奇的解决方案吗?或者,如果没有,我怎样才能更有效地分析它,查看内部调用?还是我应该只打开 Chrome/Three.js 的错误报告?
PS:Windows 10 个人版、锐龙 5 2600、32 GB RAM、RX 580 8GB。
【问题讨论】:
标签: google-chrome three.js freeze gltf