Minimiser les gels
Ce guide aborde deux sources courantes de gels dans le plugin RuntimeSpeechRecognizer et propose des solutions pratiques pour atténuer leur impact sur les performances.
Onde sonore capturable
Lors du démarrage de l'onde sonore capturable via la fonction StartCapture
, vous pouvez rencontrer un bref délai, spécifique au moteur et actuellement inévitable sans modification du code spécifique au moteur. La durée de ce délai varie selon les plateformes, car il est lié à l'exécution de code spécifique à la plateforme pour la récupération des données audio depuis le périphérique d'entrée (microphone). Ce délai a été observé sur des plateformes comme Windows, Mac, Android et iOS, et pourrait concerner d'autres.
Pour minimiser ce ralentissement, envisagez de démarrer la capture en appelant la fonction StartCapture
à un moment où son impact est négligeable, comme pendant un écran de chargement. Immédiatement après l'appel à StartCapture
, utilisez la fonction ToggleMute
avec le paramètre Mute
défini sur True
. Et lorsque vous êtes prêt à commencer la capture des données audio, activez l'onde sonore capturable en appelant ToggleMute
avec le paramètre Mute
défini sur False
. Vous pouvez trouver plus d'informations pertinentes ici.
Démarrer la reconnaissance vocale
Lorsque vous déclenchez la reconnaissance vocale en appelant StartSpeechRecognition
, un léger gel peut survenir en raison du chargement par le moteur de l'asset de modèle de langage. Bien que ce processus soit conçu pour être asynchrone et exécuté sur un thread séparé, le moteur effectue toujours certaines opérations en interne sur le thread du jeu, ce qui entraîne un léger lag perceptible, particulièrement avec des assets volumineux comme les modèles de langage.
Pour éliminer ce gel, respectez le même principe que décrit ci-dessus : appelez StartSpeechRecognition
à un moment où l'impact du lag est justifiable ou négligeable, comme pendant un écran de chargement.