3

がっかりしたことに、私が取り組んでいるアプリケーションの 1 つが、特定のコンピューターではかなりうまく表示されないことがわかりました。UI の静的なグラフィックスとテキストは、何らかのアニメーションを行わないと破れるという深刻なケースに悩まされています。これにより、テキストが読めなくなり、もちろん、グラフィックスの見栄えも悪くなります。

さまざまなコンピューターでこの問題に気付きましたが、本当に考えさせられたのは、Radeon Mobility ビデオ カードを搭載した新しい東芝ラップトップでした。混乱。これは明らかにビデオ カードに影響を与える電源ライン ノイズの問題のように見えます - ハードウェア アクセラレーション グラフィックスを推測しています。ただし、WPF 以外のグラフィックスは正常にレンダリングされるため、ユーザーに「これは私のアプリではなく、あなたの電源です!」とどのように伝えますか? ?!

これに遭遇したことがありますか?とにかくそれを修正する方法はありますか?

アプリは .NET 4.0 で、ラップトップは Windows 7 を実行していました。

4

3 に答える 3

2

この問題は通常、ATI ビデオ カードのドライバが原因で発生します。NVidia カードには (独自の問題がありますが) 通常、これらの問題は表示されません。

これを修正する最も簡単な方法は、ハードウェア レンダリングを無効にすることです。これによりパフォーマンスの問題が発生する可能性がありますが、多くの場合、目立った違いはなく、パフォーマンスが向上することもあります。独自のアプリで表示するには、テストする必要があります。Windows のコードから設定するには:

(PresentationSource.FromVisual(this) as HwndSource).CompositionTarget.RenderMode = RenderMode.SoftwareOnly;
于 2010-10-06T03:17:16.370 に答える
2

Acerラップトップでこれと同じことに遭遇しました。これは実際にはスクリーン ドライバーのドライバーの問題であり、ベンダーの更新により問題が完全に解決されました。

この問題については、東芝に直接問い合わせることをお勧めします。問題を示す公開された見つけやすい WPF アプリケーションを紹介してください。

それまでの間、私が知っている唯一の「解決策」は、WPF でハードウェア アクセラレーションを完全に無効にすることです。 この投稿では、すべての WPF アプリケーションに対してソフトウェア レンダリングを強制する方法について説明します。これにより、テアリングが修正されます (レンダリング パフォーマンスが大幅に低下します)。

于 2010-10-05T15:51:52.650 に答える
1

Reed が言ったように、これはおそらくドライバーの問題です。ただし、最新のドライバーを搭載した一部のカードでこれを以前に見たことがあるため、ハードウェアによっては、常に修正可能な問題であるとは限りません。これ特定のグラフィックス カードに起因するグラフィックスの問題である場合は、次の回避策を試すことができる場合があります...

regedit では、次の DWORD 値を「1」に作成または編集して、すべての WPF アプリケーションのソフトウェア レンダリングを強制できます。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration

過去に、ローエンド マシン (ネットブックおよび統合グラフィックス マシン) では、GPU と CPU 間のメモリ競合が減少するため、これにより WPF アプリのパフォーマンスが大幅に向上することがあることがわかりました。

于 2010-10-05T16:19:45.517 に答える