2011-01-19 4 views
2

これは本質的に私が昨日尋ねた質問の再状態です。なぜなら、私が得た答えの1つが私の質問を理解していないように見えたからです。私の悪い。グラフィックスカードの感度を避けるためのWPF戦略?

WPFはDirectXに依存しているため、カードやドライバの内部に非常に敏感です。私はいくつかのシンプルなWPFプログラムが、大手ブランドの高性能グラフィックスカードと最新のドライバを搭載した最新の1台の新しいPCに間違ってレンダリングするケースがあります。グラフィックスカードを無効にすると、問題はなくなります(つまり、統合されたgrahicsを使用します)。だから私はそれがカードかドライバであることを知っています。これらのプログラムは、私がそれらを試したいくつかの他の古いPCでうまくレンダリングされます。

WPFのプログラマーは、このようなリスクやエクスポージャーを最小限に抑えるために使用できる展開戦略またはプログラミング戦略がありますか? WPFで主要なブランドのPCやグラフィックスカードで正しくレンダリングできない場合となりますか? WPFでこのような問題がどのように共通するのでしょうか?

オリジナルのポスト:あなたは、ハードウェア依存のレンダリング問題が発生している場合はWPF graphics card problem

答えて

3

、あなたがソフトウェアレンダリングを強制することによってそれを回避することができます。 WPFの開発者として、私はこの問題について心配していません。

(私の経験ではこれはほとんど必要ありませんでした;ほとんどの場合、ビデオグリッチの場合、顧客が最新のドライバを持っていることを確認して問題を解決しました。 WPF 4を使用している場合は、RenderOptions.ProcessRenderModeを使用して、現在のプロセスのソフトウェアレンダリングを強制します。

WPF 3.5では、唯一の選択肢は、レジストリを編集してすべてのWPFアプリケーションのハードウェアレンダリングを無効にすることです。 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphicsキーを作成/開き、値0x1のDWORD値DisableHWAccelerationを作成します。

詳細については、Software Rendering Usage in WPFを参照してください。

+0

ありがとうございます - これはまさに私が探している情報の種類です! ....現在のドライバを保有する顧客に関して、ほとんどのWPFアプリケーションは、開発者が社内の企業ユーザーベースなどの入力を受けたターゲットユーザー向けに書かれていますか?私はミュージシャンのためのスケジューリングswを書いています - ランダムな普通のPCを持つ普通のユーザー。 WPFはそれにとって悪い選択ですか? –

+0

@Peter:私が主に取り組むWPFアプリケーション(Logos Bible Software)は、主に牧師や他の「普通の」ユーザーに配備されています。彼らは、統合グラフィックスまたはローエンドDX10カード(ゲーマーリグではない)を備えた古いシステムを実行する傾向があります。私たちの経験では、WPF(グラフィカルに豊富で、簡単なUI、データバインディング、アニメーションなど)のメリットは、ドライバーのアップグレードによって技術に精通していないユーザーを歩く必要がある技術サポートのコストをはるかに上回ります。 –

+0

@Peter:WPFには互換性の問題があります(例:http://code.logos.com/blog/2009/11/how_to_crash_every_wpf_application.html)。ソフトウェアを手に入れることができないユーザーが増えていますWPF(WinForms以上)を使用して作業することができますが、WPFを使用してより優れたUIを提供することで、大部分のユーザーをより幸せにすることができます。 –

関連する問題