Поделиться через


Проблемы реализации устройств WavePci

В этом разделе приведены рекомендации по проектированию оборудования и программного обеспечения, которые поставщики звукового оборудования могут использовать для повышения производительности и надежности своих устройств WavePci. Все эти рекомендации применяются к звуковым устройствам и драйверам, которые предназначены для работы с Microsoft Windows XP и более поздних версий, но многие также применяются к более ранним версиям Windows, возвращающимся к Windows 98 Second Edition.

Как описано в разделе "Фильтры волн", системный драйвер класса портов Portcls.sysпредоставляет два разных драйвера портов для отрисовки волн и записи устройств:

  • WaveCyclic менее требовательны к оборудованию и программному обеспечению, но его производительность ограничена программными затратами на копирование данных между буферами.

  • WavePci является ориентированной на производительность альтернативой WaveCyclic, но требует более сложного программного обеспечения оборудования и драйвера.

Хотя имя WavePci подразумевает звуковое устройство, которое подключается к шине PCI, на самом деле, основное требование для устройства WavePci заключается в том, что он содержит контроллер DMA, способный получать доступ к данным в любом месте системной памяти:

  • Обычное устройство WavePci находится на шине PCI, но, по крайней мере, драйвер минипорта WavePci может быть написан для устройства, который находится на системной шине, отличной от PCI (например, AGP).

  • Волновое устройство, которое находится на шине PCI, но не поддерживает scatter/gather DMA, может быть представлено драйвером WaveCyclic, но не драйвером WavePci.

Исторически некоторые поставщики столкнулись с трудностями в реализации полностью функциональных устройств WavePci. Двумя основными областями проблемы являются:

  1. Недостатки проектирования оборудования, которые ухудшают производительность.

  2. Ошибки реализации драйвера, влияющие на производительность или надежность.

Этот опыт сведен в следующие темы, которые рассматривают ключевые вопросы проектирования аппаратного и программного обеспечения для устройств WavePci:

Требования к оборудованию для устройств WavePci

Проблемы с производительностью драйвера Miniport WavePci

Проблемы с надежностью драйвера Miniport WavePci