中文站

当我们在谈论游戏高中低配的时候究竟在谈什么

什么是游戏高中低配?

在游戏的设置界面,一般都会提供给玩家一个画质显示的选项,如下图。玩家可以根据个人需求,选择对应的等级选项,如下图所示。选项名称一般会经过语言包装,比如下图称为省电、流程、精致、极致,甚至有些游戏叫电影级等,但其原理是一样的,即对应我们常说的高中低配。当我们第一次进入游戏的时候,系统也会根据手机的相应配置,默认给我们设置一个对应的画质显示选项。


为什么需要高中配?

随着手游市场的不断成熟和手游核心玩家群体的形成,玩家对游戏提出了直接鲜明的要求,优秀画面、讲究3D大制作,运行过程中帧率与网络均不卡顿,能够控制发热、平衡电量消耗,已经成为手游玩家默认的“基本权利”。本质而言,玩家对手游的高要求,就是对手机性能的高要求。然而,我们知道,手机市场,产品繁多、性能不一,尤其是Android市场。如何能让使用不同机器的玩家都能体验游戏呢?于是开发组就想到了使用高低配去解决这个问题,通俗的讲,就是让手机性能好的玩家除了保证游戏顺畅的基本要求外,还能体验到更精致、更清晰的画质,而手机性能较差的玩家保证他们能体验到基本的玩法,并且优先确保不卡顿、流畅性,至于角色、模型、特效等显示效果会被降低甚至删除。如果玩家强行使用不适合手机配置的画质,不仅游戏会变卡,甚至还有游戏闪退的风险。

玩游戏卡顿的原因一般有两种;性能不足导致的卡顿以及CPU发热降频导致的卡顿。手机性能不足引起的卡顿很好理解,但有些手机配置足够高,刚开始玩游戏时十分流畅,随着游戏时间的延长,手机开始发热,温度过高促使手机启动温控管理,手机CPU降频来缓解发热,而这会导致手机性能下降,进而导致游戏画面卡顿,当然只说CPU降频导致卡顿是不严谨的,玩游戏时CPU负责运算,还要搭配GPU渲染画面,而CPU与GPU都集成在一整块SOC中,所以用手机芯片发热降频导致卡顿比较确切一些。SOC的概念我们会在后面详细介绍下。

设备等级划分是一切优化,LOD策略的前提。最新的iPhoneX A11 GPU性能直逼笔记本的集成显卡,要照顾三四线的小朋友,红米1你也得想办法支持。高品质模型确实可以表达更完整的内容,但是品质越高,给手机硬件带来的压力也就越大。不能因为想表达高品质模型就舍弃市面上百分之八十的手机。

通过调节画质选项,至少能让玩家体验到游戏,是一种最坏情况下做出的最优选择。不然的话,就会出现如2012年Supercell在iOS平台推出了日后风靡全球的《部落冲突》,但因安卓机当时普遍性能过弱,无法支撑《部落冲突》同屏幕过多的单位、建筑、特效等内容,直到2013年官方才推出安卓版本。这期间,无数公司都摩拳擦掌,试图推出近似模式产品抢占安卓市场,但皆因手机性能问题,导致产品崩溃、无法运行而折戟。

如今游戏厂商每日头疼的优化问题,正是手机性能限制手游发展的典型。换言之,手机性能的发展史,也是手机游戏的发展史。典型如2013年在国内开测的PC网游《剑灵》。当时,《剑灵》角色模型面数已达到2万面左右,一直被认为亲民的MOBA游戏《英雄联盟》,角色模型面数也超过1万面。反观手游,3D模型主流标准大约是2000~5000面之间,与PC游戏有差距的确是事实。

纵然现实有诸多不利条件,但玩家需求增长并不会因此而放缓。玩家的本质是消费者,消费者的特征便是不讲客观、只讲结果。一方面作为游戏开发者,我们要不断优化性能,另一方面,我们也寄希望于手机硬件的不断进步发展。

高低配一般影响哪些游戏品质?

一般而言,高低配会影响如下这些:

分辨率:手机分辨率强制降低对手机也是有好处的,分辨率降低了,手机GPU减少了工作量,同时CPU也会减轻负担,对游戏来说,帧率就会上升。手机分辨率强制降低对手机是有影响的,首先会影响用户的使用感,分辨率降低了同样的屏幕看上去会有颗粒感,影响用户使用。但特别是Android市场,机型杂乱,设置几种固定的分辨率,以及根据高中低配分配设置不同的分辨率是非常有必要的,也是效果非常明显的。

角色、场景材质:切换材质精度。对shader根据高中低配设置lod,执行不同的pass。比如法线、高光等。

角色、场景贴图:根据高中低配,使用不用的贴图。比如高使用高清贴图 中就是half贴图。纹理过滤方式,比如是否采用三线性。

还比如同屏单位数量、单位加载距离、普通NPC数量、普通NPC加载距离、阴影精度。

还有后处理是否开启:比如HDR,Bloom,SunShafts,抗锯齿等。

通过上述基本讲解,我们知道了高中低配的意义,以及其影响的游戏内容。那么如何确定一台机器是高配,或者中配,甚至是低配呢?大家应该都会立马想法,根据手机的性能指标去设定,但手机性能指标非常多,我们改如何取舍呢?这些性能指标一般又代表什么意义呢?接下来我将围绕这个和大家介绍下。

游戏第一次启动通过设备硬件配置将设备匹配一个默认画质,基本上高中低配大多考虑CPU,GPU,内存三个方面。

1:CPU 这部分主要考虑运算能力,移动游戏在很多时候的性能瓶颈是CPU,所以很多时候更加注意手机CPU的基本性能来考虑加入相关优化策略,包括遮挡提出,低配隐藏,批次合并,优化特效等,而且CPU优化的复杂在于程序和美术的内容夹在在一起,往往需要具体分析,很占用时间。

2:GPU端的优化相对好做,主要是去掉运算压力大的效果。但是兼容性的确麻烦一些,不同架构对特性的支持不一样,导致需要在shader里增加更多的宏来判断是否可用,所以GPU的高中低配中夹杂了很多兼容性代码。当然还有部分优化是脱离具体代码的,就要看美术资源的使用情况了,这个很多时候也要做高中低配策略。

3:内存 这个其实相对好识别,在获取机器信息的时候就知道了,这部分主要是看游戏常驻内存的使用量。内存的策略底线是保证闪退几乎不发生。

在具体做高中低配划分的时候,最好先确认机器型号,首先根据机器型号进行兼容性测试,至少做到自己确认的机器上是可运行的,然后再进行流畅性优化,做好具体机型的的策略后,更多的机器就是兼容性测试了。iPhone由于iOS是较封闭的平台,游戏开发者在开发游戏时的适配以及优化都非常到位,安卓平台手机厂商众多,机型配置也五花八门,兼容性测试就显得尤为重要。

以我所在项目来说,我们对iOS进行高中低适配主要是根据下面2个字段:

DeviceGenerationiOSGen = Device.generation;

SystemInfo.systemMemorySize;

苹果家的产品首先因为产品比较少,其次水准够,除了极少数存在新款不如老款或者和老款持平,基本都是越新越好,所以根据如上两个参数,就能准确判定。

Android的话,我们会根据下面的接口,获取GPU

stringgraphicsDeviceName = SystemInfo.graphicsDeviceName;

然后根据GPU的类型,比如Adreno各系列、Mali-G各系列进行高中低配划分。

但每个Android生产商的策略、硬件设计水准和系统定制能力的不同,导致很多产品明明参数或者跑分很高,但是实测很卡的情况。尤其这几年国产手机厂商撅起,国外老厂衰落,这种情况愈演愈烈。所以当我们统一划分好后,还是需要结合兼容性测试来进行确认,如果发现某些机型实在不符合,就通过白名单的方式进行调整。

还要说一点,高低配的标准一定要以自己项目的情况来定,不同游戏类型对各参数的要求不同,没有统一标准。另外游戏中可以有一个实时监控FPS的策略来自动或者建议用户切换到合适的配置。

有同学可能会有疑问,为什么手机高低配只简单的看了GPU,没有参考CPU呢?当然,你也可以参考CPU的型号,但我们之所以这样选择,1是简单,2是和手机的硬件架构有关系。

我们知道PC一般有CPU和显卡,显卡的话,又分为集成显卡和独立显卡。集成显卡就是早期技术不成熟,将显卡集成在主板内的,不可更换,使用内存当作显存来使用。后来技术更新了,就发展为了可更换的显卡,自带显存,不需要共用内存了。这是独立显卡。平常说的集成显卡都是集成在主板上了。现在有一些CPU也集成了显卡了。叫做核显。

目前还流行一种叫做APU的架构,将中央处理器和独显核心做在一个晶片上,它同时具有高性能处理器和最新独立显卡的处理性能,支持DX11游戏和最新应用的“加速运算”,大幅提升了电脑运行效率。在典型的传统计算机架构中,CPU与GPU之间通过PCI-E总线进行通讯,同时,两者都必须配有相互独立的内存系统(CPU使用内存,GPU使用显存)。而两者之间的每一次通讯和协作都不可避免的要经过成百上千个时钟周期的等待,因为两套系统间存在频率差异、结构差异以及总线延迟等等因素。而当CPU与GPU融合形成APU,整套计算系统则只需使用一套统一的内存系统,而传统的系统总线也被集成到CPU内部。这意味着所有两者之间通讯的效率都将获得质的提升。换而言之,我们得到了一套结构更简单、性能更强大、成本更低廉的计算系统。APU的诞生为嵌入式处理器的飞跃铺平了道路。

而谈到手机,大家也能马上想到CPU、内存、屏幕等参数,不过却唯独漏了一项:显卡。事实上,手机上所谓的显卡,即手机GPU,一直都处于被忽视的状态,远没有电脑显卡那么受人重视。那是为什么呢?根本原因还是手机与电脑的性质不同。手机在发明之初,是作为一种通讯工具,由固定电话演变而来的。在智能手机出现之前的功能机,一颗CPU就可以解决用户的一切需求,实现手机上所有的功能,根本不需要GPU来进行专门的图形处理。直到后来智能手机的出现,这一现象仍然存在,由于CPU技术的快速发展,智能型手机上的CPU也能完全满足用户的需求,例如听音乐、看新闻、玩玩小游戏等。对GPU的性能需求很少,最多就是用来跑跑分而已。这就直接导致各大厂商对GPU的研发力度减少,手机厂商也不会将gpu作为卖点来进行宣传,毕竟用户没有这方面的需求,也发挥不了它的性能。就这样,GPU变成了手机上不可或缺,又毫无亮点的一部分。

但随着手游的快速发展,手机GPU也迎来了快速发展的时期。手机 GPU 的性能强劲,能让手机在视觉上更加流畅,并且让游戏画面更加精美。越來越多的消费者开始注意到了手机 GPU 的存在。但大家可能发现,目前我们在选购手机的时候,也很少有厂商或者平台主动出示GPU相关的信息,例如以下是某东手机搜索参数,大家可以发现并没有GPU这一选项,那又是为什么呢?照理说,现在手机对图形处理的要求越来越高,GPU应该被重视。


这是因为,手机硬件采用的是soc系统。soc配置基本上是固定的,不会出现PC那样特别大浮动。soc是一个统称,并不是具体的某个部件或者单元。它是把CPU、GPU、RAM、通信基带、GPS模块等等整合在一起的系统化解决方案。由于手机空间限制,并且现在追求轻薄,不可能像PC一样,主板、CPU、GPU、内存条可以自己选择,自由组合,分开布局,通常是由厂家提供好一整套解决方案,手机厂家直接买来就能用了。

一般CPU和GPU是固定搭配的,所以称该CPU时同样也可指代该处理器或处理器组。比如三星7420 CPU的GPU一定是Mali-T760,Exynos4412就是ARM Cortex-A9的 ARM核加一个ARM Mali 400 的GPU,高通骁龙835搭载的Adreno540。一般而言,对于玩家来说,当你确定好某款机型的CPU的时候,GPU已经定制好了,无法选择,如下图所示。


下图的话,展示了各soc性能的对比图:


通过上图,我们基本上就可以通过横向对比,去判断其他机型属于的档位了,比如:


高低配测试的注意点?

1:兼容性测试,确保各个机型的默认高中低设置是正常的

2:手动改变高中配后,优化有没有生效,游戏重启后优化有没有继续生效

3:当选择低配时,模型的隐藏、特效的隐藏会不会影响正常的玩法。因为有些玩法可能依赖于特效的结算等。

同时还有个建议,默认画质匹配最好是基于配置文件的,这样即使上线后发现匹配规则有问题或者设备更新换代了想优化匹配规则也可以方便的通过热更来刷新。

来源:“ 不安分的小QA”微信公众号,作者:彩虹小金刚 

原文链接:https://mp.weixin.qq.com/s/nmHgHHMBZcJjrgc0_tZcfw

【声明】文章来源于网上采集整理,版权归原作者所有,如有侵权,请邮件反馈yidunmarket@126.com,我们将尽快核实修改。