Saltar al contenido principal

Minimizar congelamientos

Esta guía aborda dos fuentes comunes de congelamiento en el plugin RuntimeSpeechRecognizer y proporciona soluciones prácticas para mitigar el impacto en el rendimiento.

Onda sonora capturable

Al iniciar la onda sonora capturable usando la función StartCapture, puede experimentar un breve retraso, que es específico del motor y actualmente inevitable sin modificar el código específico del motor. La duración de este retraso varía entre plataformas, ya que está vinculada a la ejecución de código específico de cada plataforma para la recuperación de datos de audio desde el dispositivo de entrada (micrófono). Este retraso se ha observado en plataformas como Windows, Mac, Android e iOS y puede ser relevante para otras.

Para minimizar este inconveniente, considere iniciar la captura llamando a la función StartCapture en un momento en que su impacto sea insignificante, como durante una pantalla de carga. Inmediatamente después de llamar a StartCapture, use la función ToggleMute con el parámetro Mute configurado en True. Y cuando esté listo para comenzar a capturar datos de audio, active la onda sonora capturable llamando a ToggleMute con el parámetro Mute configurado en False. Puede ver más información relevante aquí.

Iniciar reconocimiento de voz

Cuando activa el reconocimiento de voz llamando a StartSpeechRecognition, puede ocurrir un ligero congelamiento debido a la carga del motor del recurso del modelo de lenguaje. A pesar de que este proceso está diseñado para ser asíncrono y ejecutado en un hilo separado, el motor todavía realiza internamente ciertas operaciones en el hilo del juego, lo que lleva a un ligero retraso notable, especialmente con grandes recursos como modelos de lenguaje.

Para eliminar este congelamiento, adhiera al mismo principio descrito anteriormente: llame a StartSpeechRecognition en un momento en que el impacto del retraso sea justificable o insignificante, como durante una pantalla de carga.