如果你关注过最近手机厂商的新机发布会,你会发现最近手机厂商是特别喜欢拿《王者荣耀》这款游戏来说事,例如这款新手机支持《王者荣耀》的“高帧率模式”,这款新手机打《王者荣耀》团战流畅不掉帧等等。
如果你是同时是一位PC单机游戏玩家,你会发现这个现象很有意思。在游戏制作水平属于上乘的时候,游戏的性能表现好不好取决于两个要素,一个是硬件,硬件是决定游戏能跑多快、多流畅的根本,另一个是开发者对游戏的优化,合适的优化可以消耗更少的硬件资源或更合理地分配、利用硬件资源让游戏跑得更快。
在PC游戏领域,3A大作需要在有限的硬件配置下跑出尽可能高的画面效果,为了让游戏能够高效、高质的运行,育碧、EA等3A大作厂商往往会寻求显卡厂商(NVIDIA、AMD)进行合作,一方面他们可以获得对应厂商的专利技术,例如NVIDIA的HABO+等专利技术,这些专利技术可以进一步拔高游戏的画面效果,同时运行在对应厂商的硬件上会更高效。
另一方面,每当新游戏问世之后和显卡厂商有合作的游戏厂商往往会得到来自显卡厂商的驱动程序支持,俗称“鸡血驱动”。这些驱动程序会针对某款新游戏进行特别的优化,提升新游戏的性能。
理论上来说,手机游戏厂商为了追求更高的流畅度也需要寻求手机厂商的合作,让手机厂商在系统层进行专门的调度优化等来提升游戏的性能。但实际上在中国的手机行业里,这一条已经本末倒置。
收钱优化
导致这种本末倒置的现象有两个原因,第一个是手机游戏画面提升不上去使得目前绝大部分手机处于性能过剩的状态,第二个是目前国内手机市场存在着一种奇怪的供求关系。
目前手机游戏的画面上不去有两个原因,第一是中低配手机太多,在缺乏爆款游戏来促进换机潮的前提下,手机游戏厂商为了兼顾这些大量的中低配手机不敢把游戏画面做得很惊艳。
第二,玩手机游戏时手机的发热量、耗电量一直是让从业人士很头疼的一个问题,画面好的游戏带来的发电量、耗电量往往是惊人的,对于玩家来说玩手机游戏玩到手机滚烫、1小时就没电是一个很糟糕的体验。
在这种情况下,大部分人手中的手机就处于一个性能过剩的状态。对于高通骁龙660这样的中端处理器来说,基本上它可以流畅地运行市面上99%的手机游戏。
所以对于手机游戏厂商来说,他们没有任何必要去花钱和手机厂商、芯片厂商进行合作来针对性地从系统上、硬件上优化自己的游戏。
实际上对于手机游戏来说,由于Android平台的硬件多变,从硬件上优化也不太实际,手机厂商能做到的提升只有针对性的“鸡血调度”,一款手机游戏的优化除了开发商自己的优化水平外,更多的是要看选用的引擎。
在国内,《王者荣耀》可以算是一个国民级的游戏,玩这款游戏的玩家在国内实在是太多以至于目前的手机厂商不得不服从于一个非常诡异的供求关系,即现在有相当一部分的消费者对于手机的游戏体验有着相当严苛的要求,即使是一款性能明显过剩的高通骁龙660千元机,只要打《王者荣耀》或者《刺激战场》有掉帧、有卡顿,那么毫无疑问这款手机会被这部分消费者直接pass掉。
其次很多消费者在买手机之前有一个习惯 —— 看测评。据笔者观察,国内比较知名的一些测评机构都比较喜欢使用《王者荣耀》、《刺激战场》等游戏来测试这款手机在游戏方面的性能,如果这款手机在这几款游戏中的表现不够好,那么测评的结果一定是“游戏性能不太行”。
也正是这样,手机运行《王者荣耀》等游戏的流畅程度在国内可以直接影响到消费者的购买决定,如果手机A比手机B玩《王者荣耀》更卡,那么很显然这部分消费者会去选择手机B而不是手机A。
面对消费者这种“打《王者》掉帧,不买”的心理,手机厂商只能非常无奈地向消费者们提供打《王者荣耀》不卡、不掉帧、能开高帧率模式的手机,于是手机厂商们主动找上了“鹅厂”寻求合作,这手机厂商之中也包括锤子科技这样的小厂商。
在PC领域,这种事情就好比Intel、AMD、NVIDIA都拿着自己家的硬件去找微软,求微软改进一下Windows让它们的硬件跑得快一点。如果发生这样的事情,微软怕是会怀疑这个世界是不是疯了。
高帧率
一开始,“鹅厂”拿出了“高帧率模式”这么个东西。实际上这个“高帧率模式”是一个非常扯淡的东西,笔者玩了这么多游戏,也是第一次发现当一款游戏人气足够高的时候,解除锁30FPS这样的设置项都可以拿来卖钱。
手机游戏锁30FPS是有一定道理的,因为在30FPS下手机每秒渲染画面的次数可以折半,这样一来游戏时手机的耗电量就会降低。
30FPS下的流畅度不是不能接受的,30FPS和60FPS是一个“流畅”和“更流畅”之间的区别,而不是“卡”和“流畅”的区别。不过对于很多习惯60FPS的玩家来说,想要回到30FPS就很困难了,因为当你适应了60FPS的画面之后再回到30FPS,那种不适应感会让你感觉30FPS的画面特别卡顿。正是由于存在这种“不适应感”,很多玩家认为“高帧率模式”是一定需要的。
实际上《王者荣耀》对于手机配置的要求根本就没有那么高,市面上绝大多数中高端机都可以跑到60FPS。高帧率模式的开关对于程序员来说可能就是改一个数字的事情,然而就是为了改这么个数字,国内的手机厂商为“鹅厂”送上了大量的真金白银。
《王者荣耀》会识别玩家手机的机型,来决定给玩家锁到30FPS还是60FPS,在笔者看来这是一个很无耻的做法,业内从来没有这种“歧视性锁帧”的做法,要么大家都锁帧,要么大家都不锁帧,要么大家都可以自由调节锁帧。
比《王者荣耀》画面更好、配置要求更高的《崩坏3》直接在设置中给出了可调的30FPS、60FPS选项,根本不存在“高帧率模式”这一说法。
于是乎,手机厂商给腾讯送钱,腾讯把对应的机型加入到高帧率模式的白名单,之后手机厂商发布新品的时候可以振臂高呼:“我们的手机支持高帧率!”
确实,这真的很傻,但是一个愿打一个愿挨。
不单单是《王者荣耀》,《QQ飞车》等腾讯系手游里都加入了这么个“高帧率模式”,这意味着只要腾讯在国内能保有那么几个超高人气的手游,那么手机厂商为了销量就必定要给腾讯送钱。
不过,你以为这样就结束了吗?
机型针对
基本上国内的厂商都不差这么点钱,“高帧率模式”要钱,那开了就开了,这点钱和销量比起来不算什么。
于是乎在收割了一波银子之后,腾讯选择全面开放“高帧率模式”。按照腾讯的尿性,这种事情有第一次,便会有第二次。
于是,腾讯开始琢磨新的小花招。如果你是《王者荣耀》玩家肯定会知道《王者荣耀》最近存在一个“V,T”、“O3,T”、“O3,F”等等的问题,这些代号会显示在登录界面的左上角,代表当前使用的图形API和多线程优化的启用状态。
这是一个典型的“抢钱行为”,《王者荣耀》会根据机型的不同选用不同的图形API,即Vulkan和OpenGL 3.0、OpenGL 2.0,同时,它也会根据机型的不同决定是否要启用多线程优化。这意味着,在新版本的《王者荣耀》中,只要你使用的不是合作机型,它连多线程优化都不给你开,而多线程优化的有无对游戏的体验是有很大影响的。
如果这是一个传统App或是单机游戏,我们不更新它就可以了,但对于《王者荣耀》这样的网游来说,更新基本上是强制性的,玩家根本绕不开。这意味着手机厂商要又一次给鹅厂送钱。
这让笔者想起了业内的一个笑谈。外包软件公司在接项目的时候往往会在代码里加入sleep这个函数(你可以理解为是让程序故意卡顿x毫秒),然后交给客户。客户说,“你们这个软件用起来怎么这么卡,能不能帮我给他变快一点”,软件公司的经理就会说:“可以,但是要给钱”。对于客户来说,前期投入已经投入进去了,这钱不能不给。
于是客户乖乖给钱。对于外包软件公司来说,程序员敲两下键盘改一下sleep里的毫秒数,就做完了“优化”。如此反复,他们甚至可以收很多次这种“附加费用”。
现在的鹅厂,扮演的就是这么一个“外包软件公司”的角色。而且最气人的是,外包软件公司的客户一般不懂行,做点手脚客户不一定看得出来。但腾讯面对的手机厂商们都是行内人,这就是你明知道他在抢钱,却要拱手给他送钱,这心里肯定是很难受的。
不过腾讯这种做法虽然比较流氓,但是业内还有一家比腾讯更不要脸的手机厂商 —— 360。360手机中内置了一个游戏加速器,这个游戏加速器可以视作是一个官方的“手机型号修改器”,它会自动把手机型号修改成vivo,进而通过游戏的机型认证。这种东西玩家们私底下传传也就算了,360是直接拿来做成了一个系统功能,也是够流氓的。
腾讯这样的做法也算是开创了手机游戏通过手机厂商营收的先河,不过在笔者并不担心腾讯这一次会“带坏”其他的手机游戏厂商,在笔者看来这个招数也就只有腾讯能使得出来,因为即使是网易这样的大厂也拿不出《王者荣耀》这样的国民级手游,在没有玩家数量做支撑的前提下,游戏厂商和手机厂商之间根本就没有商谈的筹码。不过,腾讯这么做也确实有一些过分就是了。