Unity 冷启动简介
Unity3D游戏如何加快冷启动时间
如何改进Unity3d手游启动速度?
Unity启动耗时优化
我在优化启动时间的过程中没有使用什么特别多的工具,主要是基于mlogcat.exe查看设备上输出信息的log,结合自己加入的一些log来做问题的排查。纯粹的冷启动时间过长,会和Resources目录下的资源有关系,越多越慢。我们是以AssetBundle的方式为主,所以这块注意了下,清理了一些插件引入的确定不需要的资源(直接看打包好的apk里的内容来排查)。另外搜索下还有一些文章说相关问题,可以关注下,这里不赘述。Unity 冷启动简介Unity3D游戏如何加快启基数冷启动时间如何改进Unity3d手游启动速度?Unity启动耗时优化说一下我们遇到的游戏启动时间过长时解决过的几悄首个问题。我们定义启动时间是从点击app图标到进入游戏Patch界面(即游戏逻辑接管)这段时间。
1)Shader编译时长。如果只有游戏安装之后第一次启动时间过长,一个很大的可能是shader编译,之后游戏启动因为有了Cache所以会快很多。这种情况的话建议查看下Always Include的Shader内容和变体,使用shadervariantcollection等方案替代。
2)Tolua绑定和Lua资源加载。这种是每次游戏启动都会有的,ToLua接口绑定需要一定的时间,我们在确保前期不会使用Lua的情况下采用多线程锋谈的方式进行绑定和加载,保证主线程不会卡住。
3)注意设置Web请求的超时时长。我们在游戏启动的时候做了一些hook的事情,会有Web请求,后来我们遇到一个情况是在很多机器上会黑屏等待30s甚至60s这样的时长,后来发现是因为这个Web请求没有设置超时时间,于是使用了机器默认的超时时间,在不同设备上不同,比如红米2A上会有接近1分钟的超时限制。这个很坑,只是因为那个非必须的Web服务没有正确开启,导致排查了很长时间。
Native层增加界面,减少黑屏等待,提升玩家体验。这个并不能真正解决问题,只是一种缓解手段,等到优化做到位了,其实也就不需要了。
说的内容大都是启动时间而非冷启动,供题主参考。建议题主多看看Unity进程的输出log,可能会有意外发现,通常情况下,不使用Resources的方式的话,在没Bug的情况下冷启动时间应该不会很长,我们因为没怎么用这种方式,所以不是很清楚。这个链接可以参考下: https://www.jianshu.com/p/4366da6dd4a1
这种情况很可能是由于Unity项目在换电脑上的编译环境不同造明橘成的。如果派明不是编译环境不一致,可以考虑将两台电脑上的文件夹对比一下,确定缺少了什么文件或者 *** 作步骤。如果确认缺少某个文尘槐告件,则可以在另一台电脑上复制补上,再重新打包就可以了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)