Предотвращение копирования данных
Вы можете повысить производительность драйвера, разработав звуковое оборудование, чтобы избежать ненужного копирования данных.
Вы можете достичь наилучших результатов, реализовав оборудование для выполнения истинной точечной и сборной DMA, а также написав драйвер miniport WavePci для управления оборудованием. Затем устройство может напрямую обращаться к буферам данных воспроизведения или пустым буферам записей, где бы они ни находились в системной памяти. Это позволяет избежать большого количества ненужных программных операций и длительных операций копирования данных.
Однако если вы разрабатываете устройство WaveCyclic, вы можете повысить его производительность, сделав его аппаратный буфер напрямую доступным в виде системной памяти. Это устраняет дополнительные затраты на копирование данных из промежуточного буфера в системной памяти.
Кроме того, если вашему устройству требуется аудиоформат с порядком каналов, несовместимым со стандартными аудиоформатами WDM, драйверу может потребоваться выполнить преобразование на месте каждого звукового кадра в промежуточном буфере, прежде чем оборудование сможет обработать его. Это может снизить производительность. Дополнительные сведения см. в разделе Несколько каналов звуковых данных и WAVE-файлы.