使用硬件加速实现浏览器渲染的方法和浏览器的制造方法

文档序号:6518202阅读:169来源:国知局
使用硬件加速实现浏览器渲染的方法和浏览器的制造方法
【专利摘要】本发明提供了一种使用硬件加速实现浏览器渲染的方法和浏览器。安装该浏览器的终端的显卡具有图形处理器GPU硬件加速功能,其中使用硬件加速实现浏览器渲染的方法包括以下步骤:根据显卡的信息在预设的硬件加速映射表中查找显卡对应的硬件加速映射数据项;从对应的硬件加速映射数据项中确定出显卡支持硬件加速的网页元素类型;按照确定出的网页元素类型对浏览器页面的渲染进行GPU硬件加速。应用本发明的技术方案,利用浏览器侧的实际硬件配置信息匹配得出支持硬件加速的网页元素类型,实际进行加速的网页元素与硬件配置相适应,提高了GPU硬件加速在网页渲染的可用性,避免了因硬件加速导致出现浏览器蓝屏或崩溃的现象。
【专利说明】使用硬件加速实现浏览器渲染的方法和浏览器
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及一种使用硬件加速实现浏览器渲染的方法和浏览器。
【背景技术】
[0002]随着超文本标记语言HTML以及网络脚本JavaScript技术的发展,浏览器中的内容变得更加丰富和有趣,在网页中办公、玩游戏、甚至处理图像都已经实现并应用越来越广泛,而且在浏览器中出现大型的3D游戏、高清晰的多媒体视频也成为发展趋势,但将所有的浏览器的图像处理工作全部交由CPU处理,会消耗大量的CPU资源,甚至导致CPU无法正常完成任务。
[0003]对一些图形操作来说,利用图形处理芯片(Graphic Processing Unit,以下简称为GPU)比中央处理器CPU的处理效率更高,比如GPU在执行Alpha混合与双线性图形缩放的时候就比CPU快得多,还可以利用像素着色器执行复杂的每像素计算。而且执行更多任务,CPU资源就得以释放给其他浏览器子系统,还能获得更流畅的动画和视频播放效果。
[0004]现有的浏览器中已经出现了使用GPU硬件加速实现对浏览器渲染的方法,在开启该项功能后,对于网页中指定类型的网页元素,都会自动地发送到GPU中进行渲染,以加快网页的渲染过程。
[0005]但是实际使用中,GPU都是由显卡来实际进行渲染并给出实际的渲染结果数据,以在显示器上进行显示。但是并非所有GPU都支持硬件加速技术,而且支持GPU加速技术的显卡的版本型号是千差万别,同一显卡的驱动版本也有区别。因此,开启硬件加速功能后,由于以上差异性,显卡可能不能正确地对处理所有指定类型的网页元素,浏览器出现蓝屏或者崩溃的概率很高,在出现这类故障的情况下,只能通过禁用浏览器的硬件加速功能,牺牲CPU的资源来提高浏览器的稳定性。针对以上因硬件加速导致出现浏览器蓝屏或崩溃的现象,现有技术中尚未提出有效的解决方案。

【发明内容】

[0006]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的浏览器和相应的使用硬件加速实现浏览器渲染的方法。
[0007]依据本发明的一个方面,提供了一种使用硬件加速实现浏览器渲染的方法。安装浏览器的终端的显卡具有图形处理器GPU硬件加速功能,该使用硬件加速实现浏览器渲染的方法包括以下步骤:根据显卡的信息在预设的硬件加速映射表中查找显卡对应的硬件加速映射数据项;从对应的硬件加速映射数据项中确定出显卡支持硬件加速的网页元素类型;按照确定出的网页元素类型对浏览器页面的渲染进行GPU硬件加速。
[0008]可选地,在根据显卡的信息在预设的硬件加速映射表中查找显卡对应的硬件加速映射数据项之前还包括:从云端服务器下载硬件加速映射表,硬件加速映射表中包含多条硬件加速映射数据项,每条硬件加速映射数据项包括一种显卡的显卡信息以及该种显卡支持进行GPU硬件加速的网页元素类型。
[0009]可选地,硬件加速映射表的生成步骤包括:获取本地终端的浏览器已实现GPU硬件加速的网页元素类型以及本地终端的显卡信息;匹配保存网页元素类型以及本地终端的显卡信息,得到本地终端的硬件加速映射数据项;上传硬件加速映射数据项至云端服务器,由云端服务器汇总多个终端的硬件加速映射项以生成硬件加速映射表。
[0010]可选地,获取本地终端的浏览器已实现GPU硬件加速的网页元素类型包括:按照已选择的网页元素类型对本地终端的浏览器页面渲染进行GPU硬件加速;监测进行GPU硬件加速后浏览器的运行状态;在浏览器的运行状态符合预设条件的情况下,确定本地终端的浏览器已实现GPU硬件加速,并记录已选择的网页元素类型。
[0011]可选地,监测进行GPU硬件加速后浏览器的运行状态包括:监测浏览器是否出现以下任一种异常状态:蓝屏、崩溃、渲染错误;在浏览器在预定时间内未出现任一种异常状态时,确定本地终端的浏览器已实现GPU硬件加速。
[0012]可选地,在按照确定出的网页元素类型对浏览器页面的渲染进行GPU硬件加速之后还包括:接收用户对开启GPU硬件加速的网页元素类型的修改;按照修改后的网页元素类型对浏览器页面的渲染进行GPU硬件加速;监测进行浏览器的运行状态;在浏览器的运行状态符合预设条件的情况下,将用户修改的网页元素类型进行上传,以对硬件加速映射表进行修改。
[0013]可选地,显卡支持硬件加速的网页元素类型包括以下的任意一项或多项:绘图簿Canvas、3维级联样式表3D CSS、级联样式表动画CSS Animation、网页图形数据库WebGL、网页图形数据库多重米样WebGL multi samp ling、三维动画Flash3D、动画三维平台Flash Stage3D、动画三维平台基线Flash Stage3D Baseline profile、共享纹理Texture Sharing、视频解码 Video Decode、视频 Video、面拟合 Panel Fitting、光栅化Rasterization。
[0014]可选地,显卡的信息包括:显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息。
[0015]特别地,本发明提供了一种浏览器。安装浏览器的计算机的显卡具有GPU硬件加速功能,该浏览器包括:映射表查询模块,用于根据显卡的信息在预设的硬件加速映射表中查找显卡对应的硬件加速映射数据项;元素类型确定模块,用于从对应的硬件加速映射数据项中确定出显卡支持硬件加速的网页元素类型;加速执行模块,用于按照确定出的网页元素类型对浏览器页面的渲染进行GPU硬件加速。
[0016]可选地,上述浏览器还包括:下载接口,用于从云端服务器下载硬件加速映射表,其中,硬件加速映射表中包含多条硬件加速映射数据项,每条硬件加速映射数据项包括一种显卡的显卡信息以及该种显卡支持进行GPU硬件加速的网页元素类型。
[0017]可选地,上述浏览器还包括:映射表生成模块,用于获取本地终端的浏览器已实现GPU硬件加速的网页元素类型以及本地终端的显卡信息;匹配保存网页元素类型以及本地终端的显卡信息,得到本地终端的硬件加速映射数据项;上传硬件加速映射数据项至云端服务器,以由云端服务器汇总多个终端的硬件加速映射项以生成硬件加速映射表。
[0018]可选地,上述浏览器还包括:映射表优化模块,用于接收用户对开启GPU硬件加速的网页元素类型的修改;按照修改后的网页元素类型对浏览器页面的渲染进行GPU硬件加速;监测进行浏览器的运行状态;在浏览器的运行状态符合预设条件的情况下,将用户修改的网页元素类型进行上传,以对硬件加速映射表进行修改。
[0019]本发明的使用硬件加速实现浏览器渲染的方法利用浏览器侧的实际硬件配置信息,匹配得出支持硬件加速的网页元素类型,并进行硬件加速,实际进行加速的网页元素与硬件配置相适应,提高了 GPU硬件加速在网页渲染的可用性,避免了因硬件加速导致出现浏览器蓝屏或崩溃的现象,提高了计算机的运行效率。
[0020]进一步地,浏览器监测进行GPU硬件加速后浏览器的运行状态,以确定浏览器已实现GPU硬件加速的运行状态,上传并通过总结用户的信息生成硬件加速映射表,用于对其它浏览器用户进行硬件加速配置,提高了数据准确性以及可扩展性。
[0021]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0022]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【专利附图】

【附图说明】
[0023]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0024]图1是根据本发明一个实施例的浏览器100的示意图;
[0025]图2是根据一个实施例的使用硬件加速实现浏览器渲染的方法的示意图;
[0026]图3是根据一个实施例的使用硬件加速实现浏览器渲染的方法中生成硬件加速映射表的流程图;
[0027]图4是根据本发明一个实施例的使用硬件加速实现浏览器渲染的方法应用的网络架构图;以及
[0028]图5是根据本发明一个实施例的使用硬件加速实现浏览器渲染的方法的一个具体应用流程图。
【具体实施方式】
[0029]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0030]现有技术中的浏览器渲染页面的硬件加速选项开启后,浏览器对所有预设的网页元素都会自动发送给GPU进行渲染,在这一过程中并没有考虑安装浏览器的硬件配置是否完全支持以上预设的网页元素加速,所以导致浏览器崩溃的概率较高。因此,浏览器渲染页面的硬件加速默认是关闭的。
[0031]本发明实施例的浏览器仅对与硬件配置相匹配的网页元素开启硬件加速,所采用的方案不同于现有技术的浏览器。图1是根据本发明一个实施例的浏览器100的示意图,如图所示,本实施例的浏览器100包括:映射表查询模块110、元素类型确定模块120、加速执行模块130。
[0032]其中,以上浏览器100的运行硬件环境中的显卡支持GPU硬件加速,映射表查询模块110用于根据显卡的信息在预设的硬件加速映射表中查找显卡对应的硬件加速映射数据项;元素类型确定模块120用于从对应的硬件加速映射数据项中确定出显卡支持硬件加速的网页元素类型;加速执行模块130用于按照确定出的网页元素类型对浏览器页面的渲染进行GPU硬件加速。
[0033]以上映射表查询模块110的工作流程可以包括:首先获取硬件中的显卡信息,然后在硬件加速映射表查找显卡对应的硬件加速映射数据项。以上显卡信息可以包括:显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息。利用以上显卡信息可以唯一地确定显卡的性能,而在硬件加速映射表已经记录有不同显卡的硬件加速映射数据项,经过映射表查询模块110的查询,就可以得到当前显卡对应的硬件加速映射数据项。
[0034]硬件加速映射数据项中匹配记录了显卡信息以及该显卡可以支持支持GPU硬件加速的网页元素类型。从而元素类型确定模块120可以根据确定出的硬件加速映射数据项对应得出网页元素类型,以便加速执行模块130对以上网页元素的类型执行GPU硬件加速。
[0035]与现有技术相比,本实施例的浏览器100开启硬件加速的网页元素类型都是与当前显卡相匹配的类型,与硬件信息动态匹配。
[0036]由于显卡的种类较多而且硬件版本及驱动程序的发展也较快,硬件加速映射表中的数据也需要动态更新,本实施例的浏览器100利用云端技术提高硬件加速映射表中数据的正确性并动态进行更新。因此本发明实施例中的浏览器100还可以设置有下载接口 140、映射表生成模块150、映射表优化模块160。
[0037]其中下载接口 140用于从云端服务器下载硬件加速映射表,其中,硬件加速映射表中包含多条硬件加速映射数据项,每条硬件加速映射数据项包括一种显卡的显卡信息以及该种显卡支持进行GPU硬件加速的网页元素类型。
[0038]以上云端服务器中的硬件加速映射表可以通过汇总多个用户的计算机的硬件信息及其可以实现的硬件加速的网页元素类型生成。在本实施例的浏览器100中,映射表生成模块150用于获取本地终端的浏览器已实现GPU硬件加速的网页元素类型以及本地终端的显卡信息;匹配保存网页元素类型以及本地终端的显卡信息,得到本地终端的硬件加速映射数据项;上传硬件加速映射数据项至云端服务器,以由云端服务器汇总多个终端的硬件加速映射项以生成硬件加速映射表。
[0039]映射表生成模块150总结本机的显卡信息和硬件加速运行情况得到当前显卡的硬件加速映射数据项,并进行上传,以供云端服务器进行数据汇总。映射表生成模块150可以在当前硬件加速映射表没有自身显卡匹配的硬件加速映射数据项或者用户对硬件加速的网页元素进行了手动改进的情况下,获取数据。
[0040]映射表生成模块150获取本地终端的浏览器已实现GPU硬件加速的网页元素类型的流程可以包括:按照已选择的网页元素类型对本地终端的浏览器页面渲染进行GPU硬件加速;监测进行GPU硬件加速后浏览器100的运行状态;在浏览器100的运行状态符合预设条件的情况下,确定本地终端的浏览器100已实现GPU硬件加速,并记录已选择的网页元素类型。监测进行GPU硬件加速后浏览器100的运行状态包括:监测浏览器100是否出现以下任一种异常状态:蓝屏、崩溃、渲染错误;在浏览器100在预定时间内未出现任一种异常状态时,确定本地终端的浏览器100已实现GPU硬件加速。如果浏览器100在预定时间内发生了异常状况,可以认为进行硬件加速的网页元素类型与当前显卡不匹配,需要对当前网页元素类型的配置进行修改。
[0041]GPU硬件加速的网页元素类型可以包括:绘图簿Canvas、3维级联样式表3D CSS、级联样式表动画CSS Animation、网页图形数据库WebGL、网页图形数据库多重采样WebGLmultisampling、三维动画Flash3D、动画三维平台Flash Stage3D、动画三维平台基线FlashStage3D Baseline profile、共享纹理 Texture Sharing、视频解码 Video Decode、视频Video、面拟合Panel Fitting、光栅化Rasterization。显卡信息包括:显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息。以上包括的网页类型和显卡信息的种类都可可以根据实际情况进行扩展和删减。
[0042]映射表生成模块150上传给云端的硬件加速映射数据项可以是一个四元数组,表I示出了映射表生成模块150上传给云端的件加速映射数据项的内容。
[0043]表1
【权利要求】
1.一种使用硬件加速实现浏览器渲染的方法,其中安装该浏览器的终端的显卡具有图形处理器GPU硬件加速功能,该方法包括: 根据所述显卡的信息在预设的硬件加速映射表中查找所述显卡对应的硬件加速映射数据项; 从所述对应的硬件加速映射数据项中确定出所述显卡支持硬件加速的网页元素类型; 按照确定出的网页元素类型对浏览器页面的渲染进行GPU硬件加速。
2.根据权利要求1所述的使用硬件加速实现浏览器渲染的方法,其中,在根据所述显卡的信息在预设的硬件加速映射表中查找所述显卡对应的硬件加速映射数据项之前还包括: 从云端服务器下载所述硬件加速映射表,所述硬件加速映射表中包含多条硬件加速映射数据项,每条所述硬件加速映射数据项包括一种显卡的显卡信息以及该种显卡支持进行GPU硬件加速的网页元素类型。
3.根据权利要求1或2所述的使用硬件加速实现浏览器渲染的方法,其中,所述硬件加速映射表的生成步骤包括: 获取本地终端的浏览器已实现GPU硬件加速的网页元素类型以及所述本地终端的显卡信息; 匹配保存所述网页元素类型以及所述本地终端的显卡信息,得到所述本地终端的硬件加速映射数据项; 上传所述硬件加速映射数据项至所述云端服务器,由所述云端服务器汇总多个终端的硬件加速映射项以生成所述硬件加速映射表。
4.根据权利要求3所述的使用硬件加速实现浏览器渲染的方法,其中,获取本地终端的浏览器已实现GPU硬件加速的网页元素类型包括: 按照已选择的网页元素类型对所述本地终端的浏览器页面渲染进行GPU硬件加速; 监测进行GPU硬件加速后浏览器的运行状态; 在所述浏览器的运行状态符合预设条件的情况下,确定所述本地终端的浏览器已实现GPU硬件加速,并记录所述已选择的网页元素类型。
5.根据权利要求4所述的使用硬件加速实现浏览器渲染的方法,其中, 监测进行GPU硬件加速后浏览器的运行状态包括:监测所述浏览器是否出现以下任一种异常状态:蓝屏、崩溃、渲染错误; 在所述浏览器在预定时间内未出现所述任一种异常状态时,确定所述本地终端的浏览器已实现GPU硬件加速。
6.根据权利要求1至5中任一项所述的使用硬件加速实现浏览器渲染的方法,其中,在按照确定出的网页元素类型对浏览器页面的渲染进行GPU硬件加速之后还包括: 接收用户对开启GPU硬件加速的网页元素类型的修改; 按照修改后的网页元素类型对浏览器页面的渲染进行GPU硬件加速; 监测进行所述浏览器的运行状态; 在所述浏览器的运行状态符合预设条件的情况下,将用户修改的所述网页元素类型进行上传,以对所述硬件加速映射表进行修改。
7.根据权利要求1至6中任一项中所述的使用硬件加速实现浏览器渲染的方法,其中,所述显卡支持硬件加速的网页元素类型包括以下的任意一项或多项:绘图簿Canvas、3维级联样式表3D CSS、级联样式表动画CSS Animation、网页图形数据库WebGL、网页图形数据库多重米样WebGL multisampling、三维动画Flash3D、动画三维平台Flash Stage3D、动画三维平台基线Flash Stage3D Baseline profile、共享纹理Texture Sharing、视频解码Video Decode、视频 Video、面拟合 Panel Fitting、光栅化 Rasterization。
8.根据权利要求1至7中任一项所述的使用硬件加速实现浏览器渲染的方法,其中,所述显卡的信息包括:显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息。
9.一种浏览器,安装所述浏览器的计算机的显卡具有GPU硬件加速功能,所述浏览器包括: 映射表查询模块,用于根据所述显卡的信息在预设的硬件加速映射表中查找所述显卡对应的硬件加速映射数据项; 元素类型确定模块,用于从所述对应的硬件加速映射数据项中确定出所述显卡支持硬件加速的网页元素类型; 加速执行模块,用于按照确定出的网页元素类型对浏览器页面的渲染进行GPU硬件加速。
10.根据权利要求9所述的浏览器,还包括: 下载接口,用于从云端服务器下载所述硬件加速映射表,其中,所述硬件加速映射表中包含多条硬件加速映射数据项,每条所述硬件加速映射数据项包括一种显卡的显卡信息以及该种显卡支持进行GPU硬件加速`的网页元素类型。
【文档编号】G06F17/30GK103617191SQ201310549819
【公开日】2014年3月5日 申请日期:2013年11月7日 优先权日:2013年11月7日
【发明者】刘庆平, 任寰 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1