如何做公司培训网站,公司网站建设及维护管理总结,中国建设银行网站设计评价,网站建设网页设计公司管理Android设备的功耗和性能有助于确保应用程序在各种硬件上始终如一地顺畅运行。在Android 7.0及更高版本中#xff0c;OEM可以实现对持续性能提示的支持#xff0c;使应用程序能够保持一致的设备性能#xff0c;并指定专属核以提高CPU密集型前台应用程序的性能。持续性能…管理Android设备的功耗和性能有助于确保应用程序在各种硬件上始终如一地顺畅运行。在Android 7.0及更高版本中OEM可以实现对持续性能提示的支持使应用程序能够保持一致的设备性能并指定专属核以提高CPU密集型前台应用程序的性能。持续性能对于长时间运行的应用程序(游戏相机渲染脚本音频处理)性能会随着设备温度限制和片上系统(SoC)引擎限制而显着变化。应用程序开发人员创建高性能长期运行的应用程序是受限的因为当设备开始升温时底层平台的功能是波动的。为了解决这些限制Android 7.0引入了对持续性能的支持使OEM能够为长期运行的应用程序提供设备性能功能的提示。应用程序开发人员可以使用这些提示来调整应用程序以便在很长一段时间内获得可预测的一致的设备性能水平。架构Android应用程序可以请求平台进入持续性能模式使Android设备可以在较长时间内保持一致的性能水平。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。