ホーム
製品リスト
ダウンロード
オンラインショップ
お問い合わせ
会社概要
ブログ
検索
ダウンロード
ショップ
お問い合わせ
会社概要
ブログ
Toggle navigation
Jungo
製品ホーム
製品
WinDriver 製品一覧
WinDriver PCI
WinDriver USB
WinDriver for Servers
Windows ドライバーのデジタル署名サービス
WHQL (HLK) プレテスト代行サービス
ダウンロード
WinDriver PCI
WinDriver USB
価格
技術情報
テクニカル情報
マニュアル ダウンロード
テクニカル ドキュメント
FAQ
リリースノート
ブログ
お問い合わせ
テクニカル ドキュメント #17
Doc ID:
17
製品:
WinDriver
Version:
--
WinDriver を使用して、どのようにドライバのパフォーマンスを向上できますか?
ドライバのパフォーマンスおよびデータ転送率は、OS の仕様、ハードウェアおよびドライバの設計に依存します。
PCI/ISA の場合
=========
WD_Transfer() を呼んで、カーネルでメモリにアクセスする代わりに、ユーザー モード アプリケーションから直接、メモリ アドレスにアクセスできます。
[直接メモリにアクセス場合、以下のようにユーザー モード マップを使用します:
cardReg.Card.Item[i].I.Mem.dwUserDirectAddr
- ユーザー マニュアルの WD_CardRegister() を参照してください]。
I/O アドレスにアクセスする場合、WD_Transfer() の複数回の呼び出しを WD_MultiTransfer() を1回呼び出すように置き換えて、文字列転送を使用することによって、ドライバのパフォーマンスを向上します。
[このことは、メモリ アクセスにも当てはまりますが、直接メモリにアクセスする方が早いです]。
ドライバのパフォーマンスをより向上させるには、WinDriver の Kernel PlugIn 機能を使用して、ドライバの全体的なパフォーマンスを向上することによって、ユーザー モードからカーネルへコードのクリティカルな部分のパフォーマンスを向上します。たとえば、この機能で、カーネルで直接割り込みを処理できます。Kernel PlugIn の詳細はユーザー マニュアルを参照してください。Kernel PlugIn は、VxWorks および Windows CE には対応していません。これらの OS は、ユーザー モードとカーネルの区別がありません。VxWorks の場合、windrvr_isr call-back 関数を使用して、割り込み処理速度を向上できます。
USB の場合
=======
データ転送率を向上させるには、複数のデータ転送 (小さなデータ バッファを使用) を1回のデータ転送 (大きなデータ転送を使用) に置き換えてください。これによって、関数の呼び出しの重複が避けられ、ユーザーとカーネル モード間のコンテキストの切り替えを減少できます。
[データ バッファのサイズを WDU_Transfer() 関数の dwBufferSize 引数に設定します]。
メモ: WDU_Transfer() への呼び出しで使用するバッファのサイズは、デバイスの最大パケット サイズに制限されていませんが、最大パケット サイズの倍数のバッファ サイズを使用することを推奨します。
デバイスのファームウェアを編集することによって、転送率を向上することもできます (たとえば、ハードウェアの最大パケット サイズを大きくすることによって)。
このサイトでは、サイトや広告を改善するために Cookie を使用します。サイトを利用することで、Cookie の使用に同意するものといたします。詳細は
プライバシーについて
をご覧ください。
同意する