关注

Unity 5导入DLL的过程比Unity 4慢

问题

  • Unity 5导入一个DLL的速度比Unity 4慢了大约5到10倍

原因

这些程序集需要由程序集更新器(AssemblyUpdater)进行更新。(在Unity 5.0中,更新过程由程序集更新器及脚本更新器(ScriptUpdater)自动处理。)

解决方案

Unity 5.x版本中引入了一个新的.Net属性(UnityAPICompatibilityVersionAttribute)。可以在程序集中使用这个属性,来声明其使用的API只兼容特定Unity版本。当程序集更新工具运行时,会检查待更新的程序集中是否有这个属性。如果在这个属性中的版本号与当前使用的Unity版本(Application.unityVersion)相同,那么更新程序就认为此程序集不需要更新了。

根据这个变化,可以在程序集中加入如下语句:
[assembly: UnityEngine.UnityAPICompatibilityVersion("1.2.3f1")]  //在C#和Boo脚本中
@assembly: UnityEngine.UnityAPICompatibilityVersion("1.2.3f1")  //在UnityScript脚本中

假如Unity的版本也是1.2.3f1,那么包含这行语句的程序集在导入Unity时就不会被更新器检查了。

更多信息

http://blogs.unity3d.com/2015/01/06/assemby-updater-faster-api-usage-detection/
http://blogs.unity3d.com/2014/06/23/unity5-api-changes-automatic-script-updating/ 

本文适用于Unity 5.0及以上版本

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
还有其它问题?提交请求

0 评论

登录写评论。