在有些场景下,应用可能确实需要比较复杂的处理逻辑,如复杂动画等,这时,可以考虑在这些场景下将CPU的性能提高到最大,场景过后,再恢复以前的CPU模式。
需要查看手机CPU使用率,首先需要默认打开开发者选项,如下图所示。
如何打开开发者选项中的 show CPU usage,如下图所示。
目前芯片基本支持CPU动态主频调节机制,系统通过不同的算法和策略,自动调节CPU的频率,手机繁忙时升频,手机空闲时降频。但是,在实际测试中发现,在很多场景下,CPU频率不能很快提高频率,或者不能维持在高频率的状态,从而造成卡顿。如下图
为解决场景卡顿问题,系统实现了一套给用户控制CPU的接口,封装在libperfservice.so中,我们在此基础上,增加了一个自己的系统性能服务perfservice中,各内置的APK根据自身逻辑,在特定的卡顿场景下,通过如下方式提高CPU性能:
import com.lava.performance.LavaPerfManager;
PerfManager perfManager = (PerfManager) getSystemService("lava-perfservice");
if (perfManager !=null)
perfManager.enableCPUHightMode(); // open max cpu cores and set max cpu freq
perfManager.disableCPUHightMode();
如下是桌面卡顿图片。
可以通过启动服务的方法,打开或在关闭升降频。如下图是开启场景升频前后的GPU Rending现象比对
这种通过启动一个服务的方法,直接对CPU进行升降频的方法,可以作为参考。
标签:CPU,升频,场景