React-Three-Fiber中用Suspense加载3D模型时Canvas卡顿问题
基于React Suspense渐进式加载GLB模型时的卡顿问题
我参照一个基于React Suspense实现渐进式增强的方案,在项目中尝试加载自定义GLB文件。
我从Sketchfab获取了初始大小为10MB的悉尼歌剧院3D模型,通过Sqoosh和GLTF Report优化模型纹理后,将最终GLB文件压缩至约1MB,同时制作了500KB的低分辨率模糊版本作为降级展示方案。
但当1MB的高清模型加载完成后,整个Canvas甚至页面会出现帧冻结,这和示例中低分辨率模型平滑切换至高分辨率模型的表现完全不同。
本地构建运行时卡顿问题非常明显,但在CodeSandbox环境中难以复现:
示例模型对比
- 低分辨率GLB大小:6KB
- 高分辨率GLB大小:10MB
加载完成后切换过程平滑,用户交互可正常响应:

我的模型对比
- 低分辨率GLB大小:534KB
- 高分辨率GLB大小:1119KB
加载完成后出现明显卡顿,用户交互无法被响应:

内容的提问来源于stack exchange,提问作者LY Hooi
相关产品推荐
相关产品推荐

