移动开发者如何解决CG艺术和优化方面的各种问题?

Imagination公司工程师Kristof Beets讨论了移动端内容开发,他分享了与PC端/游戏主机端游戏开发的差异,以及移动开发者如何解决CG艺术和优化方面的各种问题。

嘉宾介绍


我是Kristof Beets,担任Imagination公司的技术产品管理高级总监。我在IP开发领域工作了20多年,致力于GPU技术,其中涉及从通用游戏到高端游戏的所有GPU技术。在这段时间里我负责过开发者技术支持、Demo开发以及业务拓展。

我一直致力于移动端GPU领域,并在Imagination公司从事相关技术工作,可追溯到2014年我们Plato Boards成立开始光线追踪技术的开发。我现在负责高能效IP的开发,将光线追踪技术推广到各种市场和平台。

Imagination作为一家IP开发公司已经超过35年了,在此期间我们一直处于图形技术的前沿。我们目前专注于移动、嵌入式和云计算领域,研究如何通过智能硬件设计为新平台带来最佳游戏体验。

为移动端游戏开发和为PC/主机游戏开发有哪些不同之处?


功耗预算!

在移动端我们没有200+W的功率/能量预算可以提供,GPU的功耗预算通常在1W或最多2W(这还不到PC端GPU功耗预算的1%),因此我们的重点是如何降低功耗同时提供更多的性能。游戏主机和PC端支持1080P的游戏画面时间并不久,而今天几乎所有手机都支持1080P的分辨率甚至更高,而且我们还看到了高于60Hz的刷新率,这些领域联系越来越密切了。

在移动设备上,功耗和发热会影响带宽,我们不能简单地提高LPDDR5/6内存的位宽和频率来提升带宽,这会使每个管脚的功耗增加,HBM显存是提升带宽的另一种方式,但也会增大功耗。而这就无法实现低功耗,解决手机发热问题。

是以,当创建内容时,开发者应该意识到这一现实,如果想使硬件和驱动程序非常高效,开发者就不能将所有几何资源内容全部交由GPU处理,可以借助游戏引擎以高效处理资源,获得最佳效果。基本上PC端对这些是非常宽容的,因为它有足够的功率和带宽,以及额外的多边形渲染或高分辨率纹理加载,不会严重影响总体性能。然而移动设备中的小错误可能会导致灾难性的电池损耗或性能体验,因此优化非常关键。

移动端内容开发的主要限制和挑战


实际上,GPU的功耗预算一直在下降,因为我们增加的每件东西都有成本,而且屏幕尺寸变大,分辨率/刷新率也越来越高,基本而言速度更快的5G调制解调器也比AI核心消耗更多的功率,它们增加了更多的功率/带宽成本。

而我们作为GPU IP开发人员,也因此陷入困境。越来越多的人需要GPU来驱动4K HDR高刷新率的手机屏幕,但是对于GPU的功耗预算已经越来越少了。工艺技术帮了很大的忙,不过我们在IP设计上的创新对于降低成本同时实现更多的功能至关重要。通过从有限的GPU预算中挤出更多的能量,我们让开发者和艺术家不必走更多的弯路而打下了基础,这样就可以让很多伟大的游戏在移动设备上运行。


移动端开发使用的工具

实际上,在内部我们使用所有通用的工具来开发演示程序、测试和改进硬件和驱动。游戏引擎有许多配置文件和模式,我们帮助其针对移动端优化,在许多情况下,它们是优先面向PC或游戏主机开发的。例如UE4允许你将项目设置为优化以便可以在移动设备上运行。

我们还提供了很多免费工具帮助开发者做一些瓶颈分析,其中包括完整的硬件分析工具以及硬件支持的分步调试。这使开发者可以在各种模拟平台上简单快速地测试他们的游戏和艺术效果。同时,他们可以找出一个特效、粒子系统、甚至是像高分辨率纹理这样简单的东西是否会降低游戏的速度。

我们还提供SDK和示例代码,为移动开发者提供论坛和门户支持。我们有直接的联系方式和培训课程,帮助开发者在移动平台上充分体现他们的游戏或应用程序的效果。

艺术挑战

Unity和Unreal都包含完整的工作流程来优化移动端内容开发,它们可以调整艺术效果的复杂度,也可以针对特定的移动平台修改渲染质量和效果。

如果开发者使用的是自定义内部引擎如DirectX,那么这个移植工作的任务量将非常大。纹理质量和着色器负责性将是影响移动设备变慢的关键点。游戏主机和电脑端的质量模型可以有多个4K的透明和半透明的纹理表单。对于移动端来说,为了性能这些都需要降低,同时也是因为在4到6英寸的显示屏上,很多超精细的细节玩家是察觉不到的。

其他需要考虑的是用于创建曲面细节的法线贴图,在较小的屏幕上需要强调宏观效果而不是微观细节。更小的屏幕空间使细节更具可读性,使材质的类型更容易识别。

虽然移动端GPU在屏幕上渲染更多三角形的性能方面已经明显提升,但模型可能仍需要进一步优化,传统方式上几何的细节需要在法线贴图上获取(随着我们推出移动端光线追踪技术,这将变得更加流行)。

为移动端创建丰富的场景(Landscape)


游戏场景中很多元素使用LOD多次层细节技术,植被通常在某种程度上是程序化的,因此开发人员可以启用更多/更少的此类植被实例或不同LOD级别的对象。即使在PC端和游戏主机上也需要使用这样的技术,例如PS5和PS4/3/2通常会支持游戏更新很多代,甚至对于XBOX来说也分为两个性能版本的X系列和S系列,所以对移动设备来说也是一样的,也分为不同的版本/性能支持。

VFX(视觉特效)生成

这一部分也完全是程序化的,并且是依赖代码来实现的,根据设备的情况调整颗粒度更容易降低负载,但是设置可能需要做一些实验性的工作来实现类似的效果。例如,在VFX中每个粒子的渲染是不同的,使用体积更大更简单的几何图形可能是一种节省时间的方法。

这是技术美工真正融入他们元素的地方,他们可以花时间弥补硬件限制和项目视觉期望之间的差距,调整粒子控件的效果从而实现复杂度和视觉质量之间的完美平衡。

移动端游戏的优化


我们看到了对多种游戏画质的支持,例如一款移动端游戏《绝地求生(PUBG)》支持五个质量等级。这将会改变分辨率(以比显示器分辨率低的分辨率进行渲染并将其放大,在将来可能包括效果/处理,比如超分辨率)。它们还将针对不同的FPS来匹配手机屏幕的刷新率,同样也有不同的渲染质量选项,包括HDR、纹理过滤从双线性到三线性以及各向异性的变化,和从0x到2x甚至4x全屏抗锯齿。在许多方面移动市场正变得与PC市场相似。

在PC市场我们可以有很多的选择,因为每个人的硬件都是不一样的,有些可能慢一些或者旧一些,有的则是最新和最好的,但是每个用户都想玩游戏。随着智能手机和平板电脑的广泛使用,这种方式已经变得相同,允许用户控制自己游戏的质量从而获得最佳的体验。

一些开发者会运行小的基准测试来判断平台的性能,一些设备还支持发热状态反馈,这样游戏引擎就可以实时调整。一些开发者针对特定的设备列表设定特定的质量等级(认证),我们看到许多不同的方法和机制,以及它们所有的优势和缺点,我们的技术团队随时提供帮助。

移动端游戏的未来

灵活性将是关键,移动市场将从低端设备(1pixel/clock)到高端设备(TerraFlops)转变,高端设备将击败低端的PC产品。这意味着像我们这样的IP厂商需要设计灵活性和可扩展性高的产品——我们还应该考虑混合模式渲染或从移动端到云端的转换,例如游戏效果可以在云端的大型服务器上完成全部或部分渲染。

* 本次采访由Arti Sergeev主持

原文链接:https://80.lv/articles/mobile-game-development-differences-challenges-new-solutions/

声明:本文为原创文章,转载需注明作者、出处及原文链接

最新文章