看完这篇 你还敢说安卓游戏机都是渣么?  

电科技  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

两年前,如果有消息称将有安卓游戏主机问世,还能引起玩家的兴趣,但随着以Ouya为代表的安卓游戏机相继市场遇冷后,游戏机采用Android系统做游戏主机的争议越来越大。

对于Android系统玩家到底存在着怎样的误解?未来,Android系统和游戏主机真的再也擦不出火花了么?

影响游戏画质的图形API

谈到游戏,玩家最为关心的问题就是游戏画质,而图形API代表了不考虑硬件限制的情况下,理论最高画面水平。例如用Microsoft DirectX 9的API,就算用现在性能最好的显卡,也不可能做出一个Microsoft DirectX 11的画面出来。

很多人对Android的图形API规格上还停留在OpenGL ES 2.0的时代,由于OpenGL ES 2.0 API的限制,使图形芯片的特性无法得到发挥,主流的商业游戏引擎不得不放弃一些高级渲染技术。

2014年11月,Google发布的Android 5.0开始支持 OpenGL ES 3.1+ADP,2015年8月份SIGGRAPH 2015图形大会上, Khronos组织正式发布了新一代的OpenGL ES 3.2移动图形规范,支持渲染多个缓冲区,有了浮点、深度、顶点等纹理格式和新版本的GLSL着色语言,还增加了引擎开发人员期待已久的MSAA Render To Texture。

在2014年Google IO大会上,UE4引擎在搭载了NVIDIA Tegra K1芯片的Android设备上的表现如下:

图片1.png

1.得益于支持渲染到多个缓冲区,引擎采用了延迟渲染技术,能够支持更多的实时动态光照,让场景表现更出色, 同时有了MSAA Render To Texture,GBuffer的锯齿问题能够更有效地解决。

2. 有了浮点纹理的支持,HDR效果的实现更加方便。

3. 深度纹理的支持,让纹理阴影实现更快速,留出更多的空间提升阴影质量。

4. 人物角色材质精细,采用多层细节纹理、法线贴图和环境贴图让金属质感表现的更好。

商业引擎方面,现在常用的游戏引擎如Unity、Unreal等对Android也非常的友好。如自带打包工具链、提供运行时性能消耗分析等功能。

另外,NVIDIA的Tegra 系列最新产品性能优异,并且Tegra K1和X1直接支持跨平台的图形程序接口OpenGL 4.4,对游戏开发商来说跨平台移植门槛和成本都会降低。

Android执行效率低跑不了好游戏吗?

有不少玩家质疑Android执行效率低、跑不了好游戏,首先我们要了解到底什么是执行效率,它指的是软件能不能百分百发挥出硬件应有的能力。如果效率低,硬件的性能只能用出一半,那么同样的画面,原来能有40FPS,可能现实就只能跑到20FPS。

手机上一般的App由于对性能要求不高,为了开发方便,更多使用Java,由于Java虚拟机的存在,性能是受到一定的影响。

  图片2.png

但是对于性能要求高的应用,特别是游戏,都不会大量使用Java虚拟机,而通过NDK直接调用原生C/C++的库、代码和图形API,所有的游戏引擎包括Unity、Unreal都是这样。这种类型的应用执行效率并不低,与游戏在PS、XBOX或者PC的系统下运行并无区别。

所以只要硬件性能带的动,Android系统跑大型游戏不会成为问题。

为什么Android手游画面质量普遍不高?

既然Android执行效率并不低,为什么现在大家看到的Android手游画面质量都普遍不高呢?

一方面是因为手游开发商需要尽可能多适配中低端手机,加大潜在受众的量。 另一方面是手游要考虑手持设备耗电量和发热的问题,画面做的好但是只能玩几分钟然后设备就发烫没电,这是不能接受的。

而且,由于目前手游生命周期都比较短,绝大部分开发商出于商业上的考虑,不会花大量时间精力去把画面做到极致,不符合投入产出比。

所以不能用目前看到的手游图形质量去衡量一个专门为了TV Console所适配的特定硬件产品的图形表现能力。

这也是为什么部分安卓游戏主机不会引进原生移动游戏的技术原因之一。

饱受争议的稳定性和兼容性

操作系统的稳定性兼容性,影响游戏主机的运行流畅程度,是作为操作系统给用户带来的直观感受之一。在移动端,Android系统的稳定性和兼容性一直都饱受争议,那么在游戏主机平台Android系统是否也会出现类似问题呢?

在移动端,Android系统表现出的不稳定和兼容性问题并不是Android系统软件设计的问题,而是受Android生态系统的碎片化和开放性影响,加上Android阵营的开源体系(开源给任何硬件开发商,授权开发商做任意改动)造成的Android系统在移动终端表现不稳定。

Google的 Android系统对所有硬件厂商开放,每年基于Android的硬件数不胜数,硬件设计都不一样,厂商还各种深度定制自己的ROM,而且系统不会强制升级,要做到软件兼容性好是非常难的。质量不能保证的软件装得多了系统稳定性也就不能保证了。

相反,Apple的生态系统更为封闭,每年2~3款硬件且相似度非常高,系统只升不降,所有软件只能从官方商城下载,所以稳定性更高。

游戏机行业跟手机不一样,生态是个闭环的,不管是微软索尼还是任天堂,都只能在自己的硬件上玩在自己平台上发行的游戏。主机平台硬件型号比苹果更少,游戏主机系统软件版本目前也是强制升级,保证不会有硬件和系统的碎片化问题。主机平台游戏数量比iOS App Store里应用的数量都要少,能够保证每一款主机平台上的游戏都经过充分的测试和检查和优化。

所以,Android系统的游戏主机建立的生态如果类似于iOS、XBOX及PlayStation那样的闭环生态,即每款游戏都需要经过游戏主机硬件软件大量优化和严格测试,系统行为也为游戏机深度定制优化,没有用户在主机上安装大量的安卓应用,就不会有Android系统在移动设备上所出现的兼容性和稳定性不好的问题。

Android游戏主机的游戏优化问题

当前玩家常常把已经面世的Android游戏主机(一系列的盒子,包括华为中兴、OUYA 等)的游戏体验问题简单的归结成Android系统的问题。实际上,游戏内容的移植和优化也很大程度上影响了Android游戏主机的游戏体验。

熟悉游戏主机的玩家都知道,主机硬件性能是比不上同期顶配的PC的,但是由于游戏的优化很到位,所以整体表现能力上并不逊色。

下面举些关于游戏优化工作的例子。

在资源利用方面,有些游戏不能把多核CPU尽量都用起来,负载都集中在1~2个进程里,部分CPU忙不过来,达不到理想的游戏体验,部分CPU空载,造成资源浪费。对游戏进行优化后,系统可以更加合理地分配资源,调动出最佳的CPU性能,从而改善游戏体验。

在优化绘制方面,如果多使用纹理图集,并尽量将相同类型物体集中一次性绘制,可以显著降低对底层图形程序接口的调用,进而提高游戏效率。

而将文本格式转化为二进制、用最佳贴图压缩格式、压缩网格体和动画数据等则可以减少游戏加载时间。

当然游戏优化的难度不低,不仅依赖游戏优化团队对系统底层和硬件的充分了解,还需要耗费大量的时间和人力。尤其是3A级别的大作,或者是使用自研的、对Android没有良好支持的引擎所开发的游戏作品更加如此。再加上传统主机游戏开发商和开发团队一般不熟悉Android,所以成功引进和移植一款3A大作到Android游戏主机是非常有挑战性的,需要得到游戏大厂认可和双方大量的资源投入,针对Android游戏主机的硬件配置对游戏进行优化。

综上所述想要开发一款高性能媲美次世代主机的安卓游戏机并非不可能,但是要在技术、内容、优化等基础工作上多下功夫,或许世界上第一台高性能的安卓游戏主机未来就产自中国呢?

随意打赏

提交建议
微信扫一扫,分享给好友吧。