开机动画播放图片时间优化

图片资源存放在源码 /foundation/graphic/graphic_2d/frameworks/bootanimation/data/ 目录下和机器 /system/etc/graphic/ 路径下。
解压bootpic.zip后有如下两个文件

img

OH_bootAni compressed 文件夹存放图片资源,目前默认是有150张图片。
config.json 文件控制播放图片的帧率,默认是30帧(播放耗时5s)。

优化方案:
为了减少播放时间,可以考虑
①减少图片的数量
②将帧率改为60帧(性能差的芯片即使设置了可能也没效果)。
③如果希望其他服务准备好了就退出,即使开机动画还没有播放完,可以做以下改动:

--- a/foundation/graphic/graphic_2d/frameworks/bootanimation/src/boot_animation.cpp
+++ b/foundation/graphic/graphic_2d/frameworks/bootanimation/src/boot_animation.cpp
@@ -61,11 +61,9 @@ void BootAnimation::OnDraw(Rosen::Drawing::CoreCanvas* canvas, int32_t curNo)

 void BootAnimation::Draw()
 {
+    CheckExitAnimation();
     if (picCurNo_ < (imgVecSize_ - 1)) {
         picCurNo_ = picCurNo_ + 1;
-    } else {
-        CheckExitAnimation();
-        return;
     }
     ROSEN_TRACE_BEGIN(HITRACE_TAG_GRAPHIC_AGP, "BootAnimation::Draw RequestFrame");
     auto frame = rsSurface_->RequestFrame(windowWidth_, windowHeight_);
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐