メインコンテンツまでスキップ

フリーズの最小化

このガイドでは、RuntimeSpeechRecognizerプラグインにおけるフリーズの一般的な原因を2つ取り上げ、そのパフォーマンスへの影響を軽減するための実用的な解決策を提供します。

キャプチャ可能なサウンドウェーブ

StartCapture 関数を使用してキャプチャ可能なサウンドウェーブを開始する際に、エンジン固有で現在はエンジン固有コードの変更なしには避けられない短い遅延が発生することがあります。この遅延の時間は、音声データを入力デバイス(マイク)から取得するためのプラットフォーム固有のコードの実行に関連しており、プラットフォームによって異なります。この遅延は、Windows、Mac、Android、iOSなどのプラットフォームで観察されていますが、他のプラットフォームでも関連している可能性があります。

この遅延を最小化するために、その影響がわずかで済む時に StartCapture 関数を呼び出してキャプチャを開始することを検討してください。例えば、ロード画面中が理想的です。StartCapture を呼び出した直後に、Mute パラメータを True に設定して ToggleMute 関数を使用します。そして、音声データのキャプチャを開始する準備ができたら、Mute パラメータを False に設定して ToggleMute を呼び出してキャプチャ可能なサウンドウェーブをアクティブにします。さらなる情報はこちらで確認できます。

音声認識の開始

StartSpeechRecognition を呼び出して音声認識をトリガーすると、エンジンが言語モデルアセットをロードするため、わずかなフリーズが発生することがあります。このプロセスは非同期で、別スレッドで実行されるように設計されていますが、エンジンは内部的にゲームスレッドでいくつかの操作を実行するため、大きなアセット、特に言語モデルの際には、顕著なわずかなラグが発生します。

このフリーズを解消するには、上記で説明した原則に従って、ラグの影響が受け入れられる、またはわずかで済む時間に StartSpeechRecognition を呼び出してください。例えばロード画面中が理想的です。