跳转到内容

Windows Audio 格式:采样率、位深与负载

本页内容

简短回答: 在被研究的 Realtek USB Audio endpoint 上,格式 48 kHz / 24-bit 仍是实际选择。切换到 96 或 192 kHz 并未减少可用的音频引擎周期或 XAudio2 队列估计。16-bit 在 CPU 上的优势以及禁用系统效果的好处均未得到证实。

状态: 在单台系统上测量,未在其他设备上复现。结果不能自动套用到其他音频驱动、DAC 或 Windows build。状态含义见研究方法。

本研究回答了四个问题:

  1. 提高频率是否会缩短 shared-mode 音频引擎周期?
  2. 在 48 kHz 下,16-bit 是否比 24-bit 和 32-bit 降低负载?
  3. 禁用系统音效是否能带来可复现的负载下降?
  4. 对于 48 kHz 的源,endpoint rate 的变化与 XAudio2 内部工作有何关系?

测量未检查音质、FPS、游戏延迟或数字信号与扬声器之间的物理延迟。

参数 值
测量日期 2026-08-20
Windows Windows 11 Pro 25H2, x64
OS build 26200.8655
处理器 AMD Ryzen 7 7800X3D, 8 核 / 16 线程
内存 32 GB
设备 扬声器, Realtek USB Audio
驱动 Realtek USB Audio 6.4.0.2422 于 2025-08-07
原始 device format 48 kHz, 24-bit PCM, stereo
Shared mix format 48 kHz, 32-bit float, stereo
原始效果 已启用
测试用例 17 条轨迹,每个用例一条轨迹
轨迹分析 五个连续的 10 秒窗口

原始轨迹记录了 Windows build 26200 分支和音频设备数据。完整 revision、Windows edition、处理器型号和内存容量于 2026-08-24 从同一台计算机额外读取。测量与配置再次记录之间相隔四天。

endpoint 的唯一标识符和原始系统跟踪不公开。

用例按随机顺序执行。每个用例使用 3 秒预热,随后 52 秒系统跟踪和五个 10 秒分析窗口。

检查了两种负载类型:

  • 稳定的 shared-mode WASAPI 流,用于比较频率、位深和效果;
  • 合成 XAudio2 负载,具有 8、32 或 64 个活动 voices,源为 44.1 或 48 kHz。

Windows Audio 的主要指标是进程 audiodg.exe 的 scheduler running time,表示为每秒运行毫秒数。另外读取了 XAudio2 performance data、glitches 数量和跟踪丢失统计。

同一轨迹的五个窗口相互关联,仅用作描述性离散度。它们不是五次独立运行。系统整体后台负载发生变化,因此 whole-machine CPU、绝对 DPC 和 ISR 未用于最终结论。

Endpoint rate Frames 周期
44,1 kHz 441 10,0 毫秒
48 kHz 480 10,0 毫秒
96 kHz 960 10,0 毫秒
192 kHz 1920 10,0 毫秒

Endpoint 仅返回 10 毫秒周期。其驱动不支持 5 毫秒和 2.5 毫秒周期。提高频率增加了每周期 frames 数,但未缩短周期时长。

这是特定设备与驱动组合的特性。Microsoft 指出,可用 buffer 大小由音频驱动决定,应用程序可通过 IAudioClient3 请求支持的选项。详见:Low Latency Audio。

表中给出单条轨迹内五个窗口的中位数和范围。单位 мс/с 表示进程 audiodg.exe 在每秒观察时间内执行了多少毫秒。

Endpoint rate audiodg, median 窗口范围
44,1 kHz 4,34 毫秒/秒 4,24–4,86 毫秒/秒
48 kHz 4,23 毫秒/秒 4,20–5,63 毫秒/秒
96 kHz 4,77 毫秒/秒 4,72–5,70 毫秒/秒
192 kHz 5,19 毫秒/秒 5,07–5,94 毫秒/秒

在这一系列中,96 和 192 kHz 未显示 audiodg.exe 时间下降。但每个频率只有一条轨迹,且后台负载发生变化。该表不能证明频率之间存在通用的 CPU 差异幅度。

Device format audiodg, median 窗口范围
16-bit 4,07 毫秒/秒 4,03–4,35 毫秒/秒
24-bit 4,23 毫秒/秒 4,20–5,63 毫秒/秒
32-bit 4,20 毫秒/秒 4,16–4,64 毫秒/秒

范围相互重叠,且独立重复次数不足。根据这一系列,不能断言切换到 16-bit 会带来可复现的负载下降。

在 48 kHz / 24-bit 下,启用效果时 audiodg.exe 的中位数为 4,23 毫秒/秒,禁用时为 4,39 毫秒/秒。平均值因原始轨迹中一个较高的窗口而朝相反方向变化。

未确定禁用效果具有可靠优势。该结果不构成在没有具体 Audio Processing Object 或驱动问题时禁用它们的依据。

对于固定的 48 kHz 源和 32 voices,获得以下 XAudio2 performance data:

Endpoint rate Audio cycles/s 相对于 48 kHz 队列估计
44,1 kHz 25 116 2,31× 37,28 毫秒
48 kHz 10 870 1,00× 37,27 毫秒
96 kHz 55 574 5,11× 37,18 毫秒
192 kHz 87 016 8,00× 37,18 毫秒

Microsoft 将 AudioCyclesSinceLastQuery 定义为 XAudio2 在上一次请求之后处理音频所花费的 CPU cycles。CurrentLatencyInSamples 是最后传给驱动的数据与正在播放的数据之间的近似距离。参见 XAUDIO2_PERFORMANCE_DATA 和 IXAudio2::GetPerformanceData。

在此合成用例中,提高 endpoint rate 增加了 XAudio2 的内部工作,但几乎未改变其队列估计。每个变体只获得一个 performance summary,因此这些系数只是对该次运行的描述,而非对游戏的通用预测。

在所有 17 条轨迹中记录到:

  • 0 audio glitches;
  • 0 丢失的 ETW events;
  • 0 丢失的 ETW buffers。
  • 在被研究的 endpoint 上,44.1、48、96 和 192 kHz 下可用的 shared-mode 周期均保持 10 毫秒。
  • 提高频率未减少合成用例中测得的 XAudio2 队列。
  • 16-bit 在 audiodg.exe 时间上的优势未得到证实。
  • 禁用系统效果的优势未得到证实。
  • 48 kHz / 24-bit 与设备原始格式一致,且未显示相对相邻变体的实际劣势。
  • 结果未在其他音频设备或 Windows build 上复现。
  • 完整 Windows revision 和计算机总体配置在测量四天后记录,而非在原始轨迹内。
  • 未测量物理 DAC、ADC、acoustic 或 input-to-sound latency。
  • 未评估音质和差异可听性。
  • 未检查对具体游戏、FPS 和 frametime 的影响。
  • 未隔离单个 vendor APO 的贡献。
  • 确切的总体 CPU 影响不能套用到其他性能水平的处理器。

原始 ETL 不公开:它们包含与进程和系统状态无关的信息。上表经人工筛选,不包含唯一 endpoint ID、usernames、本地路径或 command lines。

本研究及所用工具属于 BoosterX 开发者,因此开发者对结果有直接利益。方法和适用范围已在上文描述,结论可通过公开数据和所列公开来源核查。

对于被研究的设备,合理做法是保留 48 kHz / 24-bit,并且在没有具体诊断出的问题时不禁用系统效果。为降低延迟而选择 96 或 192 kHz 未得到本研究支持。

这不是适用于所有 DAC 和驱动的通用设置。若设备报告更短的 shared-mode period 或使用其他音频路径,则需要单独测量。

完成后已恢复 48 kHz / 24-bit PCM 和系统效果的原始状态。没有残留的活动跟踪会话。

研究完成:2026-08-20。公开来源和表述核查:2026-08-24。

  • 2026-09-20: 结构已调整为强制格式——“限制”和“恢复状态”被拆分为独立章节;小数分隔符和时间单位已统一为系列风格(逗号、“毫秒”);添加了关于利益冲突的免责声明。
  • 2026-08-24: 首次发布;公布了单台系统上的测量、结果适用范围和状态恢复。