跳至主要内容

最小化凍結

本指南探討 RuntimeSpeechRecognizer 插件中兩個常見的凍結來源,並提供實用解決方案以減輕效能影響。

可捕捉聲波

當使用 StartCapture 函數啟動可捕捉聲波時,您可能會遇到短暫延遲,這是引擎特有的問題,目前若未修改引擎特定程式碼則無法避免。此延遲的持續時間因平台而異,因為它與從輸入裝置(麥克風)擷取音訊資料的平台特定程式碼執行有關。此延遲已在 Windows、Mac、Android 和 iOS 等平台上觀察到,也可能與其他平台相關。

為最小化此卡頓,請考慮在影響可忽略的時間點(例如載入畫面期間)呼叫 StartCapture 函數來啟動捕捉。在呼叫 StartCapture 後,立即使用 ToggleMute 函數並將 Mute 參數設為 True。當您準備好開始捕捉音訊資料時,再透過呼叫 ToggleMute 並將 Mute 參數設為 False 來啟動可捕捉聲波。您可以在此處查看更多相關資訊。

啟動語音辨識

當您透過呼叫 StartSpeechRecognition 觸發語音辨識時,可能會因引擎載入語言模型資產而發生輕微凍結。儘管此過程設計為非同步並在單獨執行緒上執行,但引擎仍會在遊戲執行緒上內部執行某些操作,導致明顯的輕微延遲,尤其是在處理語言模型等大型資產時。

為消除此凍結,請遵循與上述相同的原則:在延遲影響合理或可忽略的時間點(例如載入畫面期間)呼叫 StartSpeechRecognition