WPFでハードウェアアクセラレーションを無効にする手順は何ですか?正確には何ですか?これは、Windows設定、Visual Studio設定、またはWPFプロジェクトのコードで変更したものですか?実行しているプログラムにのみ影響しますか、それともシステム全体に影響しますか?
19659 次
4 に答える
46
Window
.Net 3.5 SP1 以降のレベルで無効にすることができます。
public partial class MyWindow : Window
{
public MyWindow()
: base()
{
InitializeComponent();
}
protected override void OnSourceInitialized(EventArgs e)
{
var hwndSource = PresentationSource.FromVisual(this) as HwndSource;
if (hwndSource != null)
hwndSource.CompositionTarget.RenderMode = RenderMode.SoftwareOnly;
base.OnSourceInitialized(e);
}
}
SourceInitialized
または、ウィンドウのイベントを購読して同じことを行うことができます。
または、プロセスレベルで設定することもできます:
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
ソフトウェア レンダリングの優先順位は次のとおりです。
- DisableHWAcceleration レジストリ キー
- ProcessRenderMode
- RenderMode (ターゲットごと)
于 2012-03-21T10:38:27.943 に答える
16
バージョン 4.0 ではRenderOptions.ProcessRenderMode
、プロセス全体の設定 ( http://msdn.microsoft.com/en-us/library/system.windows.media.renderoptions.processrendermode.aspx ) を使用することもできます。
于 2012-04-10T10:36:49.640 に答える
-8
これはシステム全体の設定です。デスクトップから、右クリックしてポップアップ メニューを表示し、プロパティをクリックして、ビデオ設定を調べてハードウェア アクセラレーションを無効にするか、グラフィック設定用のシステム トレイ アイコンがあることを確認します。 . これはシステム全体であり、ローカルではありません。
于 2010-01-30T22:00:08.587 に答える