省电和深色模式下低功耗设计(一)

最佳实践-省电和深色模式下低功耗设计

概述

低功耗是指设备在运行各种任务时,通过采用一系列技术和策略来降低设备的能耗,从而延长电池寿命和设备使用时间。因为手机等移动设备具有便携、移动的属性,其续航时间的长短直接影响用户对该品牌手机的体验和满意度。移动设备的续航时间越长,用户就可以更长时间地使用设备,无需频繁充电,在户外或旅行场景下提供便利。一般而言,为了提供更长的续航时间,可以采取了多种技术和方法来降低功耗、优化电池管理,如优化软件算法、优化屏幕亮度和显示等。其中,省电模式和深色模式是手机功耗优化中常用的优化手段:

  • 省电模式:一种通过调整设备的设置来降低系统功耗的功能,例如适当降低屏幕亮度和CPU性能。
  • 深色模式:深色模式是应用程序的一种背景颜色设置,用于将应用程序显示背景颜色改为深色调,例如黑色或深灰色。

为了有效去测量手机运行时的功耗,DevEco Profiler提供实时监控(Realtime Monitor)能力,可帮助开发者实时监控设备资源(如CPU、内存、FPS、GPU、Energy等)使用情况,其中Energy以3s为周期进行刷新,体现统计周期内总功耗以及各耗能部件(包括CPU、Display、GPU、Location、Other)的功耗占用情况。综合考虑业界共识指标和实际用户使用体验,实验将主要对比屏幕显示耗电量、CPU耗电量、GPU耗电量以及最终总耗电量,关键指标如下所示:

  • 显示耗电量:显示耗电量是手机耗电的主要来源之一,它通常占总能耗的很大比例,影响显示耗电量的关键因素包括屏幕亮度、显示内容、刷新率等。
  • CPU耗电量:高性能的任务通常需要更多的CPU计算能力,导致较高的CPU耗电量,影响CPU耗电量的关键因素包括CPU的工作频率、功耗管理策略以及对任务的调度和分配等。
  • GPU耗电量:类似于CPU,高性能的图形任务会导致较高的GPU耗电量,影响GPU耗电量的关键因素包括GPU的工作频率、工作负载、绘制内容、分辨率、绘制帧率等。
  • 最终总耗电量:最终总耗电量是指设备在特定使用场景下的总能耗,包括屏幕显示、CPU计算和GPU图形处理等。它反映了设备在某种使用情境下的总体能耗水平。

本文将以 “HMOS世界”APP 为例,通过设置省电模式和深色模式来验证不同场景下对手机功耗的影响,观察手机的电量消耗变化情况。同时本文还探讨了主动降低应用亮度、停止冗余动画两项降低功耗的措施,测试不同条件下的电量消耗情况。实验结果表明:

  • 主动省电模式:设置省电模式后,系统会自动调节屏幕亮度、调整灭屏时间等配置项,使得耗电量在显示模块降低明显,总耗电量随之降低约12%。
  • 主动深色模式:通过主动切换深色模式,OLED屏幕可以使用更少的像素点和背光,实现更低的亮度和对比度。相对于正常模式,总耗电量降低约24.5%。
  • 主动调节屏幕亮度:应用主动发起屏幕亮度调节时,可以通过主动降低应用的亮度来减少显示屏的功耗,延长设备的续航时间。相对于正常模式,总耗电量降幅约为36.9%。
  • 停止冗余动画:冗余的动画绘制指的是在屏幕上绘制不必要或重复的动画效果,通过停止冗余动画可以减少GPU的工作量,从而降低GPU的功耗。相对于正常模式,总耗电量降幅约为40.2%。

通过设置省电模式、深色模式、调节屏幕亮度调节、停止冗余动画,最终测量的总耗电量对比如下图所示:

图1 总耗电量对比

功耗测量工具

DevEco Profiler

DevEco Profiler应用调优工具(以下简称为Profiler)内置集成在DevEco Studio内,提供场景化的调优体验,不仅方便开发者及时了解应用或服务的CPU、内存、图形等资源的使用情况,还提供了高效的问题定位能力,帮助开发者快速定位到问题所在代码。使用Profiler测试应用程序功耗的方法如下所示:

  1. 打开Profiler:在DevEco Studio内可以通过以下三种方式打开Profiler
    • 在DevEco Studio顶部菜单栏中选择“View -> Tool Windows -> Profiler”。
    • 在DevEco Studio底部工具栏中单击“Profiler”。
    • 按“Double Shift”或者“Ctrl+Shift+A”打开搜索功能,搜索“Profiler”。
  2. 连接设备:将设备通过USB连接到计算机上。
  3. 选择应用程序:在Profiler中,选择要测试的应用程序并开启Realtime Monitor。
  4. 进行应用程序操作:在设备上进行应用程序操作,如浏览网页、播放视频等。
  5. 查看结果:右侧区域展示时间窗内Energy资源的实时使用情况,将鼠标悬浮于统计图中任意位置,打开时间标线,左右移动鼠标并结合时间轴可查看不同时间点上的实时信息。

Profiler耗电量示意图如下所示,详细信息及使用可参考实时监控

图2 ProfilerEnergy模块示意图

说明

  • 上图区域展示时间窗内CPU、Memory、FPS、GPU、Energy资源的实时使用情况,将鼠标悬浮于统计图中任意位置,打开时间标线,左右移动鼠标并结合时间轴可查看不同时间点上的实时信息。
  • Energy以3s为周期进行刷新,体现统计周期内总功耗以及各耗能部件(包括CPU、Display、GPU、Location、Other)的功耗占用情况。

程控电源

程控电源是一种可以进行电压、电流、功率、电阻等参数控制的电源设备,它可以根据用户设定的参数来输出相应的电压和电流,从而满足不同的测试需求。程控电源可以通过编程控制来模拟不同的负载条件,从而测试应用程序在不同负载下的功耗表现。通过这种方式,开发人员可以更好地了解应用程序的能耗特性,从而针对性地进行优化。

使用程控电源测试应用程序功耗的方法如下所示:

  1. 连接设备:首先需要将程控电源连接到待测设备的电源输入端,并确保连接正确。
  2. 设置测试条件:在程控电源上设置测试条件,包括电压、电流、功率等参数。
  3. 进行应用程序操作:在设备上运行待测应用程序,并进行应用程序操作,如浏览网页、播放视频等。
  4. 收集数据:在测试过程中,程控电源会实时记录设备的功耗数据,包括电压、电流、功率等信息。

省电模式

原理介绍

HarmonyOS默认提供了电源模式的特性,主要分为以下三类:

  • 正常模式:默认的电源模式,无特殊需求的情况下,此模式下的系统亮度、灭屏时间,进入睡眠时间等均适合大部分用户的需要。
  • 性能模式:强调性能表现的电源模式,如增加系统亮度、关闭灭屏时间、防止进入睡眠等。
  • 省电模式:强调省电表现的电源模式,如降低系统亮度、缩短灭屏时间等。

    切换了电源模式后,随之更改的配置项有:

  • 灭屏时间:可设置时长或关闭灭屏功能。主要涉及模块为显示。
  • 自动调节亮度:可以设置开启或关闭自动调节亮度功能。主要涉及模块为传感器和显示。
  • 自动调节屏幕旋转:可以设置开启或关闭自动调节屏幕旋转功能。主要涉及模块为传感器和显示。
  • 系统亮度:可以设置0~255的取值。主要涉及模块为显示。
  • 震动开关:可以设置开启或关闭震动功能,主要涉及模块为马达。

说明

在电源管理方面,HarmonyOS采用了自动切换配置,通过更改不同的配置项来实现不同的电源模式。例如,在正常模式下,系统会自动调节屏幕旋转,以保证用户在横屏和竖屏模式下都能够获得最佳的视觉效果;而在省电模式下,系统会关闭这一功能,以降低屏幕旋转带来的能耗。

文档中心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值