很多朋友的安卓手机用了一段时间都会感觉变卡,这时候去网上搜解决办法,绝大多数的网站都会告诉你在【开发者选项】中打开【强制进行GPU渲染】(强制使用GPU进行2D绘图),有时候打开后的确会变流畅许多,但真的是这样吗?
CPU/GPU的调度
一般来说,手机上2D渲染都是CPU来完成的,也就是处理器。
而GPU(相当于显卡)的职责一般是进行3D绘图。
GPU的绘图速度更快,但相应的功耗也更大,会带来更大的发热及耗电。2D渲染的任务不重,交给CPU就可以低耗能地完成。
手机变卡:CPU瓶颈
CPU既要计算,又要绘图,压力肯定很大。所以就有人想到把2D渲染的任务也交给GPU,这样CPU只要负责计算,运行速度就快了不少。
但这样做有几个很明显的弊端:
部分应用不兼容(非常之少)发热耗电所以开不开强制GPU渲染就只是功耗和流畅之间的取舍吗?
不,不是的。
这与手机的配置也有很大的关系。
像高通的Soc,本身GPU非常强壮,把2D渲染的任务交给它简直就是牛刀杀鸡。
但像是MTK,GPU一直是性能瓶颈,把2D渲染任务扔给它,可能还不一定能保质保量地完成,这时候不开强制才是最好的选择。
举个栗子(数据瞎编)
不开强制GPU,日常应用20FPS,稳定运行。打开强制GPU,日常应用25FPS,使用五分钟后GPU温度过高,自动降频,CPU跟着一起降,15FPS。