Какова процедура отключения аппаратного ускорения в WPF? Что это такое? Это настройки окон, визуальная студия или что-то, что вы меняете в коде вашего проекта wpf? Будет ли это влиять только на ту программу, в которой вы работаете, или будет ли она общесистемной?
Как отключить аппаратное ускорение в wpf?
Ответ 1
Это системная настройка, с рабочего стола, щелчок правой кнопкой мыши, чтобы открыть всплывающее меню, щелкнуть по свойствам и посмотреть вокруг там, где настройки видео отключены аппаратное ускорение или что может быть значок в системном трее для графические настройки. Это системный, а не локальный.
Надеюсь, это поможет, С наилучшими пожеланиями, Том.
Ответ 2
Вы можете отключить его на уровне 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;
Порядок приоритета для рендеринга программного обеспечения:
- Раздел реестра DisableHWAcceleration
- ProcessRenderMode
- RenderMode (для каждой цели)
Ответ 3
Это системный параметр реестра. См. Параметры рецензирования графики в документах WPF для раздела реестра и других сведений, относящихся к настройке рендеринга WPF.
Ключ, указанный в списке:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration
Документ MSDN "недоступен" для .NET 4.5, поэтому это может быть лишенный вариант, который работает только в 4.0 или ниже.
Ответ 4
В версии 4.0 вы также можете использовать RenderOptions.ProcessRenderMode
для установки предпочтительного процесса (http://msdn.microsoft.com/en-us/library/system.windows.media.renderoptions.processrendermode.aspx).