Вы можете отключить его на уровне 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;
Порядок приоритетов для рендеринга программного обеспечения:
- Отключить раздел реестра HWAcceleration
- ProcessRenderMode
- RenderMode (для цели)