测试环境:
MAC OS 15.6
MACBOOK AIR M3芯片
测试软件:
RTL Utility
测试目标:
测试PLATANE USB声卡在MAC OS平台下的延时。
原理:
在录音和键盘MIDI输入的过程中,延时的性能决定了乐手的乐感,延时越低手感越好,对音乐律动的把握越准确。
驱动类型:
DEXT(无需关闭SIP)
开发完WIN下面的驱动和低延时ASIO,一直想把MAC OS下面的驱动也开发出来。目前在MAC下,USB声卡驱动一般采用系统原生驱动+控制的方式,好处是在于驱动稳定,且开发周期短,但是延时比较大,在32采样缓冲的情况下,一般都要到7毫秒左右,另一种是基于苹果的SDK进行驱动的开发,当时没有什么参考,至于延时大小当时未知,但是对于7毫秒的延时对我来讲,还是觉得太过于中庸于是下定决心用SDK自己从头开发。
在MAC平台下开发驱动主要有KEXT和DEXT两种类型,现在苹果官方已经不建议开发者开发KEXT的驱动,苹果美其名曰为了保护内核,开发出这个版本的驱动,那么用户安装的时候就需要关闭SIP。经过反复考量最终还是选择DEXT驱动是进行开发,目前驱动的底层和声卡硬件的控制已经开发完成。
下面是采用RTL Uility进行的硬件环回延时测试实验结果(均为48K情况下测试)。
Buffer 32 samples -> 3.979毫秒
Buffer 64 samples -> 4.875毫秒
Buffer 128 samples -> 6.271毫秒
Buffer 256 samples -> 9.333毫秒
Buffer 512 samples -> 14.104毫秒
结论:DEXT驱动虽然运行在用户空间层,但是通过特殊的技术手段仍然可以达到KEXT驱动一样的低延时性。
由于DEXT的底层主要依托于AudioDriverKit,所以不同的操作系统版本可能有不一样的使用体验,经验证一般在MAC OS15后的操作系统,一般能够正常的使用DEXT驱动。MACOS 13 14不是太完美。
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x