このトピックでは、WPF アプリケーションに影響を与える WPF グラフィックス レンダリング レジストリ設定の概要について説明します。
グラフィックス レンダリング レジストリ設定を使用する場合
これらのレジストリ設定は、トラブルシューティング、デバッグ、および製品サポートの目的で提供されます。 レジストリの変更はすべての WPF アプリケーションに影響するため、アプリケーションでこれらのレジストリ キーを自動的に変更したり、インストール中に変更したりしないでください。
XPDM と WDDM とは
一部のグラフィックス レンダリング レジストリ設定では、ビデオ カードで XPDM ドライバーと WDDM ドライバーのどちらを使用するかに応じて、既定値が異なります。 XPDM は Microsoft Windows XP ディスプレイ ドライバー モデルで、WDDM は Windows ディスプレイ ドライバー モデルです。 WDDM は、Windows Vista および Windows 7 を実行しているコンピューターで使用できます。 XPDM は、Windows Vista、Microsoft Windows XP、および Microsoft Windows Server 2003 を実行しているコンピューターで使用できます。 WDDM の詳細については、「 Windows ディスプレイ ドライバー モデル (WDDM) 設計ガイド」を参照してください。
レジストリ設定
WPF には、WPF レンダリングを制御するための 4 つのレジストリ設定が用意されています。
設定 | 説明 |
---|---|
ハードウェア アクセラレーション オプションを無効にする | ハードウェア アクセラレーションを有効にするかどうかを指定します。 |
最大マルチサンプル値 | アンチエイリアシング 3D コンテンツのマルチサンプリングの次数を指定します。 |
必須のビデオドライバー日付設定 | 2004 年 11 月より前にリリースされたドライバーのハードウェア アクセラレータをシステムで無効にするかどうかを指定します。 |
リファレンス ラスタライザー オプションを使用する | WPF で参照ラスタライザーを使用するかどうかを指定します。 |
これらの設定には、WPF レジストリ設定を参照する方法を知っている任意の外部構成ユーティリティからアクセスできます。 これらの設定は、Windows レジストリ エディターを使用して値に直接アクセスして作成または変更することもできます。
ハードウェア アクセラレーション オプションを無効にする
レジストリ キー | 値の種類 |
---|---|
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration |
DWORD(ダブルワード、32ビット無符号整数) |
[ ハードウェア アクセラレーションを無効にする] オプション を使用すると、デバッグとテストの目的でハードウェア アクセラレーションをオフにすることができます。 アプリケーションでレンダリング成果物が表示されたら、ハードウェア アクセラレーションをオフにしてみてください。 アーティファクトが消えた場合、問題はビデオ ドライバーにある可能性があります。
ハードウェア アクセラレーションを無効にするオプションは、0 または 1 の DWORD 値です。 値 1 を指定すると、ハードウェア アクセラレーションが無効になります。 値が 0 の場合、システムがハードウェア アクセラレーション要件を満たしている場合、ハードウェア アクセラレーションが有効になります。詳細については、「 グラフィックス レンダリング層」を参照してください。
最大マルチサンプル値
レジストリ キー | 値の種類 |
---|---|
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\MaxMultisampleType |
DWORD(ダブルワード、32ビット無符号整数) |
マルチサンプルの最大値を使用すると、3D コンテンツのアンチエイリアシングの最大量を調整できます。 Windows Vista で 3D アンチエイリアシングを無効にするには、このレベルを使用します。
最大マルチサンプル値は、0 から 16 の範囲の DWORD 値です。 値 0 は、3D コンテンツのマルチサンプル アンチエイリアシングを無効にすることを指定し、値 16 はビデオ カードでサポートされている場合、最大 16 倍のマルチサンプル アンチエイリアシングの使用を試みます。 XPDM ドライバーを使用するコンピューターでこのレジストリ キー値を設定すると、アプリケーションで大量のビデオ メモリが使用され、3D レンダリングのパフォーマンスが低下し、レンダリング エラーや安定性の問題が発生する可能性があります。
このレジストリ キーが設定されていない場合、WPF の既定値は XPDM ドライバーの場合は 0、WDDM ドライバーの場合は 4 です。
必要なビデオドライバーの日時設定
レジストリ キー | 値の種類 |
---|---|
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\RequiredVideoDriverDate |
糸 |
2004 年 11 月、Microsoft は新しいバージョンのドライバー テスト ガイドラインをリリースしました。この日付より後に記述されたドライバーは、より優れた安定性を提供します。 既定では、WPF はこれらのドライバーにハードウェア アクセラレーション パイプラインを使用し、この日付より前に公開された XPDM ドライバーのソフトウェア レンダリングにフォールバックします。
必要なビデオ ドライバーの日付設定を使用すると、XPDM ドライバーの代替の最小日付を指定できます。 ビデオ ドライバーが WPF をサポートするのに十分な安定していると確信している場合は、2004 年 11 月より前の日付のみを指定する必要があります。
必要なビデオ ドライバーの設定は、次の形式の文字列を受け取ります。
文字列の形式 |
---|
YYYY/ MM/ DD |
ここで、YYYY は 4 桁の年、MM は 2 桁の月、DD は 2 桁の日です。 この値が設定されていない場合、WPF は必要なビデオ ドライバーの日付として 2004 年 11 月を使用します。
参照ラスタライザー オプションを使用する
レジストリ キー | 値の種類 |
---|---|
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\UseReferenceRasterizer |
DWORD(ダブルワード、32ビット無符号整数) |
[ 参照ラスタライザーの使用] オプション を使用すると、WPF をデバッグ用のシミュレートされたハードウェア レンダリング モードに強制できます。WPF はハードウェア モードになりますが、実際のハードウェア デバイスではなく、Microsoft Direct3D 参照ソフトウェア ラスタライザー (d3dref9.dll) を使用します。
参照ラスタライザーは非常に低速ですが、ドライバーの問題によって発生するレンダリングの問題を回避するためにビデオ ドライバーをバイパスします。 このため、参照ラスタライザーを使用して、レンダリングの問題がビデオ ドライバーによって発生しているかどうかを判断できます。 d3dref9.dll ファイルは、システム パス内の任意の場所やアプリケーションのローカル ディレクトリなど、アプリケーションがアクセスできる場所に存在する必要があります。
use reference rasterizer オプションは DWORD 値を受け取ります。 値 0 は、参照ラスタライザーが使用されていないことを示します。 その他の 0 以外の値を指定すると、WPF で参照ラスタライザーが強制的に使用されます。
こちらも参照ください
.NET Desktop feedback