9.2.10 的缓冲是一个固定值,用户自己在 100 到 500ms 之间选。这个设计对愿意调参的人友好,对绝大多数人等于没有——装完就用默认的 200ms,网络好时嫌它慢,网络差时嫌它断。9.2.11 改的就是这一点:把选择权交给客户端,按实时网络状况自动升降。
版本目前在灰度,覆盖约 12% 的 Windows 与 macOS 用户,更新日志写的是「优化播放稳定性,减少卡顿与爆音」。下面是灰度包里实际生效的规则与我们拿到的两周数据。
为什么固定缓冲不够用
固定缓冲的问题在于它假设网络状况不变。家宽晚高峰的丢包率可能是白天的五倍,而缓冲值在整个会话里不动,于是同一档设置上午够用、晚上不够。用户感知到的就是「白天好好的,晚上一直卡」。
自适应策略每 5 秒采样一次最近 30 秒的丢包率、往返延迟与抖动,落进三档:稳定(丢包 <0.5%、抖动 <20ms)用 150ms;一般(丢包 0.5%~2%)用 250ms;不稳定(丢包 >2% 或抖动 >80ms)用 400ms。切换是渐进的,每次只调 50ms,避免听感突变。
| 档位 | 触发条件 | 缓冲深度 | 切歌响应 |
|---|---|---|---|
| 稳定 | 丢包 <0.5%,抖动 <20ms | 150ms | 约 0.21s |
| 一般 | 丢包 0.5%~2% | 250ms | 约 0.32s |
| 不稳定 | 丢包 >2% 或抖动 >80ms | 400ms | 约 0.50s |
手动设置并没有被删掉,只是挪到了「高级」折叠区。老用户如果已经调过参数,升级后会保留原值,不会被自动策略覆盖,这一点在灰度说明里写得很清楚。
灰度两周的数据
灰度组与对照组的版本差异只有缓冲策略,其他代码一致。统计口径是「单次播放会话中出现 ≥1 次非用户操作导致的中断」,样本为两周内的全部播放会话。
| 指标 | 9.2.10 对照组 | 9.2.11 灰度组 | 变化 |
|---|---|---|---|
| 播放卡顿率 | 1.82% | 1.20% | -34% |
| 弱网(丢包 >2%)中断率 | 6.4% | 2.5% | -61% |
| 平均切歌响应 | 0.26s | 0.30s | +40ms |
| 爆音反馈工单(每万会话) | 3.7 | 1.9 | -49% |
| 手动改缓冲设置的比例 | 8.1% | 2.3% | -72% |
卡顿率下降主要来自弱网场景,这与策略设计一致:稳定网络下缓冲从 200ms 降到 150ms,理论上更容易断,但实测中断反而少了,原因是切歌时的重新协商更快,暴露在空窗期的时间更短。
代价是切歌响应平均慢了 40ms。这个数字单看不大,但在连续快速跳歌时会累积成体感差异。灰度期间有 1.4% 的用户在反馈里提到「切歌变钝」,产品侧表示会在正式版把稳定档的下限压到 120ms。
「自动策略最难的不是算法,是让用户相信它没有在背着自己做坏事。所以我们把当前档位显示在了播放页的长按菜单里。」——版本说明会上的原话
已知问题与回退方式
灰度包已知两个问题。一是 Linux 版的自适应尚未接入,仍然使用固定缓冲,界面上的「自动」选项是灰的;二是 macOS 在切换输出设备后的 30 秒内,采样窗口会把切换瞬间的抖动误判为不稳定,缓冲被抬到 400ms,之后不会自动降回来,需要手动切一次档位。
想退出灰度,可以在「设置 → 关于 → 参与体验计划」里关闭,客户端会在下次启动时回退到 9.2.10。回退不会清除下载内容,但会重建一次媒体索引。正式版预计在 11 月上旬推送,届时五个平台同步。
对普通用户来说,这个版本不需要做任何设置,装完即用;对手动调过参数的人,建议先恢复默认再观察一周,自适应在多数网络条件下比固定值更省心。安装包可在下载页获取。
用户评论(5 条)
弱网中断降了六成这个我信,我在出租屋晚上天天断,灰度之后确实好多了。
切歌慢 40ms 我能感觉到,尤其是连按下一首的时候,有点黏。
切输出设备那个 bug 我中了,缓冲卡在 400 下不来,得手动切一下。
Linux 又落后一个版本,自动缓冲是灰的,习惯了。
手动设置挪到高级里有点藏,找了半天,不过保留原值这点做得对。