summaryrefslogtreecommitdiff
path: root/cmds/bootanimation/bootanimation_main.cpp
diff options
context:
space:
mode:
authorHuihong Luo <huisinro@google.com>2018-08-11 09:27:57 -0700
committerHuihong Luo <huisinro@google.com>2019-02-14 13:37:34 -0800
commit50a2f36f73902e77776f4ee9921f62054dd8a72a (patch)
treeb8e197c86d0132edc85016b715b100a33b910c84 /cmds/bootanimation/bootanimation_main.cpp
parentdbc9708897b7043a3ea7d8fe8db48da0fdd4cc0d (diff)
Preload zip before waiting for surface flinger
This saves about 200 msec by preloading media zip file before waiting for surface flinger becomes ready. Android Auto results: BootAnimation: BootAnimationPreloadTiming start time: 8261ms BootAnimation: BootAnimationPreloadStopTiming start time: 8508ms Bug: 62056504 Test: adb logcat -s BootAnimation Change-Id: Iaedf774983a66c2838452c45a04b3a1f4c728f17
Diffstat (limited to 'cmds/bootanimation/bootanimation_main.cpp')
-rw-r--r--cmds/bootanimation/bootanimation_main.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/cmds/bootanimation/bootanimation_main.cpp b/cmds/bootanimation/bootanimation_main.cpp
index a52a5e92a840..6c7b3e51ff8d 100644
--- a/cmds/bootanimation/bootanimation_main.cpp
+++ b/cmds/bootanimation/bootanimation_main.cpp
@@ -44,14 +44,16 @@ int main()
sp<ProcessState> proc(ProcessState::self());
ProcessState::self()->startThreadPool();
+ // create the boot animation object (may take up to 200ms for 2MB zip)
+ sp<BootAnimation> boot = new BootAnimation(audioplay::createAnimationCallbacks());
+
waitForSurfaceFlinger();
- // create the boot animation object
- sp<BootAnimation> boot = new BootAnimation(audioplay::createAnimationCallbacks());
+ boot->run("BootAnimation", PRIORITY_DISPLAY);
+
ALOGV("Boot animation set up. Joining pool.");
IPCThreadState::self()->joinThreadPool();
}
- ALOGV("Boot animation exit");
return 0;
}