To protect playback from glitches during heavy system load or file access lag, resource-heavy operations such as decoding and DSP are always performed ahead of currently heard sound (this is not unique to foobar2000, all or nearly all media players behave this way). This setting controls the distance between decoding/DSP and output.
- High buffer sizes offer stronger protection against glitches but introduce side effects such as long delay between changing DSP settings (eg. adjusting equalizer bands) and changes in sound output.
- Low buffer sizes allow faster responses to DSP configuration changes at cost of higher risk of stuttering during high system load / file access lag / etc.
Controls the audio data format passed to the operating system / audio drivers / etc. You should refer to your soundcard's documentation to find the optimal setting; using bit depth higher than supported by your hardware might work but will not improve output audio quality in any way and may degrade performance.
Note that this option is not available with some output modes such as ASIO - ASIO architecture doesn't support variable data formats by design, the format that needs to be sent is determined by the driver.
Dithering can be used to improve quality of 16-bit playback in certain cases. However, it uses lots of extra CPU power and is not recommended for general use.