游戏开发者社区

[每日简讯] [官方] Unity4.6.2发布,支持64位iOS

查看: 10354|回复: 4

Rank: 18Rank: 18Rank: 18

威望
512 点
义气
425 点

AQ大侠 AQ小生 赤子之心勋章

发表于 2015-2-2 09:46:14 |显示全部楼层
Unity4.6.2现在已经正式发布并且提供下载,这是Unity第一个支持64位iOS的正式版本,采用了最新的IL2CPP 技术。

下载请访问:http://unity3d.com/cn/unity/download


IL2CPP是Unity内部开发的一款创新型脚本技术。它能极大地提高项目中所有脚本的性能,并且完美兼容当前iOS构建所使用的Mono-AOT解决方案。

我们可以使用IL2CPP将脚本快速移植到新平台(例如WebGL等)及架构,ARM64(64位iOS系统架构)就是其中之一。使用Unity4.6.2就可以选择Universal构建同时支持32位及64位iOS系统的应用。

大幅度性能提升


在IL2CPP项目的alpha和beta阶段,我们从Unity社区反馈中获益良多。而且,据测试过64位iOS及IL2CPP的用户们报告,使用新的脚本底层运行速度大大加快。

举个例子,Andrew Witte在他的32位iOS设备上运行了RayTraceBenchmark ,得到如下数据:



当然,我们最关心的还是场景,但从我们的基准测试中也可以看出显著的性能改善。

下图是用UnityScript编写的JPEG解码器运行耗时比较:



下面是一个Mandelbrot基准测试,它是 测试WebGL平台上Unity性能基准的一部分;图示表明了IL2CPP上明显的性能提升。



开启64位iOS移植之旅

在此新版本中,要让你的项目支持IL2CPP脚本底层及64位iOS系统只需点几下鼠标即可。在Player Settings面板的iOS标签下有两个下拉列表:“Scripting Backend” 和 “Architecture”。



在scripting backend下拉列表中选择IL2CPP来支持64位iOS系统。默认Architecture使用的是“Universal”,这意味着构建的应用会包含ARMv7和ARM64两个二进制部分。

如果现有项目中包含了插件,你可能需要将它们升级到可以支持64位iOS及IL2CPP的版本。我们已经与Unity插件开发商Prime31合作将他们所有的插件都升级到了iOS64。你可以在这里下载。

以上步骤完成后,将你的工程导出到Xcode。注意,由于IL2CPP会将脚本转换为C++再导入Xcode工程,你需要设置Configuration为Release,以便Clang编译器最大程度地优化IL2CPP生成的代码。

在Xcode 6中的设置过程如下图:


现在可以在设备上运行你的项目了。如果Player Settings中Architecture设置为“Universal”,那不管是32位还是64位设备,应用会自动运行相应的代码。你可以在Unity用户手册中查看 详细的iOS 64位升级指南。

注意事项:

WebRequest/WebClient API当前可访问但没有具体实现。任何需要委托BeginInvoke/EndInvoke的异步套接字功能目前都未实现。我们会在后续发布的补丁中解决这个问题。


  • 尽管其它委托方法都能正常工作但BeginInvoke/EndInvoke还不行。我们会在后续发布的补丁中解决这个问题。
  • RakNet暂未移植到IL2CPP,如果项目或第三方库中引用到它会有问题。我们会在后续发布的补丁中解决这个问题。
  • 使用IL2CPP时后台会一直运行Stripping。这可能需要采取措施来防止裁掉使用中的类型。
  • 如果将Stripping设置为micro-mscorlib,可能会导致类型缺失的编译错误。我们计划在以后的版本中使用IL2CPP时彻底禁用该选项。
  • Xcode编译时间太长。主要原因是需要编译的代码量过大。
  • 暂不支持Managed Debugger。这已经在计划中了。同时,已经有测试用户使用Xcode Debugger成功调试了脚本代码。
  • 使用IL2CPP脚本时开启Xcode内置Profiler会导致编译错误。


我们非常清楚上述的某些条目会导致移植过程延误。自从苹果10月20日宣布新上传到App Store的iOS应用都必须支持64位系统以来,我们也马不停蹄地忙活着,以前所未有的速度及时处理Bug反馈同时每周发布更新版本。

所有相关工作人员都非常关心并尽快解决每一个问题。

如果你的应用已经发布到App Store,我们建议你继续使用Mono构建ARMv7来更新应用。苹果表示截至6月1日前都可以这样做。进一步的建议是尽快着手使用IL2CPP对你的项目进行内测。

我们会持续每周发布新版本,你可以在http://unity3d.com/unity/qa/patch-releases跟踪查看发布的补丁。

补充说明:有人指出文中我们提供的关于 RayTraceBenchmark的某些测试(Xamarin.iOS 7.0.2.7 LLVM/No-LLVM)结果不准确,因为它们是Debug模式下的结果。所以我们更新了测试图,只保留了Mono2.6与IL2CPP的比较(两者均在Unity中测试)。

原文标题:UNITY 4.6.2 IOS 64-BIT SUPPORT Unity4.6.2 iOS 64-bit Support
原文地址:http://blogs.unity3d.com/2015/01 ... ios-64-bit-support/
感谢Unity官方中文社区翻译组成员:“小七,Dezzy” 对本文翻译所做的贡献。
转载请注明来源:Unity官方中文社区 (unitychina.cn)。请勿私自更改任何版权说明信息。

原文链接:http://forum.china.unity3d.com/thread-1524-1-1.html

举报

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14

威望
45 点
义气
288 点

AQ小生 妙文社

发表于 2015-2-8 16:54:07
虽然不会Unity,但以后会学的

举报

头像被屏蔽

紫黑色裙子

Rank: 5Rank: 5

威望
0 点
义气
0 点
发表于 2015-3-7 08:40:51
提示: 作者被禁止或删除 内容自动屏蔽

举报

Rank: 3Rank: 3Rank: 3

威望
0 点
义气
0 点
发表于 2015-5-20 16:50:53
虽然不明,但觉得很厉害

举报

Rank: 2Rank: 2

威望
0 点
义气
5 点
发表于 2016-3-28 15:36:58
没有什么用,还是提示__flurry,没有armv7

举报

您需要登录后才可以回帖 登录 | 注册

关闭

江湖传闻

手机版|9RIA.com ( 京ICP备11007422号-2 

GMT+8, 2017-7-22 00:42 , Processed in 0.097429 second(s), 19 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部