GPU加速游有用吗?

在Android手机的开发者选项中有许多不明觉厉的选项,其中有一个躺了很久的选项叫做强制GPU加速,听名字应该好像可以提升手机性能,但是加个强制又好像会导致系统不稳。想必喜欢尝试的童鞋曾经也把这个选项打开过,幻想着手机立马流畅好几倍,然而开了几个应用测试一下,好像并没有什么卵用,这看似没用的玩意儿到底是干啥的呢?

先来简单看看什么是GPU加速,GPU和它的兄弟CPU都是用来做运算的,CPU的头脑比较灵活,可以做很多复杂多变的运算,而GPU做的则是一些简单,重复度高的事情,就像一条流水线,按照固定的步骤执行运算任务,非常熟练,效率很高。编解码,图像绘制等场景下,GPU比CPU更能胜任,对GPU来说只要帮助它建好流水线,它就能在这条流水线上疯狂产出了(因为编解码,图像绘制这种运算规则固定,只要预先设置好,就可以大量并发运算了),所以GPU加速也是由此而来。

早期的Android(3.0以前)并没有GPU加速,而3.0之后的版本,GPU加速的选项在设置中是默认关闭的,这给我们一个错觉就是GPU加速默认是没有开启的。虽然应用可以自主决定是否使用GPU加速的,但能提升体验的事情应用都是愿意去做的,而且Android系统在应用的配置中默认开启了GPU加速(不要被设置的误导了),于是乎当你去开启GPU加速的选项时并不能感受到什么性能上的提升(已经加速了,你还要我咋加速啊)。

你可能会问能享受GPU加速难道还有应用不愿意开启GPU加速吗?确实是有这样的情况的,毕竟是两种完全不同的绘制模式,GPU虽然快,但灵活度不够高,所以有些绘制指令并不支持,有些界面不使用这些绘制指令就画不出想要的效果,所以只能关闭GPU加速。但是好在GPU加速的配置可以是全局的也可以是局部的,所以应用完全可以在有特殊绘制需求的地方关闭GPU加速,而在其它常规绘制场景继续享受GPU加速。但是如果你在设置中强制开启GPU加速,那么在前面说的特殊绘制场景中,可能就会出现显示异常或者系统崩溃了。

虽然现在的应用都尽量支持GPU加速了,绘制的流畅度肯定是有提升的,比如做各种动画更顺了(如果没有Google不是打自己脸么),但是GPU加速并不是无瑕的,因为需要调用OpenGL的接口,载入一些库,所以会额外占用一些内存空间,不过对现在的手机来说,这也算不上啥事了。之前有一篇介绍GPU的文章GPU与高性能计算 ,大家也可以看看。

作者:果果
来自:公众号给产品经理讲技术

--电子创新网--
粤ICP备12070055号