diff --git a/quickstep/src/com/android/launcher3/statehandlers/DepthController.java b/quickstep/src/com/android/launcher3/statehandlers/DepthController.java index 5f5d6dc1f9..8c778c0653 100644 --- a/quickstep/src/com/android/launcher3/statehandlers/DepthController.java +++ b/quickstep/src/com/android/launcher3/statehandlers/DepthController.java @@ -193,8 +193,17 @@ public class DepthController implements LauncherStateManager.StateHandler { if (windowToken != null) { mWallpaperManager.setWallpaperZoomOut(windowToken, mDepth); } + final int blur; + if (mLauncher.isInState(LauncherState.ALL_APPS) && mDepth == 1) { + // All apps has a solid background. We don't need to draw blurs after it's fully + // visible. This will take us out of GPU composition, saving battery and increasing + // performance. + blur = 0; + } else { + blur = (int) (mDepth * mMaxBlurRadius); + } new TransactionCompat() - .setBackgroundBlurRadius(mSurface, (int) (mDepth * mMaxBlurRadius)) + .setBackgroundBlurRadius(mSurface, blur) .apply(); } }