有时会需要高性能去让芯片在单位时间内处理更多的事情,例如读取文件系统文件,处理i2c的数据,处理更好的音乐音质等等,而在默认代码是有调节的接口,也有动态调节的配置,但这个配置是在某些情况下才触发,所以有时不能满足我们的需求。高通的新的蓝牙芯片内核分为两种,一种为处理音频数据的内核(DSP),另一种处理协议、系统、外围等应用层功能的内核。这两种内核也有不同的工作频率,并且可以设置工作频率,可以在datasheet查到。注意:工作频率高了,单位时间内处理的工作量就多了,功耗自然也会上去。
那在代码中如何设置这个工作频率呢?首先看看应用层的内核设置,VmRequestRunTimeProfile 是设置应用层工作模式的API,一共可以设置三个模式
而耳机一般都在VM_BALANCED模式。而当需要快速处理某些动作是会通过appPowerPerformanceProfileRequest进入VM_PERFORMANCE模式,处理完成后会通过appPowerPerformanceProfileRelinquish 退出VM_PERFORMANCE模式。
DSP控制工作频率就有很多选择,一共有8个等级的时钟配置,
还有多种节能模式搭配使用
这些配置都在appKymeraConfigureDspPowerMode 中设置,这里面会根据kymera的状态设置不同的参数,例如anc、通话、听音乐(不同的编解码)、播提示音都会有不一样的配置。举个栗子,使用APTX播放音乐,并且加了10段EQ,这时候就有可能会出现卡顿,因为DSP有点处理不过来了,这时候只需要把DSP提高一个等级即可。