我在 Windows 7 和 10 上使用并熟悉了两个应用程序,并且还想在运行 Ubuntu(具有低延迟内核)的新桌面上使用它们,即 Guitar Rig 5 和 FL-Studio Producer Edition 12.4!除此之外,我已经开始在制作工作流程的某些部分使用 Linux,但还不愿意放弃 GR5 和 FLS。
由于音乐制作应用程序对延迟/延迟非常敏感,我想知道如果我采用 Wine 路线,或者在 Ubuntu 主机上的 Virtualbox 上使用 Windows 10 来宾虚拟机,是否可以获得更好的性能(更低的延迟)?
如果回复引用了运行这两种应用程序(基于 Wine 的应用程序和 Windows-VM)的个人经验,并观察到其中一个比另一个表现更好,或者可以提供我可以尝试思考或交叉的理论推理,我将非常感激。核实。
答案1
根据个人经验,只要您不需要个位数毫秒的延迟,并且应用程序不通过 DirectX 处理音频执行复杂的操作,那么使用 Wine 应该不会有任何问题。我没有用其中的东西进行实际的音频制作,但我在其中玩过游戏,即使游戏中音频和视频的轻微不同步也会在玩游戏时导致问题,所以我不厌其烦地实际测量延迟。在我的测试中,在我的系统上,相对于在 Linux 上本地运行的相同音频播放(相同文件、相同软件),我得到了大约 30 毫秒的延迟,但请注意,该系统经过优化以最小化延迟,但大多数情况并非如此那里有发行版。
也就是说,即使不是这样,VirtualBox 几乎肯定会提供更差的延迟。
对于本机应用程序,音频采用以下路径(在大多数情况下):
Application -> [Audio Library] -> [Sound Server] -> Sound Driver -> Hardware
音频库和声音服务器在功能上是可选的。因此,本质上,音频在到达硬件之前要经过 3 到 5 层。
对于在 Wine 下运行的 Windows 应用程序,您将拥有以下内容:
Application -> [Audio Library -> [Audio Library]] -> Wine -> Sound Server -> Sound driver -> Hardware
只有应用程序和 Wine 之间的音频库是可选的。这意味着音频在到达硬件之前要经过 4 到 6 层。
当 Windows 应用程序在 Virtual Box(或其他 VM 平台)中的 Windows 中运行时,您会遇到以下问题:
Application -> [Audio Library -> [Audio Library]] -> Windows Sound Driver -> VirtualBox Emulated Hardware -> Audio Library -> Sound Server -> Linux Sound Driver -> hardware
只有虚拟机内的音频库在功能上是可选的。因此,对于 VirtualBox,音频必须经过 6 到 8 层。
请注意,这一切都假设您主要关心平均延迟,如果您也想最小化延迟差异,那么事情会变得更加复杂,但最终您仍然比使用 VirtualBox 更好地在本机运行(或在 Wine 下运行失败)。
答案2
使用 Wine 提供的 WIN32 或 WIN64 API 函数而不是 Windows 提供的应用程序,原则上应该以相同的速度运行。 Wine 不是模拟器。然而,Wine 中的某些函数实现比 Windows 中的函数实现慢,而有些函数实现则更快。
众所周知,《魔兽世界》在 Wine 下运行得比在 Windows 上运行得更好。
虚拟化增加了一个可能会影响性能的层。
如果 Wine 实际上可以运行相关应用程序,它应该会产生最佳结果。
答案3
Wine 非常适合较旧的 Win NT4/95/98/Me/2000/XP 和 Vista 版本。它仍然适用于 Win 7、8、8.1 和 10,但它们之间对 Wine 的兼容性越来越差。
Wine 与 Direct X 和 Asio 驱动程序(ASIO4ALL = 免费)结合使用可以产生很好的效果。
对于 7/8/8.1 和 10,我会尝试本地运行操作系统。 Wine 更像是一个直接层,与 VM 中相比,它更多地在模拟模式下运行。