0

一段时间前,我们开始将声音引擎迁移到 XAudio2,但还没有完成。目前我们仍在使用 OpenAL,并且遇到了一个问题,即“源”的最大数量(我相信在 XAudio2 中被称为“声音”)取决于您的硬件。

我们可以升级我们的 OpenAL 东西以回收资源,但如果 XAudio2 为我们解决了这个问题,那么我宁愿专注于完成迁移。

我无法找到有关此的任何信息,也没有看到人们在使用 XAudio2 解决此问题的任何帖子......所以我猜没有限制?

4

1 回答 1

1

XAudio2 没有硬语音限制,因为它是所有软件混音,但是基于您的目标硬件存在实际限制,通常会导致混音器无法跟上时出现故障。

XNA Game Studio 在 Xbox 360 上实施了 300 个声音的限制,因此对于试图同时运行完整 3D 游戏的“现代 PC”来说,这可能是一个实际的上限。3D 定位声音的数量、运行的效果器/DSP 的数量以及其他因素也将相当程度地降低该数字。

通常有超过 64 个播放声音可能很难被挑选出来,因此大多数语音管理系统会重复使用合理的声音子集并动态分配它们。例如,用于音频语音管理的 DirectX 工具包默认为“无限”语音,但支持设置为“单次”和“实例”分配的最大语音数量、回收语音池等机制。

于 2016-08-31T07:30:12.773 回答