下面这段话也值得参考:
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?).