| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some devices can't keep up on a single thread trying
to decode & display the frames at a high frame rate. This is
observed if the sleep delay between frames is negative:
01-02 04:29:25.114 530 542 D BootAnimation: 63, -22
01-02 04:29:25.176 530 542 D BootAnimation: 61, -20
01-02 04:29:25.248 530 542 D BootAnimation: 72, -30
01-02 04:29:25.315 530 542 D BootAnimation: 66, -24
01-02 04:29:25.381 530 542 D BootAnimation: 66, -24
To mitigate this, take advantage of multiple cores by decoding on
n cores and caching up to m images. This keeps the memory footprint
small(ish) while still giving the best chance to maintain a
constant frame rate.
I measured boot time and fps for each animation part before
and after the change on an msm8909 with 1.5 GB RAM:
single thread:
01-02 04:40:45.826 540 556 I BootAnimation: fps = 22.40
01-02 04:40:49.457 540 556 I BootAnimation: fps = 13.22
01-02 04:40:51.464 540 556 I BootAnimation: fps = 23.92
01-02 04:41:19.375 540 556 I BootAnimation: fps = 22.89
01-02 04:41:23.942 540 556 I BootAnimation: fps = 15.55
boot time: 51.05s
multi thread:
01-02 04:38:55.148 526 551 I BootAnimation: fps = 22.56
01-02 04:38:57.205 526 551 I BootAnimation: fps = 23.39
01-02 04:38:59.249 526 551 I BootAnimation: fps = 23.92
01-02 04:39:29.196 526 551 I BootAnimation: fps = 23.16
01-02 04:39:32.186 526 551 I BootAnimation: fps = 23.79
boot time: 50.50s
Need to test the affect on boot time with an animation that doesn't
cache the textures as much as this to see the real effect.
Change-Id: If7464dc063b08a0bc33ee3f094028247b39650c1
|
|
|
|
|
|
|
| |
Group all file selection logic within getAnimationFileName(), including
for themes
Change-Id: Ibca93defd92230d22195753899eda673ba9fc59d
|
|
|
|
| |
Change-Id: Iaf7e66811f3cecf8b5b1fa690941489a7a07f7fd
|
|
|
|
|
|
|
| |
- Create Surface for boot animation based on panel orientation
- Set the display projection values based on panel orientation.
Change-Id: Iaf66ac13cc44cf7910ff150b3a104eb52bcefdbf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support to show customized boot and shut down animation, as
well as music.
Change-Id: I69c87640175a96a18833a763a34afd362bbfb487
Conflicts:
cmds/bootanimation/Android.mk
cmds/bootanimation/BootAnimation.cpp
Bootanimation: Fix the low memory device oom when run boot animation
Low memory device is easily to be oom when run boot animation. Here
we do optimize the boot animation GL Texture only one frame needed.
That is free timely and re-init it again. When in boot animation,
the fps=15, so it is ok to do the delete and re-init.
CRs-Fixed: 572325
Change-Id: I1e81c3d0f3600ac895f9bd7bd00a284f3d4b7d4c
bootanimtion: fix no boot sound due to error file descriptor
-wrong file descriptor passed to setDataSource(fd, offset, length)
API and causes no sound
-use the default setDataSource(httpService,url,header) to parse
the file of boot sound
CRs-Fixed: 731547
Change-Id: I437e7d797cd13b7f8f8e0fbf81d5de99c55c27d1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bootanimation daemon will play 16 bit WAV files contained in bootanimation.zip
For this to work, the bootanimation.zip must contain an audio_conf.txt file,
which contains parameters to be used for the tinyalsa pcm_open call
as well as mixer parameters to set before attempting to play the sound.
If the bootanimation finds an audio_conf.txt file, then it will look for a file named
"audio.wav" in each of the part subdirectories. If audio.wav is found, it will play that
WAV file starting at the beginning of that part.
The code for this is based on the tinyplay utility in tinyalsa.
The audio_conf.txt and must begin with the following header:
card=<ALSA card number>
device=<ALSA device number>
period_size=<period size>
period_count=<period count>
This header is followed by zero or more mixer settings, each with the format:
mixer "<name>" = <value list>
Since mixer names can contain spaces, the name must be enclosed in double quotes.
The values in the value list can be integers, booleans (represented by 0 or 1)
or strings for enum values.
Finally I should mention that this change is not the right approach.
Instead of going straight to ALSA we should be using the mediaserver instead.
But mediaserver isn't ready in time due to interactions with the system server, and there
isn't time to fix this for the current release. We need to fix that for the next one.
Bug: 17674304
Change-Id: Ic391ade61c941d0a24f4d64fe005ac9375a23fa9
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some OEMs want to have a bootanimation (or parts of it) displayed on a
color other than black. They currently just use full-screen frames for
that, which wastes lots of memory and bandwidth. This change allows
each part of the animation to specify a background color that will be
applied outside of the frame images; if unspecified the background
will be black as it is now.
Bug: 16635599
Change-Id: Ibf008fc75c5aad891c86ba9e4ec0879b7a61b8bd
|
|
|
|
|
|
|
|
|
| |
FileMap memory is never released until application exit
Release it now as the texture is already loaded and the memory
used for the packed resource can be released.
Change-Id: Id08a1e466337b3a0179684eb6a444e18147ee343
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This lets us share zip archive processing code with both
the runtime (Art, dalvik) and critical java code
(StrictJarFile).
This change also moves several utility methods to ZipUtils
and dedups code across several zip inflation methods.
One of the side effects of this change is that several
processing loops are now O(n) instead of O(n^2).
bug: 10193060
Change-Id: I3c7188496837a47246c4f342e45485a70fef3169
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The desc.txt file can now mark parts as 'must finish cleanly' by using
'c' as the part line prefix rather than 'p'. If so indicated, if the
bootanimation is asked to quit it will do so only after waiting to
finish that part.
I considered either making init.c service killing smarter or promoting
bootanim to be a bindable service with a requestExit method. However,
these changes are probably too big/risky given our ship date. So
I used a property as a mailbox between SurfaceFlinger and bootanim.
Bug: 6679877
Change-Id: I1f8dd9e7da1ea80a483b31fa14c4a5645922d774
|
|
|
|
| |
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
|
|
|
|
|
|
| |
step 2: move libutils headers to their new home: androidfw
Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
|
| |
|
| |
|
|
|
|
| |
create flip chain)
|
| |
|
|
Conflicts:
data/etc/platform.xml
|