系统的cpu占用和软件内部的cpu占用的具体参数其实不一样,系统是按cpu工作时间占比来算,而daw是按照即时计算出来的音频长度在可用缓冲区的占比来算的,也就是说假设你缓冲区设置512,你的宿主内cpu占用面板在50%的意思是你现在cpuh可以在一半都缓冲区时间内就能把音频计算完,从而不会产生爆音,当你的cpu占用满载的时候代表你的cpu计算速度跑不过播放速度也就是缓冲区欠载了。这是两者统计内容不同而造成的不一样,是完全正常的。如果你想问为什么软件里面cpu都算不过来了。但是我电脑系统的cpu时间上占用才这么点呢?下面我引用fl studio用户手册的话来给你解答(主要看一下时间尺度和逻辑尺度,指标尺度就是我上边解释的):
人们通常会打开Windows 任务管理器或macOS 活动监视器,并注意到并非所有核心都在充分使用,或者 FL Studio CPU 计量表和操作系统 CPU 计量表不匹配。如果您遇到音频故障并且发现操作系统 CPU 使用率远未达到 100%,这可能会令人沮丧。让我们看看 FL Studio CPU 仪表与操作系统 CPU 仪表,看看为什么这是预期的和正常的。我们将考虑指标、时间和逻辑:
不同的指标- 实时音频以称为“音频缓冲区”的短段生成(长度约为 5-20 毫秒,具体取决于您的设置)。当您按“播放”时,在第一个音频缓冲区填满并且第二个缓冲区开始工作之前,不会听到任何声音。换句话说,您始终在收听过去创建的 1 个缓冲区的音频。FL Studio CPU 仪表测量每个音频缓冲区的填充速度。具体来说 - (填充缓冲区所需的时间/缓冲区长度)。50% 表示缓冲区的音频是在可用时间的一半内生成的。另一方面...
操作系统CPU计量器测量总体 CPU“利用率”。利用率是 CPU 上正在使用的处理单元的百分比。将它们想象成计算器,并想象您的 CPU 有 16 个可用的计算器。具体来说 - (正在使用的处理槽/可用的处理槽)。50% 意味着一半的处理单元正在使用中,或者对于我们的示例,16 个计算器中有 8 个正在使用。因此,利用率与处理能力有关,而不是处理给定任务(例如 FL Studio 音频)的速度。简而言之,FL Studio 的仪表测量时间(处理速度),操作系统测量容量(正在使用的处理槽)。这两个衡量指标并不相同,即使它们都以百分比形式报告!但是等等,还有更多:时间尺度和逻辑。
时间尺度- FL Studio CPU 仪表与音频缓冲区大小相关,约为 10 毫秒。操作系统 CPU 计量器以固定的 ~ 1000 ms 间隔工作。时间尺度相差100倍左右!虽然操作系统 CPU 仪表可能显示 30% 的利用率,但在过去 1000 毫秒内,在此期间可能多次出现实时音频处理中断的情况。为什么?如果实时音频流必须等待输入流完成,您可能会遇到音频故障,或者至少会遇到非常高的 FL Studio CPU 仪表读数。同时,操作系统可能会报告总体和/或单个 CPU 利用率较低。CPU 可能有很多空闲处理单元。只是所使用的设备无法跟上实时输出的情况。对于音频生成来说,CPU 必须等待程序和系统相关任务完成才能继续,因此可能很难跟上实时音频输出。每秒不间断地持续生成约 44100 个样本并不是一项简单的任务。CPU 必须“等待”的原因与逻辑有关:
音频处理的逻辑-有一长串必须按顺序处理的任务,这意味着逻辑上不能并行处理(多线程)。例如:插件必须等待来自钢琴卷帘和播放列表的指令才能发出声音。效果器必须等待来自上游乐器和 FX 的音频,然后才能对其进行处理。此外,无法并行处理(多线程)位于同一 Mixer 通道(其中音频混合在一起)的乐器和 FX,甚至无法并行处理同一 Mixer 路由管道(当一个 Mixer 轨道链接到另一轨道时)和另一个)。即使FX 处理在 FX 堆栈中也有从上到下的顺序)。然后,主混音器轨道必须等待每个乐器 > 混音器轨道 > 效果处理完毕,然后才能通过主效果处理音频。因此从逻辑上讲,存在大量等待,这是顺序音频处理的自然且不可避免的事实。将音频生成视为一条生产线。这意味着 CPU 可能不会特别繁忙,会使用其所有处理单元和内核,但它却没有时间来填充音频缓冲区。为什么?因为有很多需要按顺序处理的事情需要等待,等待基本上就是浪费缓冲时间。应该清楚的是,快速处理非常重要,这与多核/多线程处理不同。
换言之就是在一条链路上的声音要依次计算,下一个必须等待前一个算好才可以继续算,这个时候多核cpu显得就没那么有用了,而单核自己的性能往往更重要,当然多核本身就是很重要的对于庞大工程必不可少,但并不能解决一条链路中计算时间过长的问题,类似于短板效应
当然两个宿主软件不一样,但是背后基本逻辑是一样的,希望楼主可以参考。
原信息网址
https://www.image-line.com/fl-st ... anels.htm#panel_cpu
你在protools的操作手册上应该也能找到类似的话
本帖最后由 ARCHIMAGE 于 24-7-17 03:03 编辑