Monday, December 18, 2017

不同手机GPU的Android游戏兼容性原因及解决方案

手机3D游戏兼容性产生的原因

现在Android平台大多数手机3D游戏都只有适用于Tegra 2处理器的版本,因此那些采用PowerVR SGX系列GPU、高通Adreno系列GPU和ARM的Mali系列GPU的手机便出现了无法正常运行这些3D游戏的情况。这个游戏兼容性问题,就是所谓的没有数据包支持,究其根本原因,是因为各家GPU支持的纹理压缩格式不同。

目前安卓平台使用的GPU支持的纹理格式主要有以下几种:

PVRTC:PowerVR系列GPU支持
ATITC:高通Adreno系列GPU支持,来自以前的ATI
DXTC:nVIDIA Tegra系列的Geforce ULP支持,其实是微软DirectX的东西,来源于以前的S3TC
ETC1:ARM的Mali系列GPU支持,以上三家也支持

上述几种纹理压缩格式都是互不兼容的,好在大家都支持OPENGL ES要求的一种通用格式ETC1。

但是ETC1有个问题,就是不支持Alpah通道,只能把一个纹理拆成2个去间接实现,游戏厂商大概觉得比较麻烦吧。所以像地牢守护者等大作,只提供了PVRTC、ATITC和DXTC三种数据包,这样只支持ETC1的GPU就会有点悲剧了。

并不完美的解决方案:Chainfire3D

Chainfire3D让双核游戏不再是专属,让我们现有的机器可以继续保持生命力,原理就是通过模拟不同平台的硬件达到可以使本来不兼容的程序相互通用,比如可以用德州的CPU跑NVIDIA设备游戏,如果屏幕保持偏色,还有一个节电功能,在软件选项中设置即可。

Chainfire3D特色功能:
能够减少游戏纹理的大小和质量(降低游戏画质),以减少内存的占用,并尽可能的提高游戏的运行性能。最主要的是,你可以通过这款软件来将你的手机模拟成不同的平台,包括Tegra 2、高通Adreno和PowerVR,这样就能玩其他平台的独占游戏。
CF3D驱动安装/升级/卸载管理;
夜间模式:红/绿/蓝/琥珀/浅橙;
默认OpenGL设置:纹理质量、大小设置;
单个程序OpenGL设置;
固化电子市场设置;
插件安装管理。

专业版功能:
增加单独OpenGL设置(强烈建议使用此单独设置,而不是用通用设置!)

注意:这款软件需要你的处理器频率在1GHz及以上,并需要ROOT权限。安装有可能会影响电脑连接使用大容量存储模式,如果无法连接电脑请重新安装自己的手机驱动。

Chainfire3D Pro其实是一个OpenGL中转驱动程序,能够将本来为Tagra 2图形驱动设计的指令转化为普通处理器的。不过它的功能并不仅局限于将Tagra 2独占游戏转化为其他类型,还能在其他类型中间相互转化(比如高通处理器转三星之类的)。

使用方法:
1.下载文件,解压。文件包括一个主程序apk安装文件,一个密钥apk包,三个zip格式插件包。首先将主程序和密钥apk包安装到手机上。三个插件文件(不要解压)复制到SD卡根目录。
2.安装完成后,打开程序,安装驱动,(因为要向/system目录下写入文件,所以手机必须ROOT)安装完成后会自动重启手机。
3.重启手机后再次打开程序,点击安装插件/着色器,这个过程要等一会,等到程序扫描到插件后会出来插件安装界面,三个个插件可以依次都安装。
4.安装好插件,在打开设置默认的openGL,所有选项全部打钩(画质调整用的,默认可以不钩),使用插件选择(玩Tegra2游戏)选NVIDIA,(高通游戏)选QUALCOMM,(三星&德州仪器游戏)选POWERVR。到这里,基本就配置好了。

NVIDIA 为:NVIDIA Tegra2 平台
POWERVR 为:德州仪器平台
QUALCOMM 为:高通平台

补充提醒:当你不再玩跨平台游戏,或要运行普通程序的时候,请记得将『使用插件』重新设置为“没有”。

[root] Chainfire3D 免费版下载
https://play.google.com/store/apps/details?id=eu.chainfire.cf3d

[root] Chainfire3D Pro 专业版购买
https://play.google.com/store/apps/details?id=eu.chainfire.cf3d.pro

Leave a Reply

Your email address will not be published. Required fields are marked *