全军出击性能优化方法

修改于2018/08/11434 浏览综合
今天来谈谈一个API……Vulkan!
温馨提示:联发科,麒麟GPU差,不适合Vulkan,麒麟还可以更新GT,联发科就……😂
想要在各类机型性能上有个质的飞跃,我个人是极度所认为Vulkan是一个合适候选。
Vulkan是一个很合适全军的API,这个API与OpenGL不一样。OpenGL 每帧绘制时,都需要在驱动层重新建一个Command Buffer 传递下去,而 Vulkan 是在应用层建好 Command Buffer,每帧绘制时Sub上去。
Vulkan开销极小。虽然Vulkan相比于OpenGL ES3.1在图形上没有太大区别,但是可以在PE端多数支持Vulkan的游戏比OpenGL ES3.1多上二倍左右的帧率,例如某游戏使用OPGL3.1达到稳20帧,那么Vulkan基本可以稳55~60帧。话虽这么说,但大多数游戏在OpenGL ES2.0中运行。
我不知道全军具体运用了什么API,没去研究。应该是OpenGl2.0或3.0,但是Vulkan是不会的。
一些萌新对Vulkan不理解作用,他可以更好驾驭处理器CPU,GPU的效率。
说一下Vulkan的利:在中低端例代表性处理器骁龙625玩到精致极限抗锯齿不卡,中端636玩到高清极限不卡,660做到高清抗锯齿极限丝滑!821也不会再吐槽老了,因为GPU潜力开发!(前提你不锁核)
至于835,本来就可以有带极致的潜力,加入Vulkan丝滑!完美游戏!
生于旧时代的OpenGL,虽然也增加了大量改进,如OpenGL ES等,但这个接口过于古老、繁杂,已经成为了很明显的瓶颈。随着主机、PC游戏技术水平的进步,3D游戏画面也越来越出色或逼真,移动游戏画面的水平也在水涨船高,但OpenGL尤其是GLSL的效率太低,在常规移动应用上几乎是无法实现的级别,景深、体积光和环境光等对游戏图像带来立竿见影提升的效果无法出现在手游上。OpenGL的效率已经不够用。OpenGL的效率低下也祸及了Android和iOS等移动操作系统的图形界面运行速度,一个看起简单的动画或半透明渐变缩放等效果,被拆解成大量的OpenGL指令并等待缓冲,这些无关紧要的步骤成为了手机CPU运行负担最重的时刻,随着1080p甚至2K级别分辨率成为手机和平板设备的主流,大量的像素数据和CPU处理已经让设备不堪重负。
Vulkan要求:需要安卓7.0或以上版本,GPU驱动升级为最新。
OpenGl:什么安卓版本都可以
天美如果有能力的话,请尽量做一个检测系统,因为Vulkan很需要配置支持(暗指某科某为GPU差),所以对于骁龙处理器支持Vulkan和安卓7以上的机器,做到Vulkan,或者先固定几款大众机型做到Vulkan,试探用户反应,其他的就用天美自己的优化吧。
概括一下Vulkan利(萌新看这里):低端机能开一些特效丝滑,中低端机玩高画质不卡,高端机做到接近主机级画质(有点夸张)。
缺点:工作人员压力山大(๑˙ー˙๑),程序猿表示又要拿我祭天,又要做游戏。
6
3
19