このセクションでは、オーディオ ハードウェア ベンダーが WavePci デバイスのパフォーマンスと信頼性を向上させるために使用できるハードウェアとソフトウェアの設計に関するガイドラインを示します。 これらのガイドラインはすべて、Microsoft Windows XP 以降で動作するように設計されたオーディオ デバイスとドライバーに適用されますが、多くは Windows 98 Second Edition に戻る以前のバージョンの Windows にも適用されます。
ウェーブ フィルターで説明したように、ポート クラス システム ドライバー Portcls.sysは、ウェーブ レンダリングとキャプチャ デバイス用の 2 つの異なるポート ドライバーを提供します。
WaveCyclic はハードウェアとソフトウェアの要求が少なくなりますが、バッファー間でデータをコピーするソフトウェア のオーバーヘッドによってパフォーマンスが制限されます。
WavePci は WaveCyclic のパフォーマンス指向の代替手段ですが、より高度なハードウェアとドライバー ソフトウェアが必要です。
WavePci という名前は PCI バスに接続するオーディオ デバイスを意味しますが、実際、WavePci デバイスの主な要件は、システム メモリ内の任意の場所のデータにアクセスできる散布/収集 DMA コントローラーが含まれていることです。
一般的な WavePci デバイスは PCI バス上に存在しますが、理論的には、少なくとも、PCI 以外のシステム バス (AGP など) 上に存在するデバイスに対して WavePci ミニポート ドライバーを記述できます。
PCI バス上に存在するが、分散/収集 DMA がないウェーブ デバイスは、WaveCyclic ドライバーでは表すことができますが、WavePci ドライバーでは表されません。
これまで、一部のベンダーでは、完全に機能する WavePci デバイスの実装が困難でした。 2 つの主な問題領域は次のとおりです。
パフォーマンスを低下させるハードウェア設計上の欠陥。
パフォーマンスまたは信頼性に影響を与えるドライバー実装エラー。
このエクスペリエンスは、WavePci デバイスのハードウェアとソフトウェアの主要な設計上の問題に対処する次のトピックに取り上げられます。