diff options
Diffstat (limited to 'libs/renderengine/gl/GLESRenderEngine.cpp')
-rw-r--r-- | libs/renderengine/gl/GLESRenderEngine.cpp | 8 |
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) { |