summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zhizhou Yang <zhizhouy@google.com> 2017-10-13 11:42:13 -0700
committer Zhizhou Yang <zhizhouy@google.com> 2017-10-13 11:42:13 -0700
commit17371ecffc30fec2d0b3cc8afdf366ff65d2db6d (patch)
treeabc2ca8fed2fca64eb63b2c52bfecb916d0ef12e
parentdf043ee75cffd64017fd5a571b1e79ee763ea62e (diff)
Enable PGO for hwui
This patch is trying to apply PGO for hwui. According to some research on PGO before, we got a 5% to 10% performance improvement with PGO on hwui and we hope to enable it. The patch specified a hwui.profdata file, which locates in internal google_data/pgo_profile directory, to work as the profile to feed PGO. This profdata can be re-collected through the PGO collecting script in the benchmark directory, and it was based on hwuimicro/hwuimacro benchmark for now. PGO can be turned of by setting ANDROID_PGO_NO_PROFILE_USE environment variable. Test: Build hwui successfully and verified the performance improvement on device through benchmark. Bug: http://b/63768402 Change-Id: Ib63e5504be34bdfe49f6bc2c52964c30c81f1416
-rw-r--r--libs/hwui/Android.bp12
1 files changed, 11 insertions, 1 deletions
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index 124182f0336e..ad6ce2c4a9d6 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -250,7 +250,17 @@ cc_library {
// If enabled, every GLES call is wrapped & error checked
// Has moderate overhead
"hwui_enable_opengl_validation",
-],
+ ],
+
+ // Build libhwui with PGO by default.
+ // Location of PGO profile data is defined in build/soong/cc/pgo.go
+ // and is separate from hwui.
+ // To turn it off, set ANDROID_PGO_NO_PROFILE_USE environment variable.
+ pgo: {
+ instrumentation: true,
+ profile_file: "hwui/hwui.profdata",
+ benchmarks: ["hwui"],
+ },
}
// ------------------------