From 70ac47f84b27eaa801ace59bcfa0c119967f172e Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Thu, 17 Aug 2017 12:17:48 +0100 Subject: [PATCH] render the overlay everytime is DrawFPS is enabled or DirtyRects is enabled. otherwise only composite when required. --- .../Rendering/DeferredRenderer.cs | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs b/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs index b7e8b45945..d3d6776efa 100644 --- a/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs +++ b/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs @@ -178,12 +178,16 @@ namespace Avalonia.Rendering private void Render(Scene scene) { - _dirtyRectsDisplay.Tick(); + bool renderOverlay = DrawDirtyRects || DrawFps; + bool composite = false; - if (scene.Size != Size.Empty) + if (renderOverlay) { - RenderOverlay(scene); + _dirtyRectsDisplay.Tick(); + } + if (scene.Size != Size.Empty) + { if (scene.Generation != _lastSceneId) { _layers.Update(scene); @@ -196,6 +200,16 @@ namespace Avalonia.Rendering _lastSceneId = scene.Generation; + composite = true; + } + + if (renderOverlay) + { + RenderOverlay(scene); + RenderComposite(scene); + } + else if(composite) + { RenderComposite(scene); } }