Windows Audio 格式:取樣率、位元深度與負載
本頁內容
簡短回答: 在所研究的 Realtek USB Audio endpoint 上,格式 48 kHz / 24-bit 仍是實務上的選擇。切換到 96 或 192 kHz 並未縮短可用的音訊引擎週期或 XAudio2 佇列估計。16-bit 在 CPU 上的優勢以及停用系統效果的好處均未獲得證實。
狀態: 在單一系統上測量,未在其他裝置上重現。結果不能自動套用到其他音訊驅動程式、DAC 或 Windows build。狀態值的說明見研究方法。
本研究回答了四個問題:
- 提高頻率時,shared-mode 音訊引擎週期是否會縮短?
- 在 48 kHz 下,16-bit 相對於 24-bit 和 32-bit 是否會降低負載?
- 停用系統音效是否能帶來可重現的負載降低?
- 對於 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 未用於最終結論。
音訊引擎週期
Section titled “ 音訊引擎週期”| 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
Section titled “ 頻率與 audiodg”表中列出單一追蹤內五個視窗的中位數與範圍。單位 мс/с 表示 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 差異幅度。
48 kHz 下的位元深度
Section titled “ 48 kHz 下的位元深度”| 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 或驅動程式問題時停用它們的理由。
XAudio2 與頻率不匹配
Section titled “ XAudio2 與頻率不匹配”對於固定的 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。
已證實的事項
Section titled “ 已證實的事項”- 在所研究的 endpoint 上,44.1、48、96 與 192 kHz 下可用的 shared-mode 週期均維持 10 毫秒。
- 提高頻率未縮短合成案例中測得的 XAudio2 佇列。
- 16-bit 在
audiodg.exe時間上的優勢未獲證實。 - 停用系統效果的優勢未獲證實。
- 48 kHz / 24-bit 符合裝置的來源格式,且未顯示出相對於相鄰選項的實務劣勢。
未證實的事項
Section titled “ 未證實的事項”- 結果未在其他音訊裝置或 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 與系統效果的原始狀態。沒有殘留作用中的追蹤工作階段。
- Windows Performance Recorder — 基於 ETW 的系統事件記錄。
- Windows 11 release information — 版本 25H2 與 OS build 26200 分支的對應。
- Low Latency Audio — 音訊引擎週期、驅動程式的角色與
IAudioClient3的能力。 - XAUDIO2_PERFORMANCE_DATA — cycles、queue latency 與 glitches 的值。
- IXAudio2::GetPerformanceData — 取得 XAudio2 performance data。
研究完成:2026-08-20。公開來源與措辭已檢查:2026-08-24。
- 2026-09-20: 結構調整為強制格式——「限制」與「還原狀態」獨立為單獨章節;小數分隔符與時間單位調整為系列風格(逗號、「毫秒」);新增關於利益衝突的免責聲明。
- 2026-08-24: 首次發布;公開了在單一系統上的測量、結果套用範圍與狀態還原。
