From cba5337d20d4ee9a28ca154aaeaf6670d0b30557 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Tue, 16 Oct 2018 21:27:32 +0300 Subject: [PATCH] Allow to use GPU with deferred renderer --- src/Avalonia.Native/WindowImplBase.cs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/Avalonia.Native/WindowImplBase.cs b/src/Avalonia.Native/WindowImplBase.cs index 2f93ccb068..0e90a284d7 100644 --- a/src/Avalonia.Native/WindowImplBase.cs +++ b/src/Avalonia.Native/WindowImplBase.cs @@ -36,13 +36,8 @@ namespace Avalonia.Native { var opts = AvaloniaLocator.Current.GetService(); - // GPU is currently not compatible with DeferredRenderer - if (opts.UseGpu) - { - _gpu = true; - } - else - _deferredRendering = opts.UseDeferredRendering; + _gpu = opts.UseGpu; + _deferredRendering = opts.UseDeferredRendering; _keyboard = AvaloniaLocator.Current.GetService(); _mouse = AvaloniaLocator.Current.GetService(); @@ -194,7 +189,7 @@ namespace Avalonia.Native void IAvnWindowBaseEvents.RunRenderPriorityJobs() { - if (_parent._deferredRendering + if (_parent._deferredRendering && !_parent._gpu && _parent._lastRenderedLogicalSize != _parent.ClientSize) // Hack to trigger Paint event on the renderer _parent.Paint?.Invoke(new Rect());