破解|破解技术难题,Unity官方性能优化和企业服务是如何工作的?( 六 )


文章插图
首先,我们传统的技术服务支持主要是通过线上的问题解答,我们使用了一个Zendesk的平台,每个公司会有一个独立的空间来保护信息的保密性、安全性,不同的公司之间是不能看到其他公司的问题。我们会在这个平台上有官方的专家及时地响应你的问题,并进行解答。
除了线上的解答,我们每个月会提供2天的现场的驻场支持。还有一个大家经常遇到的需求就是很多游戏开发周期比较久,经常是开发2年、3年才能开发完,这个过程中你的Unity版本已经不能升级,可能在你上线前又发现了一个bug,在不能升级Unity版本的情况下很多bug没有办法解决,因为Unity很多bug都是在最新的版本里面才进行修复。我们是可以面向企业客户提供这种定制化的bug修复。我们可以在你使用的老版本里面进行专属的bug修复。另外,我们也会提供现场的性能优化分析服务,就是Project Review这种服务。
接下来简单介绍一下我们之前深入支持的案例,就是我们和和腾讯的《Call of Duty》这款游戏手机版进行深入合作的案例。这个项目大概是在前年底、去年初的时间,Unity这边提供了4个官方的专家到腾讯深圳的办公室里面进行驻场服务。
破解|破解技术难题,Unity官方性能优化和企业服务是如何工作的?
文章插图
我们4个人大概在深圳办公室待了4个月的时间,前面一两周还是通过各种工具进行性能的分析,分析之后我们会选出来一些性能瓶颈的问题,接下来4个月的时间都是进行引擎的定制,然后给COD这个项目开发一个专有的引擎。
当时我们定制的最主要的内容主要是下面这几个,其中有主线程,渲染线程,OverLap的优化,过去Unity引擎主线程和渲染线程的并行度做得还不够好,我们当时是改了引擎的多线程这部分代码进行优化。
另外就是对相机的剔除计算进行优化,因为这款游戏里面使用了大量的相机,我们怎么样让多线程在很多相机的情况下充分发挥多线程的性能。
我们也改进了JobSystem,主要是在某些手机硬件上多线程job分配的策略其实是需要有不同的策略的。我们也是针对COD这款游戏的特点进行了一些定制。另外,我们也做了Animator的性能优化,主要针对开放世界的需求,游戏里有大量的玩家,近处的玩家可以高频率地更新Animator,远处的角色是可以通过这个功能低频率的更新,这样来实现大量角色同屏动画更新的性能问题。
最后一个功能是Shader Profiler。因为COD这个游戏里面使用了大量的Shader变体。这样就会导致Shader的内存消耗非常大,我们定制了一个Shader Profiler,可以看到每个Shader变体的内存消耗以及每个Shader LOD的内存消耗,这样最终对Shader方面的内存做到了非常深度的优化。
最后这个功能我们现在也在Unity中国版里面加进去了。中国版Unity大部分的开发者应该已经了解,我们在Unity.CN的网站上提供了中国版的下载,主要是针对中国游戏开发者的需求增强了一些功能,其中一个功能就是Shader Profiler,另外还有很多功能大家可以到Unity中文官网上进行查看。
这就是今天我分享的所有内容,谢谢大家。
····· End ·····
GameLook每日游戏产业报道
全球视野 / 深度有料
破解|破解技术难题,Unity官方性能优化和企业服务是如何工作的?】爆料 / 交流 / 合作:请加主编微信 igamelook