From ea123333754dec475ff95d911fe28533f6ea16d1 Mon Sep 17 00:00:00 2001 From: tangrobin Date: Mon, 15 Mar 2021 15:13:47 +0800 Subject: [PATCH] Enable EXPENSIVE_RENDERING power hint GPU takes long time (>8ms) when app launch animation and some pip case. When doing animation, GPU needs to handle some heavy tasks like color conversion, app rounded corner. Enable the expensive rendering hint to raise the gpu frequency to avoid frame drop due to long gpu completion. Bug: 179007786 Test: 1. Open Chrome/Chrome with pip from homescreen Swipe vertically to go back to home screen Measure the gpu completion time and "FrameMissed" count from systrace result 2. 4K60fps HDR Video playback and measure the DoU Power impact Change-Id: I37f92018e5fd5a925189431db39409f11079b778 --- powerhint.json | 22 ++++++++++++++++++++++ powerhint_a0.json | 24 ++++++++++++++++++++++++ powerhint_a1.json | 24 ++++++++++++++++++++++++ 3 files changed, 70 insertions(+) diff --git a/powerhint.json b/powerhint.json index 685d1f85..e1d06065 100644 --- a/powerhint.json +++ b/powerhint.json @@ -67,6 +67,7 @@ "Values": [ "762000", "471000", + "400000", "302000", "151000" ], @@ -117,6 +118,15 @@ ], "ResetOnInit": true, "Type": "Property" + }, + { + "Name": "PowerHALRenderingState", + "Path": "vendor.powerhal.rendering", + "Values": [ + "EXPENSIVE_RENDERING", + "" + ], + "Type": "Property" } ], "Actions": [ @@ -305,6 +315,18 @@ "Node": "LimitFlashCurrent", "Duration": 0, "Value": "1500" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "PowerHALRenderingState", + "Duration": 0, + "Value": "EXPENSIVE_RENDERING" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMinFreq", + "Duration": 0, + "Value": "400000" } ] } diff --git a/powerhint_a0.json b/powerhint_a0.json index a379f465..b4cb3335 100644 --- a/powerhint_a0.json +++ b/powerhint_a0.json @@ -45,6 +45,9 @@ "Path": "/sys/devices/platform/1c500000.mali/scaling_min_freq", "Values": [ "151000", + "302000", + "455000", + "572000", "670000" ], "DefaultIndex": 0, @@ -85,6 +88,15 @@ "0" ], "ResetOnInit": true + }, + { + "Name": "PowerHALRenderingState", + "Path": "vendor.powerhal.rendering", + "Values": [ + "EXPENSIVE_RENDERING", + "" + ], + "Type": "Property" } ], "Actions": [ @@ -237,6 +249,18 @@ "Node": "CPULittleClusterMinFreq", "Duration": 0, "Value": "9999999" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "PowerHALRenderingState", + "Duration": 0, + "Value": "EXPENSIVE_RENDERING" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMinFreq", + "Duration": 0, + "Value": "455000" } ] } diff --git a/powerhint_a1.json b/powerhint_a1.json index a526b0f8..098efd47 100644 --- a/powerhint_a1.json +++ b/powerhint_a1.json @@ -65,6 +65,9 @@ "Path": "/sys/devices/platform/1c500000.mali/scaling_min_freq", "Values": [ "151000", + "302000", + "455000", + "572000", "670000" ], "DefaultIndex": 0, @@ -115,6 +118,15 @@ ], "ResetOnInit": true, "Type": "Property" + }, + { + "Name": "PowerHALRenderingState", + "Path": "vendor.powerhal.rendering", + "Values": [ + "EXPENSIVE_RENDERING", + "" + ], + "Type": "Property" } ], "Actions": [ @@ -291,6 +303,18 @@ "Node": "LimitFlashCurrent", "Duration": 0, "Value": "1500" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "PowerHALRenderingState", + "Duration": 0, + "Value": "EXPENSIVE_RENDERING" + }, + { + "PowerHint": "EXPENSIVE_RENDERING", + "Node": "GPUMinFreq", + "Duration": 0, + "Value": "455000" } ] }