Frage

Wie ist das Verfahren für die Hardwarebeschleunigung in WPF zu deaktivieren? Was ist es genau? Ist es ein Windows-Einstellung, eine Visual Studio-Einstellung oder etwas, das Sie in dem Code Ihres WPF-Projektes ändern? Wird es wirken sich nur auf das Programm, das Sie laufen lassen oder wird es durch systemweite?

War es hilfreich?

Lösung

Das ist eine systemweite Einstellung, von dem Desktop mit der rechten klicken, um ein Popup-Menü aufzurufen, klicken Sie auf Eigenschaften, und deaktivieren Sie Hardwarebeschleunigung für die Videoeinstellungen in dort umsehen oder dass es eine System-Tray-Symbol sein für die Grafikeinstellungen. Dies ist systemweit und nicht lokal.

Hope, das hilft, Freundliche Grüße, Tom.

Andere Tipps

Sie können es auf einem Window Ebene deaktivieren ab .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);
    }
}

oder Sie können SourceInitialized Ereignis des Fensters abonnieren und das gleiche tun.

Alternativ können Sie href="https://msdn.microsoft.com/en-us/library/system.windows.media.renderoptions.processrendermode.aspx"> Satz auf Prozess-Ebene

RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;

Die Rangfolge für Software-Rendering ist:

  1. DisableHWAcceleration Registrierungsschlüssel
  2. ProcessRenderMode
  3. Render (pro-Ziel)

Es ist eine Maschine weite Registrierungseinstellung. Siehe Graphics Rendering-Registrierungseinstellungen in der WPF-Dokumentation für den Registrierungsschlüssel und andere in dem Anpassen WPF-Rendering in Bezug Details.

Der Schlüssel aufgelistet ist: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration

Das MSDN-Dokument ist "nicht verfügbar" für .NET 4.5, so ist dies eine depricated Option sein kann, dass nur in 4.0 funktioniert oder unten.

In Version 4.0 können Sie auch RenderOptions.ProcessRenderMode verwenden, um einen Prozess breit bevorzugt eingestellt ( http://msdn.microsoft.com/en-us/library/system.windows.media.renderoptions.processrendermode.aspx ).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top