• Home
  • Reviews
  • Articles
  • News
  • Tools
  • GamingHeaven
  • Forums
  • Network
 

Go Back   DriverHeaven.net > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > ASIO

Notices

Reply
 
LinkBack Thread Tools
Old Jun 14, 2004, 12:31 PM   #1
DriverHeaven Newbie
 
Join Date: May 2004
Location: NYC
Posts: 9
Rep Power: 0
lucasvickers is on a distinguished road

ASIO buffer size help

Sorry if this is answered elsewhere but I have not come across it in the documents yet, and I searched the forum but did not find what I am looking for.

what's the advantage / disadvantage of bigger / smaller buffers for the ASIO, or any driver?

bigger buffer = delay but less chance of crackle?

Thanks!
Lucas
lucasvickers is offline   Reply With Quote


Old Jun 14, 2004, 05:12 PM   #2
DriverHeaven Lover
 
Join Date: Aug 2003
Posts: 209
Rep Power: 0
miguel is on a distinguished road

exactly, also the smaller buffers cause higher CPU load
miguel is offline   Reply With Quote
Old Jun 19, 2004, 09:10 PM   #3
DriverHeaven Newbie
 
Join Date: May 2004
Location: NYC
Posts: 9
Rep Power: 0
lucasvickers is on a distinguished road

Quote:
Originally posted by miguel
exactly, also the smaller buffers cause higher CPU load
are there any docs on this subject?
lucasvickers is offline   Reply With Quote
Old Jun 20, 2004, 12:11 AM   #4
DH's Latest Mac Convert
 
dj_stick's Avatar
 
Join Date: Jun 2003
Location: Basement of the first floor
Posts: 15,749
Rep Power: 71
dj_stick is a name known to alldj_stick is a name known to alldj_stick is a name known to alldj_stick is a name known to alldj_stick is a name known to alldj_stick is a name known to all
System Specs

not kX related… but it means the CPU has to work harder to keep the buffers full
dj_stick is offline   Reply With Quote
Old Jun 20, 2004, 08:34 AM   #5
DriverHeaven Lover
 
Join Date: Aug 2003
Posts: 209
Rep Power: 0
miguel is on a distinguished road

I guess the smaller the buffers the more often they need to be refilled
miguel is offline   Reply With Quote
Old Jun 20, 2004, 09:39 AM   #6
DriverHeaven Newbie
 
Join Date: May 2004
Location: NYC
Posts: 9
Rep Power: 0
lucasvickers is on a distinguished road

yeah I noticed that --- if I had a small buffer then whenever i opened a webpage or something the sound would crackle.

i am curious what each buffer correlates to. thats really what i dont get

thanks for the help everyone
lucasvickers is offline   Reply With Quote
Old Jun 20, 2004, 04:56 PM   #7
DriverHeaven Lover
 
Join Date: Aug 2003
Posts: 209
Rep Power: 0
miguel is on a distinguished road

You might notice less cracling if you set priority to background services in the system's properties. With this setting you should be able to cause high enough system load to lock the screen refresh but audio will keep playing in time.
miguel is offline   Reply With Quote
Old Jun 20, 2004, 08:12 PM   #8
DriverHeaven Newbie
 
Join Date: May 2004
Location: NYC
Posts: 9
Rep Power: 0
lucasvickers is on a distinguished road

good call

thanks
lucasvickers is offline   Reply With Quote
Old Jun 21, 2004, 03:52 AM   #9
kX Project DSP Engineer
 
Join Date: Dec 2002
Location: Denmark
Posts: 94
Rep Power: 0
Soeren_B is on a distinguished road

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?).

/Soeren
Soeren_B is offline   Reply With Quote
Old Jun 21, 2004, 08:34 AM   #10
DriverHeaven Newbie
 
Join Date: May 2004
Location: NYC
Posts: 9
Rep Power: 0
lucasvickers is on a distinguished road

Thank you everyone for the detailed information,
it has been very insightful.

I am still curious, however, what each buffer is used for (there exists about 6 I believe on the KX buffer setup menu - I am at work so I can not see).

again thanks for your time

Lucas
lucasvickers is offline   Reply With Quote
Old Jun 21, 2004, 08:38 AM   #11
DH's Latest Mac Convert
 
dj_stick's Avatar
 
Join Date: Jun 2003
Location: Basement of the first floor
Posts: 15,749
Rep Power: 71
dj_stick is a name known to alldj_stick is a name known to alldj_stick is a name known to alldj_stick is a name known to alldj_stick is a name known to alldj_stick is a name known to all
System Specs

very detailed soeren… and lucasvickers, i think that each buffer may be for a seperate channel
dj_stick is offline   Reply With Quote
Old Jun 21, 2004, 09:11 AM   #12
DriverHeaven Lover
 
Join Date: Feb 2004
Location: Latvia
Posts: 154
Rep Power: 0
Doomsayer is on a distinguished road

It tells you if you place your cursor over them.
Doomsayer is offline   Reply With Quote
 

 
Powered by: vBulletin
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
vBulletin implementation by Craig '5320' Humphreys

All times are GMT -5. The time now is 03:59 PM. Copyright ©2008 HeavenMedia.net