谷歌Pixels使用一种特殊的调度程序和负载跟踪系统
随着最近推出的谷歌像素 2,用户可能被打破,发现设备不炫耀了3.5mm耳机插孔,而是必须依赖于任何USB-C音频或蓝牙。如果系统处于高负载下,则依赖于蓝牙音频可能会出现问题,因为播放可能会出现故障或开始跳过。这可能会导致不良的用户体验,并且蓝牙音频偶尔会跳过也很常见。这是因为系统需要进行额外的处理才能将蓝牙流式传输到另一个设备。Google会根据我们最近在Android开放源代码存储库中发现的一项承诺实施一个好的解决方案,即 授予 蓝牙音频播放的实时CPU调度。这应该可以解决以前由于系统在播放时负载过重而导致的跳过蓝牙音频的所有问题。
实时蓝牙音频播放处理意味着什么?
听起来很简单,但实际上很多。当我们提到处理速度时,实际上是指两件事。其中之一是实际的处理器及其每秒产生的周期数,另一个是可以安排多快的进程 。当程序在您的设备上运行时,将使用“调度程序”进行计算。调度程序决定应该运行什么以及何时运行,从而优先处理某些进程。
值得注意的是,Google Pixels使用一种特殊的调度程序和负载跟踪系统,其形式为能量感知调度(EAS),但理论是相同的。如果某个进程被授予“实时” CPU调度,则仅意味着对于每个CPU周期,该进程(在本例中为Bluetooth音频播放)的优先级几乎高于所有其他进程。这使设备可以首先处理所有蓝牙音频播放,因此即使在高负载下,蓝牙音频播放也应接近完美。