启动加载的优化分两个问题:
1.web中unity图标读条界面
解决方法:
先进入空场景,再通过空场景跳转进主场景。
问题:unity读条界面会很快消失,但跳转场景时会卡顿,总体时间不变,甚至会加长。
2.整体场景的加载时间
1.贴图大小优化
如果贴图格式时2048,在不影响画面效果的情况下,改成1024或者512,还可以缩小包体。
2.压缩和解压缩问题
官方文档:
https://docs.unity3d.com/Manual/webgl-deploying.html?_ga=2.249632261.2037515946.1589007625-1904694848.1589007625
简书上的中文翻译:
https://www.jianshu.com/p/609c85e96440
WebGL打包的时候分三种压缩情况:
gzip:比Brotli文件打,但打包快,http和https都支持
Brotli:压缩格式最小,打包慢,只有谷歌和火狐支持。
Disabled:不压缩。
提升解压缩速度
若使用gzip格式压缩,打开网页,打开控制台,会发现有这么一句提示:You can reduce your startup time if you configure your web server to host .unityweb files using gzip compression.
意思是可以通过配置服务器,来加快解压缩的时间,从而减少启动时间。
官方文档中有配置服务器的说明,有两种Apache和IIS,使用这两种web服务器,都需要先安装和设置服务器。
安装配置Apache服务器傻瓜教程:https://blog.csdn.net/boyZhenGui/article/details/106017437
然后创建.htaccess文件,放到Build子文件夹中。
如果压缩格式gzip,则内容是:
<IfModule mod_mime.c>
AddEncoding gzip .unityweb
</IfModule>
如果压缩格式是Brotli,则内容是:
<IfModule mod_mime.c>
AddEncoding br .unityweb
</IfModule>
放好之后重新配置服务器。(我用本地测试没成功去掉警告,不过方法应该是没问题,如果你上传到服务器上,加载成功了,可以告诉我一下)
不压缩以提升速度
由于加快解压时间的操作很复杂,也容易失败。那么我们不妨先测试一下是否有必要进行提升解压的操作。
直接打包一份不压缩的版本,在Publishing Settings 中的Compression Format选择Disabled。
测试打开本地场景的时间,是否比gzip或brotli压缩快了。
本地不需要下载WebGl的项目,而且跳过了解压的过程,减少了时间消耗。
博主推测网页的下载速度肯定要大于解压速度,如果没解压的包体变化不大,或者和我一样加快解压操作失败,可以考虑直接使用不压缩的版本。
3…data.unityweb文件无法缓存
未解决,可能需要服务器端开发人员做缓存功能,如果有大佬了解欢迎指教!
谢谢阅读,如果对你有帮助可以给我点个赞,或者加个收藏,关注那就再好不过了