summaryrefslogtreecommitdiff
path: root/libs/renderengine/gl/GLESRenderEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/renderengine/gl/GLESRenderEngine.cpp')
-rw-r--r--libs/renderengine/gl/GLESRenderEngine.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/renderengine/gl/GLESRenderEngine.cpp b/libs/renderengine/gl/GLESRenderEngine.cpp
index 0285c2f6f0..04568de87b 100644
--- a/libs/renderengine/gl/GLESRenderEngine.cpp
+++ b/libs/renderengine/gl/GLESRenderEngine.cpp
@@ -1062,6 +1062,14 @@ status_t GLESRenderEngine::drawLayers(const DisplaySettings& display,
}
}
}
+
+ // Limit blur to the two frontmost layers for performance. We need one at the front
+ // and one behind for cross-fading and additional blurring. Rendering additional layers
+ // comes at a big performance penalty and makes little to no noticeable difference.
+ while (blurLayers.size() > 2) {
+ blurLayers.pop_front();
+ }
+
const auto blurLayersSize = blurLayers.size();
if (blurLayersSize == 0) {