最小化卡顿
本指南讨论了RuntimeSpeechRecognizer插件中两种常见的卡顿来源,并提供了实际解决方案,以减轻性能影响。
可捕捉的声波
在使用StartCapture
函数启动可捕捉声波时,可能会遇到短暂的延迟,这种延迟是引擎特定的,并且在不修改引擎特定代码的情况下目前无法避免。此延迟的持续时间因平台而异,因为它与用于从输入设备(麦克风)检索音频数据的平台特定代码执行相关。在Windows、Mac、Android和iOS等平台上已观察到这一延迟,可能对其它平台也相关。
为了最小化这种卡顿,考虑在影响可以忽略不计的时刻开始捕捉,如在加载屏幕期间。调用StartCapture
后,立即使用ToggleMute
函数并将Mute
参数设置为True
。当准备好开始捕获音频数据时,通过调用ToggleMute
并将Mute
参数设置为False
来激活可捕捉的声波。您可以在这里查看更多相关信息。
开始语音识别
当通过调用StartSpeechRecognition
触发语音识别时,可能会出现轻微卡顿,这是由于引擎加载语言模型资产导致的。尽管此过程设计为异步且在单独的线程上执行,但引擎内部仍在游戏线程上执行某些操作,导致明显的轻微延迟,特别是在处理大型资产如语言模型时。
为消除这种卡顿,请遵循上面所述的相同原则:在影响可以接受或忽略不计的时刻调用StartSpeechRecognition
,如在加载屏幕期间。