使用Unity Accelerator加速你的团队

Unity加速器可以通过将项目更新的等待时间减少90%,来帮助你的团队进行更快地迭代。

没有人喜欢等待,无论是你的咖啡机正在酿造美味的咖啡(老实说,要等很久),或者你的本地项目下载了最新的源代码,又或者Unity编辑器第一次加载这些新的更改。虽然我们不能为加速咖啡冲泡做些什么,但Unity Accelerator可以显著地改善你的下载体验和加载源代码更改的时间,毕竟这是每个Unity Developer工作流的核心。

Unity Accelerator是一个本地网络代理和缓存服务,它为两种主要场景(Asset管线导入和通过协作下载源代码)加快了迭代时间。这种改进的工作流将大大减少等待常规阻碍程序的时间,使你和你的团队回去做重要的工作,创作!

Asset Pipeline Importing

每当Unity检测到你本地项目上的Asset被修改的时候,它会自动进行该Asset的格式转换,使其可被Unity(称为Asset导入管线)读取。这是一个十分耗时的过程,并且随着检测到的资产变化的数量而呈指数增长。在Unity 2019.3中引入了一个新的Asset导入管线版本,改进了整个导入过程,使其具有更好的性能、可扩展性和可靠性。另外还有一些beta版本的特性,如按需、快速平台切换和背景导入等,在2019.3的实验状态下也是可用的。

它是如何工作的

Unity Accelerator通过为整个团队提供一个已转换资产(Asset)的本地网络缓存来增强新的资产导入管线。这意味着只需要一个人执行实际导入,结果将自动缓存到Unity Accelerator。下一次团队成员导入相同版本的资产时,将首先检查缓存,然后在本地机器上启动导入过程。


通过协作下载源代码

源代码管理的主要挑战之一是快速的共享资产。由于文件太大或网络带宽较低,经常会出现困难。在将协作本地项目更新到最新版本时,Unity Accelerator将减少等待下载资产的阻塞时间。你还可以监视服务仪表板上的性能,它会向你展示一些重要的指标,如总体效率(持续24小时)、交付的字节、节省的时间等等:

我们的内部测试显示,等待项目更新的时间减少了90%!以下是我们的一个测试的指标:

它是如何工作的

Unity Accelerator是协作服务的代理和缓存。当在本地网络上搭建之后,新文件将被缓存,因为它们正在被发往云服务的途中(即每次发布时)。下一次,在同一本地网络上的团队成员更新他们的项目时,Unity Accelerator将首先检查其缓存中的文件副本,然后再连接到要下载的服务。

Unity Accelerator还具有预加载源的能力,如果该源已由远程团队成员发布了。例如,假设三个游戏开发人员在同一个项目中–Alice、Sam和Joe。它们是一个分布式团队,如下所示:
1、Sam是一个远程开发人员,她的网络上没有安装加速器。
2、Alice和Joe共享一个本地网络,并安装了加速器。

每当Sam在Unity内部发布的时候,她都会直接与 Collaborate service交流。Alice和Joe使用的加速器将自动监视由Sam完成的新发布的Collaborate service,并在它们发生时下载它们。下一次Alice和Joe准备更新他们的本地项目时,他们将直接从Accelerator中提取,而不是直接从 Collaborate service中提取。(译注:GitHub本地仓库?)


如何开始?

Unity Accelerator是一个独立的工具,现在可以在OSX、Windows和Linux上下载。它与2019.3 Beta 1或更高版本兼容,支持2019.3 Beta 6的资产管线导入流程。

虽然资产管线导入功能将完全免费使用,但Collaborate source control功能需要订阅Unity Teams Advanced。


Frequently Asked Questions

1、Unity Accelerator和Cache Server之间有什么区别?

最重要的区别是Cache Server只支持资产管线v1。Unity Accelerator通过Collaborate service增加了对资产管线v2和源代码的缓存支持。

Unity Accelerator的另一个好处是,当将它与资产管线v2和/或Collaborate service一起使用时,它具有自动磁盘存储管理功能。这意味着它将定期清理不必要的资产和/或源。对于原始的Cache Server,团队必须使用额外的工具来管理磁盘空间。

第三个不同之处是,Unity Accelerator还公开了一些指标,这些度量为您提供一些有用的信息,例如传输的字节、连接的编辑器等等。它们作为Prometheus度量值作为/指标托管,你可以从本地网络查询它。

我注意到可以在Unity Accelerator安装向导中安装Cache Server。这是否意味着它有新的功能?我们还没有向Cache Server添加任何新功能。但决定将其包含在Unity Accelerator安装向导中,是因为这样的话,团队只需要去一个地方来管理安装即可。

2、Cache Server总是在每个编辑器版本中发布一个新版本。Unity Accelerator安装程序中使用哪个版本的Cache Server?

我们正在打包与资产导入管线v1最兼容的版本,该管线用于2019.3。如果你正在运行旧版本,并且已经有支持它们的Cache Server,则不需要安装捆绑在Unity Accelerator中的服务器。

3、每个Unity Accelerator实例是否只支持特定的Unity版本,还是能够同时使用多个同时安装/项目?

Unity Accelerator将保持向后兼容,支持所有版本的资产导入管线V2和Collaborate service,从2019.3或更高版本开始。它将根据需要自动升级,以使这对你来说是无缝无感知的。
源代码管理缓存仅用于Collaborate吗?

Collaborate是当前唯一支持的源代码管理。我们正在探索今后支持其它的可能性。

转自张鑫知乎:https://zhuanlan.zhihu.com/p/113818226

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注