专栏名称: 程序员成长指北
专注 Node.js 技术栈分享,从 前端 到 Node.js 再到 后端数据库,祝您成为优秀的高级 Node.js 全栈工程师。一个有趣的且乐于分享的人。座右铭:今天未完成的,明天更不会完成。
今天看啥  ›  专栏  ›  程序员成长指北

基于 Three.js 的 3D 模型加载优化

程序员成长指北  · 公众号  · 互联网安全  · 2024-08-17 22:22
    

主要观点总结

本文介绍了vivo互联网前端团队在3D项目模型加载优化方面的经验。文章涵盖了模型加载的优化思路,包括减少网络请求资源的体积和提升网格的解析速度。具体实践包括使用zip包压缩模型,使用wasm解压工具提高解压缩效率,文件的加解密增强安全性,以及优化首帧渲染体验。经过这些优化,模型的体积从50mb压缩到11mb,页面首次加载时长从15秒缩短到5秒。最后,作者还提到了进一步的优化空间和未来的规划。

关键观点总结

关键观点1: 模型加载的优化思路

了解Three.js加载模型的工作流程,分析耗时部分进行针对性处理,主要优化思路是减少网络请求资源的体积和提升网格的解析速度。

关键观点2: 模型体积的压缩方案

采用zip包压缩模型,使用wasm解压工具提高解压缩效率。同时,对文件进行加解密,增强安全性。

关键观点3: 首帧渲染体验的优化

通过分步加载和形态键缓存的方式优化首帧渲染体验,将首帧渲染时间从7秒缩短到0.6秒。

关键观点4: 未来的优化空间和规划

提出进一步优化方案,例如整合形态键缓存到gltf模型中,提高模型解析效率。


文章预览

作者:来自 vivo 互联网前端团队- Su Ning 大厂技术    高级前端    Node进阶 点击上方  程序员成长指北 ,关注公众号 回复 1 ,加入高级Node交流群 作为一个3D的项目,从用户打开页面到最终模型的渲染需要经过多个流程,加载的时间也会比普通的H5项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能的降低loading的时间。这里就分享一些我们在模型加载优化方面的心得 一、前言 近段时间,我们使用three.js完成了vivo拟我形象的开发工作,大家可以在vivo账号中拟制属于自己的3D形象,也可以保存作为自己的头像名片。 作为一个3D的项目,从用户打开页面到最终模型的渲染需要经过多个流程,加载的时间也会比普通的H5项目要更长一些。然而过长的等待时间会造成大量的用户流失,这部分用户没有体验到具体的功能就退出 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览