Pregunta

¿Cuál es el procedimiento para desactivar la aceleración de hardware en WPF? ¿Qué es exactamente? Es una ventana de ajuste, un ambiente de estudio visual o algo se altera en el código de su proyecto WPF? ¿Afectará sólo el programa que se está ejecutando o va por todo el sistema?

¿Fue útil?

Solución

Esto es un sistema de configuración de todo, desde el escritorio, haga clic derecho para que aparezca un menú emergente, haga clic en Propiedades y, a mirar a su alrededor en él durante la configuración de vídeo a la aceleración de hardware inhabilitado o que puede haber un icono de la bandeja del sistema para la configuración de gráficos. Este es el sistema de ancho y no local.

Espero que esta ayuda, Atentamente, Tom.

Otros consejos

Puede desactivarlo en un nivel Window partir de .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);
    }
}

o puede suscribirse a eventos SourceInitialized de la ventana y hacer lo mismo.

Como alternativa puede que en el nivel de proceso :

RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;

El orden de precedencia para la representación del software es:

  1. clave de registro DisableHWAcceleration
  2. ProcessRenderMode
  3. RenderMode (per-objetivo)

Es una configuración de registro de todo el equipo. Ver de proceso de gráficos configuración del registro en la documentación de WPF para la clave de registro y otros detalles relacionados con la personalización de WPF prestación.

La clave de la lista es: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration

El documento de MSDN es "no disponible" para .NET 4.5, por lo que esta puede ser una opción depricated que sólo funciona en 4,0 o inferior.

En la versión 4.0, también se puede utilizar RenderOptions.ProcessRenderMode para establecer un proceso de amplia preferencia ( http://msdn.microsoft.com/en-us/library/system.windows.media.renderoptions.processrendermode.aspx ).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top