Domanda

Qual è la procedura per disattivare l'accelerazione hardware in WPF? Che cosa si tratta esattamente? E 'un'impostazione, un ambiente studio visivo o qualcosa si altera nel codice del progetto WPF finestre? Sarà riguardano solo il programma che si sta eseguendo o sarà per tutto il sistema?

È stato utile?

Soluzione

Questo è un livello di sistema impostazione, dal desktop, fate clic destro per aprire un menu a comparsa, cliccare sulle proprietà, e guardarsi intorno in là per le impostazioni video per l'accelerazione hardware disabilitare o che ci possa essere una barra di sistema per le impostazioni grafiche. Questo è a livello di sistema e non locale.

Spero che questo aiuti, I migliori saluti, Tom.

Altri suggerimenti

È possibile disattivarla a livello Window a partire dal .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);
    }
}

oppure è possibile iscriversi alla manifestazione SourceInitialized della finestra e fare lo stesso.

In alternativa puoi sul livello di processo :

RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;

L'ordine di precedenza per il rendering software è:

  1. chiave di registro DisableHWAcceleration
  2. ProcessRenderMode
  3. RenderMode (per-target)

Si tratta di un'impostazione del Registro a livello di computer. Vedere di rendering della grafica impostazioni del Registro nella documentazione di WPF per la chiave di registro e altri dettagli relativi alla personalizzazione resa WPF.

La chiave è elencata: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration

Il documento MSDN è "non disponibile" per .NET 4.5, quindi questo potrebbe essere un'opzione depricated che funziona solo in 4,0 o al di sotto.

Nella versione 4.0, è anche possibile utilizzare RenderOptions.ProcessRenderMode per impostare una vasta preferenza processo ( http://msdn.microsoft.com/en-us/library/system.windows.media.renderoptions.processrendermode.aspx ).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top