录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店
Cubase / Nuendo

欢迎探讨,一个老话题,但是很重要!ASIO的Buffer的大小和CPU占用率的关系。

( 4 )
 
[收藏]

202
#1 09-11-5 17:02

欢迎探讨,一个老话题,但是很重要!ASIO的Buffer的大小和CPU占用率的关系。

欢迎探讨,一个老话题,但是很重要!ASIO的Buffer的大小和CPU占用率的关系。
这个问题积攒许久,困惑了几年。以前一直以为是Cubase(Nuendo )版本的问题,但是新版本依然有这个矛盾存在。
我的机器是双至强的cpu,声卡是Motu HD192,不算太好的配置,但是过得去,但是发现Motu的Buffer在512的缓存下(11.46ms)进行工作的时候非常容易出现cpu益出,如果加大buffer则工作顺畅,没有问题,但是VST音源就相当延迟,大约22ms。
问题1、声卡的Buffer大小是否决定ASIO宿主对cpu占用的比例,也就是说bufer越大则cpu占用越小,是否是如此状况?
问题2、如果加大Cpu 配置,是否能够在同样的缓存下补充宿主对Cpu的占用率?
问题3、Buffer大小的Cpu占用率比例是否是ASIO声卡驱动的瓶颈,如果是这样就麻烦了。

欢迎大家探讨,帮助解决!

202
#2 09-11-5 17:08
补充一句:Cubase里面cpu益处的时候,但是我的系统资源管理器里面的cpu占用才67%,前提是声卡buffer放小的情况下。

202
#3 09-11-5 17:20
下面这段话是一个老兄的回复:归根结底还是电脑不够快!这是理由吗?
In general, small ASIO buffer sizes are less efficient in terms of CPU processing. If you graph buffer size against CPU workload for a given mix of active plugins etc you will see that the CPU load climbs with each reduction of buffer size - so that at low buffer sizes like 32 and 64 samples your mix might be unplayable and at 512 or 1024 your CPU copes easily.
As computer CPU and memory systems get faster, it is more and more practicable to use very low latency buffer sizes (<1 msec) and this is quite desirable when tracking with effects or when using software based midi instruments - VSTi synths and samplers.
But of course, with all that CPU power sitting there, developers of plugins are using more and more CPU in the better quality synths and plugins so that they are using up the extra CPU capacity which means you may need to preserve CPU by raising buffer sizes if you are mixing a tune with many plugins.
It's a bit like the old "Intel giveth and Microsoft taketh away" business with Windows OS and apps become more bloated and slow with each iteration so that you may eventually need a quadcore running at 5GHz to type into Word 2015 without a significant delay after each keystroke.

202
#4 09-11-5 17:27
下面这段话也值得参考:
Audio processing is done in buffers in your audio programs (and also inside VST effects).
The buffer size is a number of samples, and depending on the sample rate it represents the latency (the same number of samples at a _higher_ sample rate results in a _lower_ latency, but also a higher CPU load, since it has to process more samples within a given time).
Why buffers?
Usually the programs initializes a lot of stuff before you process the buffer, and keep as little code as possible inside the buffer process loop. Stuff ouside the loop could/should be "heavy" computation, such as calculating coefficients for a sweeping filter etc., while the buffer loop would contain only the simple multiplication and addition operations required to do the actual filtering. By doing this we save _a_lot_ of CPU time, which we can use for processing even more buffer loops.
When the buffer loop is complete, the program probably also has to set some variables and perform some copy/mix operations. The buffer is then handed over to the next process in the chain.
All this is done for each process you add to your sound(s). Each plugin you add will add yet another buffer loop to the pool.
When you decrease the buffer size you _increase_ the number of "outside loop" operations, and thus you increase the load on the CPU. When you computer gets too busy it may not complete the buffer loop in time to deliver its samples to the mixing bus, which, in turn, has to deliver to the driver/soundcard. The result will be unpleasant cackling noise or what's worse (crash?).

283
#5 09-11-7 02:42
升级吧~~~
俺i7 4.2g+DDR3-2000
Nuendo4.3,9632 32buffer跑20个0 sample的Vst效果器没爆音....再多都懒得试鸟....
基本上纯音频+0 sample的Vst,随便跑
跑视频的话,另计了,另外L316之类的非0Sample效果器当然也另计了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索