From ecca63949f3377d566197712a512c42431fca3aa Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Tue, 12 Jul 2022 19:43:24 +0300 Subject: [PATCH] Use Blit when available --- .../Composition/Server/ServerCompositionTarget.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs b/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs index 3351caf0c6..0fde86e484 100644 --- a/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs +++ b/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs @@ -122,9 +122,12 @@ namespace Avalonia.Rendering.Composition.Server targetContext.Clear(Colors.Transparent); targetContext.Transform = Matrix.Identity; - targetContext.DrawBitmap(RefCountable.CreateUnownedNotClonable(_layer), 1, - new Rect(_layerSize), - new Rect(Size), BitmapInterpolationMode.LowQuality); + if (_layer.CanBlit) + _layer.Blit(targetContext); + else + targetContext.DrawBitmap(RefCountable.CreateUnownedNotClonable(_layer), 1, + new Rect(_layerSize), + new Rect(Size), BitmapInterpolationMode.LowQuality); if (DrawDirtyRects)