版本: Unity 6 (6000.0)
语言English
  • C#

AudioSettings.GetDSPBufferSize

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public static void GetDSPBufferSize(out int bufferLength, out int numBuffers);

参数

bufferLength 是环形缓冲区中每个缓冲区的长度。
numBuffers 是缓冲区的数量。

描述

获取混音器的缓冲区大小(以样本为单位)。

缓冲区大小可以在“项目设置 -> 音频 -> DSP 缓冲区大小”中设置。

软件混音器将声音混合到环形缓冲区中,此环形缓冲区的大小在此处确定。它每“bufferLength”个样本混合一段声音数据,并且有“numBuffers”个这样的数据块构成整个环形缓冲区。调整这些值可以带来极低的延迟性能(较小的值),或提高声音输出的稳定性(较大的值)。“缓冲区大小”通常最好保持不变。减小粒度只会增加 CPU 使用率(缓存未命中和 DSP 网络开销)。增大它会影响您听到音量/音调/声像等命令更新的频率。任何超过 20 毫秒的值都会很明显,并且声音参数更改会很明显,而不是平滑的。Unity 默认选择最优大小以获得最佳稳定性,并考虑输出类型和使用的驱动程序。除非您确实需要,否则不建议更改此值。您可能会获得比 Unity 选择的默认设置更差的性能。

其他资源:音频设置