練習 3 - 使用 MXA 確認全螢幕視訊播放期間音訊已卸載
在支援音訊卸除的晶片組上卸除音訊處理會導致音訊和音訊/視訊播放案例在 Windows 中使用媒體引擎的電池使用時間更長。 此練習會使用 媒體 eXperience Analyzer (MXA) 工具來判斷是否在全螢幕視訊播放期間將音訊卸載至硬體。
步驟 1:載入在全螢幕視訊播放期間擷取的 ETW 追蹤
安裝屬於 Windows ADK 一部分的媒體 eXperience Analyzer (MXA)。
以滑鼠右鍵按兩下 [開始] 功能表,然後按兩下[命令提示字元] [系統管理員]。
流覽至您安裝 MXA 的資料夾。
在這裏下載 AudioNotOffloaded.etl。
執行以下命令:
xa -i <AudioNotOffloaded.etl location>\AudioNotOffloaded.etl
例如,如果您將 AudioNotOffloaded.etl 下載到 C:\Performance\Media\,您會輸入下列命令:
xa -i C:\Performance\Media\AudioOffload\AudioNotOffloaded.etl
按 [ 關閉符號] 按鈕以關閉符號查閱。
步驟 2:確認收集 ETW 追蹤時已轉譯音訊
追蹤載入之後,將 Microsoft-Windows-MediaFoundation-Performance 提供者拖放到面板中。
按兩下此資料集旁的複選框兩次,以取消選取 Microsoft-Windows-MediaFoundation-Performance 提供者中的所有事件。
啟用工作 Audio_Render – 482 個事件。
如果您的音訊轉譯事件會在追蹤中引發,則會在收集追蹤時播放音訊。
如上述螢幕快照所示,Microsoft-Windows-MediaFoundation-Performance 提供者 (Task Audio_Render – 482) 中的音訊轉譯事件會記錄在整個追蹤中。 這會驗證音訊是否正在播放。
步驟 3:判斷音訊是否已卸除至硬體
將 CPU 排程器 資料集拖放到面板中。
按兩下 CPU 排程器資料集根目錄的複選框兩次,以取消選取所有事件。
展開 [ CPU 排程器 數據集] 和 [Windows 系統進程 ] 節點。
按兩下複選框一次, 以選取audiodg.exe 程式。
如果整個播放會話每 10 毫秒發生一次線程活動audiodg.exe,則不會卸除音訊。 如需範例,請參閱 MXA 螢幕快照 #1。
如果只在啟動和關機期間audiodg.exe線程活動,則會卸除音訊。 如需範例,請參閱 MXA 螢幕快照 #2。
使用 AudioOffloaded.etl 追蹤,而不是 AudioNotOffloaded.etl 重複步驟 1、2 和 3。
MXA 螢幕快照 #1:在未卸除音訊的系統上進行追蹤
請注意, audiodg.exe 會每 10 毫秒喚醒一次,以處理整個追蹤中的音訊樣本。
MXA 螢幕快照 #2:在要卸除音訊的系統上進行追蹤
請注意,audiodg.exe進程中的線程活動非常低,在播放的啟動和關機階段存在。 另請注意,在穩定狀態期間沒有線程活動。