随着5G时代到来,智能设备已经涉及到了人们生活工作的很多方面,与之对应的是用户对网络的要求也越来越高,移动网络的不稳定常常给用户带来不便和较差网络体验,这也是不少开发者在开发过程中攻克的难点之一。
而华为HMS Core计算加速服务(Accelerate Kit)为应用开发者提供了更简单易用的多线程编程接口,同一线程调度管理,充分发挥多核能力,提升程序性能,从而为用户带来顺畅的网络体验。
众多服务和能力 助力开发者深度参与系统调度
为解决程序的性能问题,华为计算加速服务为开发者提供了多线程加速库,还将为开发者提供多线程加速和计算加速解决方案,帮助开发者轻松解决线程重载和应用性能问题。华为计算加速服务优先推出了多线程库,提供分发任务到管理队列的接口,调度管理队列任务在多核硬件上执行,合理利用系统资源。
此外,系统性能加速库(PerfGenius)是华为计算加速服务中的性能加速模块,允许开发者深度参与华为硬件平台的性能调度,提供了显示帧率设置,关键线程设置和性能能效状态上报等接口,打通了一条与硬件直接沟通的通道,让开发者可以深度利用硬件平台的性能调优,高效利用平台硬件能力。
比如,通常情况下,设备厂商是通过预测应用的负载来调度相应资源,会在负载突变场景存在一定的预测延迟及误差。通过系统性能加速库自主控制性能参数可以使硬件响应更及时,更准确,有效帮助解决应用卡顿、游戏掉帧等性能类问题,同时又避免了低负载场景的性能过剩的问题,最大程度提升整机能效比。
服务简单易用 助力开发者应用开发高能高效
华为计算加速服务提供简单而丰富的多线程编程接口,具有更高的易用性和实用性,可以提升编程效率,降低开发难度。开发者不必关注线程管理(线程创建,销毁,同步),也不需要了解多核硬件架构,仅需专注任务的实现,提升开发效率。
此外就是高性能高效用。开发者可以合理地利用系统的资源,最大化重用缓存,充分发挥多核性能。原先开发者单线程的任务通过该接口更为容易被改造成多线程任务,由多线程库,统一调度到不同核,从而最大化异构多核能力,帮助开发者轻松解决线程重载和应用性能问题。通过平衡调度系统资源,还减少了系统功耗。
应用场景多样 让用户畅享优质网络生活
目前,华为计算加速服务可以接入游戏类App、拍照类App、导航类App等多类应用。在游戏领域,华为计算加速服务可帮助开发者简化大型游戏、复杂拍照场景下的多线程编程模型,充分利用多核多线程能力提升程序性能。比如,网易游戏通过接入华为计算加速服务多线程框架库,优化了底层库函数调用开销和任务调度算法,减少了无效的任务等待,相较于基础版本框架调用,框架开销优化了10%-15%。(数据来源于开发者反馈)
华为计算加速服务中的系统性能加速库在各种应用场景中发挥了很大作用:如游戏渲染,通过设置关键线程可以保证用户线程的资源调度优先级。面对负载突变的场景,开发者更容易预知负载变化,及时通知硬件提频或者提高刷新率;使应用启动更快,游戏运行更流畅;针对导航等低刷新率的场景,系统性能加速库可以通知硬件降低刷新率,切换到导航内动画时又可以及时提高刷新率,在不影响用户体验情况下维持较低功耗。
未来,华为HMS Core计算加速服务还将推出计算加速库,提供矩阵、向量和标量运算等线性代数运算以及CV、图像处理计算加速能力,进一步提高开发者的开发效率,为用户带来更精彩的智能生活。
原作者:本无所为之