一种视图绘制中硬件加速控制方法及系统技术方案

技术编号:15227814 阅读:49 留言:0更新日期:2017-04-27 11:10
本发明专利技术公开了一种视图绘制中硬件加速控制方法及系统,包括:步骤S10配置视图绘制控制模块;步骤S30获取当前安卓系统的应用程序编程接口的版本号;步骤S40判断所述应用程序编程接口的版本号是否处于限制区域,若是,则执行步骤S50;步骤S50在视图绘制中控制硬件加速全局不开启。本发明专利技术可以根据当前安卓系统的应用程序编程接口的版本号的实际情况,自动选择是否开启全局硬件加速;当开启了全局硬件加速时,会实时监听加载的位图文件的尺寸是否包含于预设尺寸,结合实际情况,来决定是否需要暂时关闭硬件加速,转用软件渲染来实现视图绘制,大大提高了用户的使用体验。

【技术实现步骤摘要】

本专利技术涉及安卓系统领域,尤其涉及一种视图绘制中硬件加速控制方法及系统。
技术介绍
智能终端是日常生活中的必备品,智能终端的安卓(Android)系统拥有广大的用户群,用户会使用智能终端进行浏览网页、玩游戏、看视频等。在这些过程中必然会碰到加载位图文件的情况,加载位图文件的过程就是视图(View)的绘制过程,为了保证视图绘制的效果会用到离屏渲染(Off-screenRendering)的机制,离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作,而开启硬件加速是提高离屏渲染效果的关键。到了安卓3.0时代,安卓的2D渲染管线(Pipeline)开始支持硬件加速,这意味着所有的绘制操作都是由使用了GPU的画布(Canvas)来完成,并且当安卓的应用程序编程接口(ApplicationProgrammingInterface,API)大于14时默认开启硬件加速。然而,由于硬件加速并不支持所有的2D图形绘制操作,因此对于那些使用定制的View绘制来说,打开全局硬件加速,会造成影响,例如:对那些不可见的元素进行了异常或错误的像素渲染。现有技术解决这个问题的方法是不开启全局硬件加速,从而避免出现错误的像素渲染,但这种方法无法利用到硬件加速所能带来的性能提升,大大影响了用户的使用体验。
技术实现思路
本专利技术的目的是提供一种视图绘制中硬件加速控制方法及系统,在合适的时机开启硬件加速,实现提高性能的同时,又降低出现错误像素渲染的概率,达到提高用户使用体验的目的。本专利技术提供的技术方案如下:一种视图绘制中硬件加速控制方法,包括:步骤S10配置视图绘制控制模块;步骤S30获取当前安卓系统的应用程序编程接口的版本号;步骤S40判断所述应用程序编程接口的版本号是否处于限制区域,若是,则执行步骤S50;步骤S50在视图绘制中控制硬件加速全局不开启。进一步,所述步骤S40还包括:若否,则执行步骤S60;步骤S60在视图绘制中控制硬件加速全局开启。在上述技术方案中,可以根据当前安卓系统的应用程序编程接口(API)的版本号来确认在视图绘制中是否全局开启硬件加速。考虑到不同API的版本号对全局硬件加速的支持情况不同,因此,会根据实际情况来控制是否开启全局硬件加速,提高了用户在使用过程中视图绘制更平滑,提高了用户的使用体验。进一步,所述步骤S60之后还包括:步骤S70监听是否存在加载位图文件的操作,若是,则执行步骤S80,若否,则执行步骤S70;步骤S80判断加载的所述位图文件的尺寸是否包含于预设尺寸,若是,则执行步骤S70,若否,则执行步骤S90;步骤S90控制硬件加速临时关闭,且控制软件渲染开启,直到加载完所述位图文件后关闭软件渲染,再控制硬件加速重新开启。在上述技术方案中,加载图像是一种广义的说法,在系统底层执行时,真正加载的是此图像对应的位图文件。在开启了全局硬件加速时,会进一步监听每时每刻加载位图文件的情况,当加载的位图文件的尺寸大于预设尺寸时,需要对加载的位图文件进行裁剪以适应预设尺寸,这时若保持开启硬件加速在运行时会产生问题,因此,会自动控制硬件加速临时关闭,控制软件渲染开启,保证既能成功加载此位图文件,又不会出现加载错误的情况,大大提高了用户的满意度。进一步,所述步骤S10与所述步骤S30之间还包括:步骤S20设置位图文件的所述预设尺寸;所述预设尺寸包括:预设高度值和预设宽度值;所述步骤S80具体包括:步骤S81判断加载的所述位图文件的高度值是否大于所述预设高度值,若是,则执行步骤S90,若否,则执行步骤S82;步骤S82判断加载的所述位图文件的宽度值是否大于所述预设宽度值,若是,则执行步骤S90,若否,则执行步骤S70。在上述技术方案中,会设置位图文件的预设尺寸,便于后续的判断操作。而长度值、宽度值都会被考虑进去,有一个值出现超出预设值的情况,就说明需要进行裁剪,因此,会马上控制硬件加速临时关闭,杜绝出现视图绘制异常的情况。进一步,所述限制区域包括:完全不支持区域,所述完全不支持区域包括:应用程序编程接口的版本号小于11;全局不支持区域,所述全局不支持区域包括:应用程序编程接口的版本号大于等于11,且小于等于14。在上述技术方案中,不同的安卓系统对应不同的API版本号,在API版本号11以前是完全不支持硬件加速的,因此,若当前安卓系统的API版本号落在这个区域内,则根本不会出现控制硬件加速开启这种选项。而从API版本号11开始,就出现了硬件开启的功能,但是直到API版本号14以后才支持全局硬件加速,因此,若API的版本号落在全局不支持区域,也不会出现控制硬件全局加速开启这种选项。进一步,所述限制区域还包括:故障频发区域。在上述技术方案中,即使在高版本的API中,若开启全局硬件加速,也会有很多视图绘制出现异常的情况,例如:API的版本号为17或18;因此,保留了这个故障频发区域,便于编程人员根据情况进行调整,多方面的考虑保证了本专利技术的方法可以应用于安卓系统的多种版本中,操作简单,具有广泛的应用前景。本专利技术还提供一种视图绘制中硬件加速控制系统,包括:视图绘制控制模块;视图配置模块,与所述视图绘制控制模块电连接,用于配置所述视图绘制控制模块;版本获取模块,与所述视图配置模块电连接,当所述视图配置模块配置了所述视图绘制控制模块后,所述版本获取模块获取当前安卓系统的应用程序编程接口的版本号;版本判断模块,与所述版本获取模块、所述视图绘制控制模块电连接,当所述版本获取模块获取了当前安卓系统的应用程序编程接口的版本号,所述版本判断模块判断所述应用程序编程接口的版本号是否处于限制区域;所述视图绘制控制模块,进一步用于当所述版本判断模块判断所述应用程序编程接口的版本号处于限制区域时,所述视图绘制控制模块在视图绘制中控制硬件加速全局不开启。在上述技术方案中,本系统是基于安装有安卓系统的智能终端实现的,智能终端包括:手机、平板电脑等电子设备。可以根据智能终端当前安卓系统的API版本号,自动选择是否开启全局硬件加速,尽最大可能发挥硬件加速的性能优势,使智能终端在视图绘制时更平滑,给予用户更好的使用体验。进一步,所述视图绘制控制模块,进一步用于当所述判断模块判断所述应用程序编程接口的版本号不处于限制区域时,所述视图绘制控制模块在视图绘制中控制硬件加速全局开启。进一步,还包括:操作监听模块,与所述视图绘制控制模块电连接,当所述视图绘制控制模块控制硬件加速全局开启时,所述操作监听模块监听是否存在加载位图文件的操作;尺寸判断模块,与所述操作监听模块、所述视图绘制控制模块电连接,若所述操作监听模块监听到存在加载位图文件的操作,所述尺寸判断模块判断加载的所述位图文件的尺寸是否包含于预设尺寸;所述视图绘制控制模块,进一步用于若所述尺寸判断模块判断加载的所述位图文件的尺寸不包含于所述预设尺寸,所述视图绘制控制模块控制硬件加速临时关闭,且控制软件渲染开启,直到加载完所述位图文件后关闭软件渲染,再控制硬件加速重新开启。进一步,还包括:尺寸设置模块,与所述视图绘制控制模块、所述尺寸判断模块电连接,所述尺寸设置模块用于设置位图文件的所述预设尺寸;所述预设尺寸包括:预设高度值和预设宽度值;所述尺寸判断模块具体包括:高度判断子模块,判断加载的所述本文档来自技高网...

【技术保护点】
一种视图绘制中硬件加速控制方法,其特征在于,包括:步骤S10配置视图绘制控制模块;步骤S30获取当前安卓系统的应用程序编程接口的版本号;步骤S40判断所述应用程序编程接口的版本号是否处于限制区域,若是,则执行步骤S50;步骤S50在视图绘制中控制硬件加速全局不开启。

【技术特征摘要】
1.一种视图绘制中硬件加速控制方法,其特征在于,包括:步骤S10配置视图绘制控制模块;步骤S30获取当前安卓系统的应用程序编程接口的版本号;步骤S40判断所述应用程序编程接口的版本号是否处于限制区域,若是,则执行步骤S50;步骤S50在视图绘制中控制硬件加速全局不开启。2.如权利要求1所述的视图绘制中硬件加速控制方法,其特征在于,所述步骤S40还包括:若否,则执行步骤S60;步骤S60在视图绘制中控制硬件加速全局开启。3.如权利要求2所述的视图绘制中硬件加速控制方法,其特征在于,所述步骤S60之后还包括:步骤S70监听是否存在加载位图文件的操作,若是,则执行步骤S80,若否,则执行步骤S70;步骤S80判断加载的所述位图文件的尺寸是否包含于预设尺寸,若是,则执行步骤S70,若否,则执行步骤S90;步骤S90控制硬件加速临时关闭,且控制软件渲染开启,直到加载完所述位图文件后关闭软件渲染,再控制硬件加速重新开启。4.如权利要求3所述的视图绘制中硬件加速控制方法,其特征在于,所述步骤S10与所述步骤S30之间还包括:步骤S20设置位图文件的所述预设尺寸;所述预设尺寸包括:预设高度值和预设宽度值;所述步骤S80具体包括:步骤S81判断加载的所述位图文件的高度值是否大于所述预设高度值,若是,则执行步骤S90,若否,则执行步骤S82;步骤S82判断加载的所述位图文件的宽度值是否大于所述预设宽度值,若是,则执行步骤S90,若否,则执行步骤S70。5.如权利要求1-4任一所述的视图绘制中硬件加速控制方法,其特征在于,所述限制区域包括:完全不支持区域,所述完全不支持区域包括:应用程序编程接口的版本号小于11;全局不支持区域,所述全局不支持区域包括:应用程序编程接口的版本号大于等于11,且小于等于14。6.如权利要求5所述的视图绘制中硬件加速控制方法,其特征在于,所述限制区域还包括:故障频发区域。7.一种采用上述权利要求1-6任一视图绘制中硬件加速控制方法的视图绘制中硬件加速控制系统,其特征在于,包括:视图绘制控制模块;视图配置模块,与所述视图绘制控制模块电连接,用于配置所述视图绘制控制...

【专利技术属性】
技术研发人员:吴亮
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1