Как одно отключение аппаратного ускорения в WPF?

StackOverflow https://stackoverflow.com/questions/2169600

  •  24-09-2019
  •  | 
  •  

Вопрос

Какова процедура отключения аппаратного ускорения в WPF? Что именно это именно? Это настройка Windows, Visual Studio Setting или что вы изменете в коде вашего проекта WPF? Повлияет ли это только на программу, которую вы работаете, или это будет в системе?

Это было полезно?

Решение

Это широкая настройка системы с рабочего стола, щелкните правой кнопкой мыши, чтобы открыть всплывающее меню, щелкните свойства, и осмотрите туда для параметров видео, чтобы отключить аппаратное ускорение или что может быть значок системного лотка для настроек графики. Отказ Это широкая система, а не местная.

Надеюсь, это поможет, наилучшие пожелания, Том.

Другие советы

Вы можете отключить его на 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;

Порядок приоритета для рендеринга программного обеспечения:

  1. Ключ реестра Disablehwacceleration.
  2. Процессрандермодный
  3. Rendermode (за цель)

Это широкая настройка реестра. Видеть Графические настройки реестра реестра В документах WPF для ключа реестра и другие детали, относящиеся к настройке рендеринга WPF.

Ключ перечислен:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration

Документ MSDN является «недоступен» для .NET 4.5, так что это может быть нарушенным вариантом, который работает только в 4,0 или ниже.

В версии 4.0 вы также можете использовать RenderOptions.ProcessRenderMode Установить широкое предпочтение процесса (http://msdn.microsoft.com/en-us/library/system.windows.media.renderOptions.processRendermode.aspx.).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top