From 8ec87f8c6d72084c919d99680ee770bf1635cd26 Mon Sep 17 00:00:00 2001 From: Peiyong Lin Date: Fri, 5 Apr 2019 11:30:51 -0700 Subject: Avoid sending powerhint right after GPU composition. Previously we turned off expensive rendering right after we finish GPU composition, howerver, this will result in SurfaceFlinger keeps sending expensive rendering hint to power hal and it has a cost. We would like to avoid that by only sending expensive rendering hint on to power hal when we have GPU composition and sending it off when we are sure next frame doesn't have GPU composition. BUG: 130030334 Test: Verify with WCG Photos Change-Id: Ib2eaf5a866aa236c9c3bc26bebdd5e60e2391ea6 --- services/surfaceflinger/SurfaceFlinger.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'services/surfaceflinger/SurfaceFlinger.cpp') diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 33455b9d5a..372abaafcb 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -3407,9 +3407,8 @@ bool SurfaceFlinger::doComposeSurfaces(const sp& displayDevice, renderEngine.drawLayers(clientCompositionDisplay, clientCompositionLayers, buf->getNativeBuffer(), /*useFramebufferCache=*/true, std::move(fd), readyFence); - if (expensiveRenderingExpected && displayId) { - mPowerAdvisor.setExpensiveRenderingExpected(*displayId, false); - } + } else if (displayId) { + mPowerAdvisor.setExpensiveRenderingExpected(*displayId, false); } return true; } -- cgit v1.2.3-59-g8ed1b