summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Riddle Hsu <riddlehsu@google.com> 2022-07-12 13:11:58 +0000
committer Riddle Hsu <riddlehsu@google.com> 2022-07-12 13:53:31 +0000
commitafd99035e9098fc85d68245b3614a3887e3e284e (patch)
tree893bc78b215624be50cb95bdbdfed230e84eb158
parent64956e321730484083a84f478b7b25b306225eb7 (diff)
Reduce unnecessary overhead of screenshot bitmap from assist
Since hardware bitmap is introduced, it is already fast enough to pass across processes. And Bitmap#asShared becomes an unnecessary operation. This can save 70%+ execution time of requestAssistScreenshot. About from 65ms to 15ms. Bug: 201351584 Test: Measure the time from a test app with looping IWindowManager#requestAssistScreenshot(receiver). Change-Id: Ie5510eae789219e3afbe1a9ecf8911925207c0ba
-rw-r--r--services/core/java/com/android/server/wm/DisplayContent.java10
1 files changed, 1 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 6619f985df58..05999b36f16b 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -4811,16 +4811,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
final Bitmap bitmap = screenshotBuffer == null ? null : screenshotBuffer.asBitmap();
if (bitmap == null) {
Slog.w(TAG_WM, "Failed to take screenshot");
- return null;
- }
-
- // Create a copy of the screenshot that is immutable and backed in ashmem.
- // This greatly reduces the overhead of passing the bitmap between processes.
- final Bitmap ret = bitmap.asShared();
- if (ret != bitmap) {
- bitmap.recycle();
}
- return ret;
+ return bitmap;
}
@Override