? Unity项目优化总结_牛聚文档

Unity项目优化总结

Unity项目优化总结
预览:

脚本中每帧跟新函数(如:Update()或间接被Update调用的函数)中不要每帧都去new临时对象,这种对象可以提出来作为类的成员变量进行复用,减少GC。

目前发现可以优化的函数:

TimerMgrObj.Update() ---> TimerFrame. checkFrameUpdate()

PathManagerComponent.Update()

PathManagerComponent. UpdateCompletedRequests()

Light2D.Update() ---> Light2D.Draw() ---> Light2D .UpdateCircleRef()

8、IOS 64位

Unity 4.6.2开始支持IOS 64,其通过IL2CPP将Mono编译生成的IL代码转换为Native的代码以提高性能,但 IL2CPP目前实现不完整,类似WebRequest、ThreadPool、泛型部分功能等在4.6.2中不支持,但在4.6.3中不完全支持,建议使用4.6.3发布64位IOS包,可以上http://unity3d.com/unity/qa/patch-releases查看不支持的功能。

9、场景加载慢优化

AssetBundle.CreateFromMemery()在场景加载的时候调用了440多次,该个函数很耗时很慢,占到加载时的70%,因此优化目标是减少该函数的调用次数。未优化前资源AssetBundle打得太碎太小10K ~ 20K的资源太多,每个资源调用一次该函数,导致该函数调用次数过多,建议发布版本时候将AssetBundle稍微打大一点,比如500K或1M,将AssetBundle文件个数减少到100以下,则调用该函数次数也降到100以下,加载速度降低一半在5秒以内没问题。此优化在WWW加载资源时候应该也可以使用。

第7页/共7页 <上一页首页