Дополнительные параметры конфигурации
Дополнительные параметры конфигурации
Рис. 2: Панель управления ASIO4ALL в расширенном режиме
В расширенном режиме панель управления содержит элементы для тонкой настройки. В списке устройств появляются подпункты, повторяющие архитектуру вашей звуковой подсистемы.
Список содержит устройства, интерфейсы устройств и т. н. «выводы» (в терминологии Микрософт®).
Как и с целыми устройствами в упрощённом режиме, здесь можно включать/выключать уже отдельные элементы устройств и настраивать устройства на совместное использование.
При совместном использовании устройства работают по одному тактовому источнику. Этого можно достичь, например, последовательным соединением по интерфейсу S/PDIF. К счастью, USB-устройства, работающие от хост-контроллеров с одним тактовым источником, уже синхронизированы. Если вы не пользуетесь дополнительными USB-контроллерами, то все устройства работают от одного тактового генератора, расположенного на материнской плате.
Если устройства не синхронизированы, то их аудиопотоки могут опережать и отставать друг от друга.
Справа расположены дополнительные элементы управления 5–9.
5. Компенсация задержки
Потому как ASIO4ALL не располагает подробной информацией об архитектуре аппаратных средств и драйвера, величина компенсации выбирается лишь предположительно.
Этими ползунками можно скомпенсировать задержки, неизвестные ASIO4ALL, чтобы, например, записанные фрагменты в секвенсоре воспроизводились в нужный момент со всем остальным.
При совместной работе нескольких устройств выбирается наибольшее значение. Если разные устройства имеют различные собственные задержки, то в результате возможна асинхронность.
6. Включение/отключение аппаратного буфера
В случае с драйверами WaveRT (Windows Vista) этот флажок подписан как «Режим извлечения (WaveRT)».
Доступ к аппаратному буферу обычно встречается только в драйверах типа «WavePCI». Другие типы WDM-драйверов, как правило, не дают прямого доступа к аппаратному буферу. Самое большое преимущество при использовании аппаратной буферизации в том, что основные вычислительные ресурсы системы расходуются значительно меньше.
Основные параметры, влияющие на производительность аппаратного буфера, — «Размер буфера ASIO» и «Смещение в буфере» (п. 7). Аппаратная буферизация лучше работает с мелким буфером ASIO, нежели с крупным. Для начала попробуйте установить размер буфера на 128 или 256 сэмплов.
Возможно совместное использование устройств с доступом к аппаратному буферу и без доступа, но это не рекомендуется. Если аппаратная буферизация не поддерживается каким-либо устройством, то возникает отчётливо слышимая задержка в сотню-другую миллисекунд.
«Режим извлечения (WaveRT)»
Есть два основных метода доступа к устройствам WaveRT. «Режим извлечения» (pull-mode, «режим событий») и «режим помещения» (push-mode, «режим опроса»). Последний поддерживается всеми драйверами WaveRT и всеми версиями платформы. В отличие от него режим извлечения был довольно поздно документирован Микрософтом и потому работает далеко не везде.
Если флажок не поставлен, то ASIO4ALL никогда не будет использовать этот режим. Иначе будет использовать его по возможности. Режим извлечения лучше синхронизирован и считается технически более совершенным, чем режим помещения.
Драйвер ASIO4ALL версии 2.8 работал так, как если бы флажок был установлен. Если при работе с установленным флажком проблем не возникает, то следует оставить этот режим для большей производительности.
7. Число буферов ядра / смещение в буфере
Если аппаратная буферизация не используется, то этот параметр отвечает за число буферов на выходе. Каждый дополнительный буфер увеличивает задержку в соответствии с размером.
Поэтому изменять значение по умолчанию, равное двум, следует только на слабых системах, на которых трудно поставить мелкий размер буфера ASIO.
Если же аппаратная буферизация используется, то параметр отвечает за величину зазора в миллисекундах между позицией, где ASIO4ALL будет записывать данные (и где будет происходить их чтение), и позицией, которую ASIO4ALL считает текущей позицией чтения или записи. Это звучит сложно до тех пор, пока вы не видите код, который всё это рассчитывает:)
Общее правило звучит так: с более высокими значениями увеличивается и стабильность, и задержка, с более низкими эффект обратный.
В звуковых картах, построенных на базе Envy24, может быть параметр «DMA Buffer Transfer Latency» (задержка при передаче данных в буфер с прямым доступом к памяти) или что-то в этом роде. Этот параметр следует ставить на минимальное значение.
8. Преобразование между 44.1 и 48 Кгц
ASIO4ALL может в реальном времени преобразовывать частоту дискретизации от 44.1 КГц в 48
КГц и обратно. Преобразование происходит автоматически в случаях, когда ASIO4ALL открывается в режиме 44.1 КГц, а WDM-драйвер не поддерживает эту частоту.
В некоторых случаях драйверы стандарта AC97 могут поддерживать частоту 44.1 КГц, преобразовывая её самостоятельно. Однако преобразование выполняется с довольно сомнительным качеством и проблемами со стабильностью. Чтобы избавиться от этого, включите данный параметр. Как минимум с одной из версий WDM-драйвера SoundMAX (smwdm.sys) этот параметр обязательно должен быть включён, чтобы частота 44.1 КГц вообще поддерживалась.
9. Принуждение к работе WDM-драйвера в 16-разрядном режиме
Этот параметр работает только с теми драйверами, которые сообщают о возможности работы с потоком разрядностью более 16 бит (и меньше 24), но фактически отказываются от этого.
Примером такого драйвера является SigmaTel AC97.