Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ряд аудиоадаптеров предлагает возможность аппаратного ускорения DirectSound, что позволяет аппаратное смешивание для одного или нескольких потоков DirectSound. Аппаратное микширование повышает производительность, перенося операции смешивания звука с процессора и выполняя их на аппаратном уровне. Помимо смешивания, оборудование выполняет связанные операции, такие как преобразование частоты выборки (SRC), аттенуация и, при необходимости, трехмерная обработка, которая в противном случае должна быть выполнена в программном обеспечении.
Все устройства воспроизведения WaveCyclic или WavePci имеют один или несколько аппаратных выводов для смешивания звуковых потоков. В случае однопоточного устройства системный драйвер KMixer всегда инициализируется на одном доступном пине рендеринга оборудования.
Устройства с аппаратным ускорением DirectSound предоставляют более одного аппаратного микшировочного контакта. Каждый дополнительный пин можно использовать для микширования потока DirectSound. Потоки DirectSound, которые задействуются в аппаратные контакты микшера, обходят KMixer и избегают задержки программного смешивания внутри KMixer. DirectSound использует все доступные аппаратные ускоренные микшерные входы аудиоустройства, при условии, что эти входы имеют топологию, соответствующую требованиям к упорядочению узлов DirectSound. DirectSound также требует, чтобы пин-коды поддерживали формат данных DirectSound, указанный KSDATAFORMAT_SPECIFIER_DSOUND (см. формат данных DirectSound Stream).
Системный драйвер SysAudio всегда резервирует один аппаратный пин-код для KMixer таким образом, чтобы после того, как все остальные (незарегирвированные) аппаратные пин-коды были выделены, все дополнительные потоки можно смешать KMixer и передать в зарезервированный аппаратный пин-код.
Рисунок в Отрисовка Содержимого Волны с Использованием Программных и Аппаратных Буферов DirectSound иллюстрирует эти концепции.
Если звуковое устройство имеет достаточное количество аппаратных микшировочных разъёмов, все выходные потоки приложения DirectSound могут быть аппаратно ускорены. В противном случае приложение DirectSound имеет несколько вариантов:
Он может статически выделять доступные аппаратные прикрепления для потоков, требующих наименьшей задержки.
Он может динамически выделять доступные аппаратные контакты для смешивания потокам по мере необходимости, рассматривая эти контакты как общий пул ресурсов.
Дополнительные сведения см. в обсуждении управления голосовой связью в документации по пакету SDK для Microsoft Windows.
DirectSound может использовать два типа аппаратных микшеров: 2D и 3D. 2D штифт выполняет SRC, ослабление и смешивание, но не 3D-позиционирование. DirectSound может использовать 2D-пин для 3D-позиционирования, выполняя необходимые вычисления аттенуации и частоты с помощью программного обеспечения и применяя результаты к соответствующим узлам на 2D-пине. В отличие от этого, 3D-закрепление содержит трехмерный узел, который может вычислить собственные трехмерные эффекты непосредственно из 3D-буфера и 3D-прослушивателя, а не полагаться на DirectSound для этого. Список свойств трехмерного узла см. в KSNODETYPE_3D_EFFECTS. Дополнительные сведения о 2D-и трехмерных закреплениях см. в разделе "Поддержка 2D DirectSound Ускорение в WDM Audio и поддержка 3D DirectSound Ускорение в WDM Audio".