Voice starvation与CPU优化思路

声部匮乏。此错误表明声音引擎无法及时生成音频缓冲区,造成缓冲区耗尽。
产生原因:
音频线程(也叫EventManager线程或LowerEngine线程)被游戏中的另一个线程抢占——在这种情况下,即使Wwise本身处理的内容不多,所显示的百分比依然会很高。音频线程的默认优先级是Above Normal(高于正常) 。让这个线程保持更高的优先级是很重要的。有一种好的做法是通过在AkPlatformInitSettings::threadLEngine 中为支持它的平台强制亲和性来让它保持在同一个CPU核心上。
游戏在Wwise回调函数中处理内容过多。回调中的锁定也会导致音频线程等待,从而显示为更高的CPU占用。
Wwise本身处理内容过多。这时,仔细监控不同的性能监视数值就变得尤为重要。
https://security.feishu.cn/link/safety?target=https%3A%2F%2Fwww.audiokinetic.com%2Fzh%2Flibrary%2Fedge%2F%3Fsource%3DHelp%26id%3DErrorCode_VoiceStarving&scene=ccm&logParams=%7B%22location%22%3A%22ccm_docs%22%7D&lang=zh-CN
cpu优化思路
https://blog.audiokinetic.com/zh/profiling-troubleshooting-and-debugging-using-wwise/
虚声部系统。
减少效果器。
控制声源:如果是一些不规则的发声体,比如河流小溪,可以考虑使用动态声源点,不在可听范围内的声音尽可能不去渲染。