¿Cómo se puede desactivar la aceleración de hardware en WPF?
-
24-09-2019 - |
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?
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:
- clave de registro DisableHWAcceleration
- ProcessRenderMode
- 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 ).