Android对性能要求,Android性能管理

管理Android设备的功耗和性能有助于确保应用程序在各种硬件上始终如一地顺畅运行。在Android 7.0及更高版本中,OEM可以实现对持续性能提示的支持,使应用程序能够保持一致的设备性能,并指定专属核以提高CPU密集型前台应用程序的性能。

持续性能

对于长时间运行的应用程序(游戏,相机,渲染脚本,音频处理),​​性能会随着设备温度限制和片上系统(SoC)引擎限制而显着变化。应用程序开发人员创建高性能,长期运行的应用程序是受限的,因为当设备开始升温时,底层平台的功能是波动的。

为了解决这些限制,Android 7.0引入了对持续性能的支持,使OEM能够为长期运行的应用程序提供设备性能功能的提示。应用程序开发人员可以使用这些提示来调整应用程序,以便在很长一段时间内获得可预测的,一致的设备性能水平。

架构

Android应用程序可以请求平台进入持续性能模式,使Android设备可以在较长时间内保持一致的性能水平。

afe68e33256a

power_sustained_perf.png

实现

为了在Android 7.0及更高版本上支持持续性能,OEM必须:

对特定设备的电源HAL进行更改,以锁定最大CPU / GPU频率或执行其他优化以防止热量限制。

在电源HAL中实现POWER_HINT_SUSTAINED_PERFORMANCE新提示。

声明支持通过isSustainedPerformanceModeSupported()API 返回TRUE 。

实现Window.setSustainedPerformanceMode。

在Nexus参考实现中,功率提示将CPU和GPU的最大频率限制在最高可持续水平。记住,降低CPU / GPU频率中的MAX条会降低帧速率,但由于其可持续性,在此模式下首选此速率较低。例如,使用正常最大时钟的设备能够在60 FPS下渲染几分钟,但在设备加热后,它可能会在30分钟结束时节流至30 FPS。使用持续模式时,设备可以在整个30分钟内以45 FPS持续渲染。目标是在不使用模式时使用与帧速率一样高(或更高)的模式时的帧速率,并且随着时间的推移保持一致,以便开发人员不必追逐移动目标。

我们强烈建议实施持续模式,使设备实现最高可能的持续性能 - 而不仅仅是通过测试所需的最小值(例如,选择尽可能高的MAX频率上限,不会导致设备随时间受热量限制)。

注意:实现持续模式不需要限制MAX时钟速率。

验证

OEM可以使用CTS测试(Android 7.0及更高版本)来验证其持续性能API的实现。测试运行大约30分钟的工作负载,并在启用和不启用持续模式的情况下进行性能基准测试:

启用持续模式后,帧速率必须保持相对恒定(测试计量帧速率随时间变化的百分比,并要求<5%的变化)。

启用持续模式后,帧速率不得低于禁用持续模式30分钟后的帧速率。

此外,您可以使用多个CPU和GPU密集型工作负载手动测试您的实现,以确保设备在使用30分钟后不会受热量限制。在内部测试中,我们使用了工作负载样例,包括游戏和基准测试应用程序(例如 gfxbench)。

专属核

对于CPU密集型,时间敏感的工作负载,是否会被另一个线程抢占与是否设置帧结束时间有关。对于具有严格延迟和帧速率要求的应用程序(例如音频或虚拟现实应用程序),拥有专属CPU核可以保证可接受的性能水平。

运行Android 7.0或更高版本的设备现在可以为顶级前台应用程序明确保留一个核,从而提高所有前台应用程序的性能,并为具有高强度工作负载的应用程序提供更多控制,以便跨CPU核分配工作。

要在设备上支持专属核:

启用cpusets并配置cpuset仅包含最前台应用程序的应用程序。

确保此cpusets为线程保留一个核(即专属核)。

实现getExclusiveCores API以返回专属核的核编号。

要确定在哪些核上安排了哪些进程,在运行任何工作负载时使用systrace 验证除了最前台应用程序之外,无任何其他应用程序的用户空间线程在专属核上调度。

要查看Nexus 6P的参考实现,请参阅 android//device/huawei/angler/power/power.c。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571339.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BZOJ 1878: [SDOI2009]HH的项链 | 莫队

题解: http://www.lydsy.com/JudgeOnline/problem.php?id1878 题解: 莫队板子题 核心思想是对区间的询问离线之后按照合理的顺序来优化复杂度 一般的做法是先分块,以左端点所在块为第一关键字,右端点位置为第二关键字排序 用两个指针来跑,这样可以证明的是时间复杂度为O(n√n)…

layui导航栏页面滚动固定_帮你搞定长滚动网页的设计!这5种设计策略需谨记!...

网站中的内容再好&#xff0c;总得让用户能看到&#xff0c;才有价值&#xff0c;而矛盾在于&#xff0c;首屏的空间始终是有限的。所以&#xff0c;我们总希望用户能够滚动页面向下看&#xff0c;从某种意义上来说&#xff0c;长滚动页面和无限滚动的设计&#xff0c;如此地受…

hdata datax交流总结

http://blog.csdn.net/zlm838687/article/details/74781522 hdata datax交流总结 今天和阿里云的同学就数据同步做了简要的交流&#xff0c;下面就交流的内容做一个总结 分片相关 datax目前可以支持单机(standalone)和集群模式(cluster).目前开源的是单机版本。无论是单机版本还…

南邮计算机专硕考研专业课,南京邮电大学(专业学位)计算机技术研究生考试科目和考研参考书目...

考研真题资料优惠价原价选择南京邮电大学(专业学位)计算机技术教材&#xff0c;也叫南京邮电大学(专业学位)计算机技术考研参考书、指定书目等等&#xff0c;是考验专业课复习过程中最重要的资料。考研是一种针对性很强的考试项目&#xff0c;参考书目由报考院校的研究生院制定…

ios 设置属性的center_【从0到1的Stata图表学习1】图例设置

导读规则&#xff1a;正文出现非加粗红色字体&#xff0c;对应Stata命令&#xff1b;正文中出现蓝色字体&#xff0c;对应往期链接&#xff1b;do文件中&#xff1a;"/**/"符号代表作者注释内容&#xff0c;帮助理解&#xff1b;"//"代表分节&#xff0c;便…

CentOS7 升级Python2.x到3.x

CentOS 7 中默认安装了 Python&#xff0c;版本比较低&#xff08;2.7.5&#xff09;&#xff0c;为了使用新版 3.x&#xff0c;需要对旧版本进行升级。由于很多基本的命令、软件包都依赖旧版本&#xff0c;比如&#xff1a;yum。所以&#xff0c;在更新 Python 时&#xff0c;…

计算机网络的应用领域有那些,计算机网络应用领域

描述计算机网络应用领域一、计算机网络在现代企业中的应用计算机网络的发展和应用改变了传统企业的管理模式和经营模式。在现代企业中企业信息网络得到了广泛的应用。它是一种专门用于企业内部信息管理的计算机网络&#xff0c;覆盖企业生产经营管理的各个部门&#xff0c;在整…

ffmpeg rtsp转hls_Qt音视频开发24-ffmpeg音视频同步

## 一、前言用ffmpeg来做音视频同步&#xff0c;个人认为这个是ffmpeg基础处理中最难的一个&#xff0c;无数人就卡在这里&#xff0c;怎么也不准&#xff0c;本人也是尝试过网上各种demo&#xff0c;基本上都是渣渣&#xff0c;要么仅仅支持极其少量的视频文件比如收到的数据包…

1119. Pre- and Post-order Traversals (30)

友情提示&#xff1a;这题非常值得自己思考独立做出来&#xff0c;请反复确认后再往下拉 1119. Pre- and Post-order Traversals (30) 时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Special作者CHEN, YueSuppose that all the keys in a binary tree are distinc…

单招计算机英语面试口语,单招面试英语自我介绍范文 自我介绍说什么

单招面试英语自我介绍范文 自我介绍说什么2018-03-11 10:50:17文/李男学好英语就意味着可能有更多的机会&#xff0c;单招面试中英语自我介绍也是很重要的。那么&#xff0c;英语自我介绍说什么呢&#xff1f;下面小编整理了一些英语自我介绍范文&#xff0c;供大家参考&#x…

jsp中导入jsf标签库_初学jsf,自制的标签使用时报错?解决办法

当前位置:我的异常网 Java Web开发 初学jsf&#xff0c;自制的标签使用时报错&#xff1f;解决办法初学jsf&#xff0c;自制的标签使用时报错&#xff1f;解决办法www.myexceptions.net 网友分享于&#xff1a;2013-09-12 浏览&#xff1a;10次初学jsf&#xff0c;自制的标签…

bzoj 2245 [SDOI2011]工作安排【最小费用最大流】

其实不用拆点&#xff0c;对于每个人我们假装他是\( s[i]1 \)个点&#xff0c;可以由他向T点分别连\( s[i]1 \)条边&#xff0c;容量为\( t[i][j]-t[i][j-1]\)&#xff0c;由S点向所有产品i连容量为c[i]的边&#xff0c;由所有产品向能制造它的人连容量为inf的边。 因为是最小费…

angularjs directive scope变化为啥html,学习AngularJs:Directive指令用法(完整版)

本教程使用AngularJs版本&#xff1a;1.5.3摘要&#xff1a;Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一。它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR属性&#xff0c;并且它不只是单单如此&#xff0c;你还可以在它的基础上来操作scope、绑…

通信、计算机、电子相关专业技术工作

中国联合网络通信有限公司&#xff08;福建分公司2018招聘&#xff09;<1>IT工程师相应岗位&#xff08;软件方向&#xff09;岗位需求1.以C/C等计算机语言为主要武器&#xff0c;参与公司IT开发、维护、优化2.根据公司发展和业务需求进行软件设计、参与代码开发、系统测…

python可视化报表制作教程_如何使用Python快速制作可视化报表

数据可视化能力已经越来越成为各岗位的基础技能。领英的数据报告显示&#xff0c;数据可视化技能在2017年中国最热门技能中排名第一。就数据分析而言&#xff0c;可视化探索几乎是你正式进行数据分析的第一步&#xff0c;通过SQL拿到数据之后&#xff0c;我们需要使用可视化方法…

vfp程序改错 计算机和英语,vfp程序改错教案.doc

Visual Foxpro程序改错〖第1题〗(练习题所在文件夹:163)*题目&#xff1a;该程序完成口令检验功能。输入三次不正确退出。*注意&#xff1a;不可以增加或删除程序行&#xff0c;也不可以更改程序的结构。SET TALK OFFCLEARass1"AbCdEf"TT1DO WHILE TT<410,20 SAY …

青春

青春 最后一班午夜列车&#xff0c;悄悄地带走了青春&#xff0c;溪水淌过的路终将不会倒流而去。 青春就像一件新买的衬衫&#xff0c;尽管新颖夺目&#xff0c;却始终逃不了岁月的洗礼&#xff0c;一遍一遍的脱去新颖的靓丽&#xff0c;尽管你小心的呵护&#xff0c;终将守护…

lisp遍历表中所有顶点_三十张图片让你彻底弄明白图的两种遍历方式:DFS和BFS...

1 引言遍历是指从某个节点出发&#xff0c;按照一定的的搜索路线&#xff0c;依次访问对数据结构中的全部节点&#xff0c;且每个节点仅访问一次。  在二叉树基础中&#xff0c;介绍了对于树的遍历。树的遍历是指从根节点出发&#xff0c;按照一定的访问规则&#xff0c;依次…

未来教育计算机二级预测c,二级C语言(附光盘)(全国计算机等级考试预测试卷与真考题库)...

摘要&#xff1a;高质量预测试卷 首创命题模拟系统,专家层层把关,瞄准每年的更新试题 最新版无纸化考试题库 提供1035道题,所有试题均有正确答案与详尽解析 无纸化真考模拟系统 操作环境,评分机制与真实考试系统的完全一致,带您提前"进入"考场 名师视频课堂 机考误区…

通用测试用例大全

为方便平时写测试用例&#xff0c;整理如下&#xff1a; 功能条件测试步骤测试数据预期结果备注搜索或查询 单独遍历各查询条件&#xff0c;测试按各查询条件是否都能够查询出相应的值. 查询出符合条件的记录 设置界面上所有查询条件进行查询,单击查询按钮后&#xff0c;测试执…