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)