Мне кажется, что там этих буферов до ...
Буфер usb не может иметь отношения ни к чему кроме usb. Так устроен windows, к буферу usb имеет доступ только драйвер usb. В большинстве ОС используется т н защищённый режим, когда к памяти, которую использует одна программа(драйвер) нет доступа остальным. А обмениваются они через отдельные куски памяти. Такое построение даёт возможность работать одной программе, когда вторая например упала, т е надёжность.
Есть ещё буфер обработки, т к она производится кусками по несколько сэмплов. Вот его мы судя по всему и выбираем в панели управления asio.
Причём его размер обычно указывается либо в сэмплах, либо в мс. Но заметил, что в среднем это значение занижено в 2 раза(на самом деле чуть больше). Тот же cubase например говорит о входной задержке и выходной задержке. И каждая из них в первом приближении равна задержке, выставляемой в панели управления asio.
А дело тут в том, что например для софтового инструмента входной задержки не будет, т к он играет по миди(там своя задержка). А для гитары, подключенной к аналоговому входу все задержки будут суммироваться(если мы хотим обрабатывать её софтом и сразу слышать результат).
А ещё есть буфер в самой карте, причём на запись и воспроизведения отдельный.
Так вот суммарная задержка скорее всего будет складываться из суммы всех этих буферов. Отсюда наверное и все эти цифры.
Нужны все эти буфера как минимум для синхронизации, т к в разных местах цепочки разная скорость(а может ещё и размер блока). К тому же блочная передача как правило быстрее, чем передача одиночного байта, а вот размер блока в разных буферах неодинаков.
Зачем в карте регулируется буфер. Как ни странно, чем меньше размер буфера, тем больше нагрузка на процессор при обработке. Поэтому если у нас проект ненагруженный(т е мало дорожек и обработок), то можно буфер уменьшить и тем самым повысить комфорт для игры. Но когда количество дорожек и обработок растёт, то есть смысл буфер увеличивать, т к в какой-то момент процессор перестанет успевать обрабатывать всё это. А при большем буфере он это делает более эффективно.
Откуда я сделал вывод, что в карте свой буфер. Во первых скорость usb не соответствует сэмплрейту. Поэтому сначала копится буфер со скоростью, определяемой частотой сэмплирования, а потом он быстренько уходит через интетерфейс(usb).
А во вторых подключал как-то внешнюю карту по spdif к внутренней для увеличения количества входов. Так вот измеренная задержка такого варианта включения была на 32(или около того, точно не помню) сэмпла больше, чем задержка с собственного аналогового входа внутренней карты. А значит в карте есть какой-то буфер, хотя в данном случае это буфер самого spdif, который нужен опять же для синхронизации. И это несмотря на то, что в spdif частота совпадает с частотой сэмплирования(в отличии от usb).
Ещё одно наблюдение. Меняя задержку в панели управления asio, по измерению видно, что меняется только часть суммарной задержки, а не пропорционально изменению цифр в панели. Что подтверждает вышеизложенное.