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