加速实现浏览器渲染的方法及浏览器与流程

文档序号:12786375阅读:304来源:国知局
加速实现浏览器渲染的方法及浏览器与流程

本发明涉及一种计算机技术,尤其涉及一种加速实现浏览器渲染的方法及浏览器。



背景技术:

随着超文本标记语言HTML以及网络脚本JavaScript技术的发展,浏览器中的内容变得更加丰富和有趣,在网页中办公、玩游戏、甚至处理图像都已经实现并应用越来越广泛,而且在浏览器中出现大型的3D游戏、高清晰的多媒体视频也成为发展趋势,但将所有的浏览器的图像处理工作全部交由CPU处理,会消耗大量的CPU资源,甚至导致CPU无法正常完成任务。

对一些图形操作来说,利用图形处理芯片(Graphic Processing Unit,以下简称为GPU)比中央处理器CPU的处理效率更高,比如GPU在执行Alpha混合与双线性图形缩放的时候就比CPU快得多,还可以利用像素着色器执行复杂的每像素计算。而且执行更多任务,CPU资源就得以释放给其他浏览器子系统,还能获得更流畅的动画和视频播放效果。

现有的浏览器中已经出现了使用GPU硬件加速实现对浏览器渲染的方法,在开启该项功能后,对于网页中指定类型的网页元素,都会自动地发送到GPU中进行渲染,以加快网页的渲染过程。但是实际使用中,GPU都是由显卡来实际进行渲染并给出实际的渲染结果数据,以在显示器上进行显示。但是并非所有的显卡都支持硬件加速技术,而且支持GPU加速技术的显卡的版本型号是千差万别,同一显卡的驱动版本也有区别。因此,开启硬件加速功能后,由于以上差异性,显卡存在不能正确地对处理所有指定类型的网页元素,浏览器出现蓝屏或者崩溃的概率很高,在出现这类故障的情况下,只能通过禁用浏览 器的硬件加速功能,牺牲CPU的资源来提高浏览器的稳定性。针对以上因硬件加速导致出现浏览器蓝屏或崩溃的现象,现有技术中尚未提出有效的解决方案。



技术实现要素:

针对现有技术中的缺陷,本发明以便提供一种克服上述问题或者至少部分地解决上述问题的浏览器和相应的加速实现浏览器渲染的方法。

第一方面,本发明提供一种加速实现浏览器渲染的方法,安装该浏览器的设备的显卡具有图形处理器GPU硬件加速功能,所述方法包括:

在所述显卡开启GPU硬件加速功能时,获取预设时间段内与所述GPU硬件加速功能相关的每一进程的运行状态信息;

获取所述运行状态信息的权重值,将所述权重值与预设的进程运行表中该设备对应的进程权重值进行比较;

根据比较结果,确定是否关闭所述GPU硬件加速功能。

可选地,将所述权重值与预设的进程运行表中该设备对应的权重值进行比较的步骤之前,所述方法还包括:

从云服务器中下载所述进程运行表,所述进程运行表中包括:多条进程权重值的数据项,每条进程权重值的数据项包括:一种设备的设备信息以及该设备支持进行GPU硬件加速的进程权重值。

可选地,所述进程运行表的生成步骤包括:

获取本地设备的浏览器已实现GPU硬件加速时,与该GPU硬件加速功能相关的每一进程的运行状态信息,以及本地设备的设备信息;

将获取的与该GPU硬件加速功能相关的每一进程的运行状态信息以及本地设备的设备信息上传云服务器,以使所述云服务器根据预设规则生成所述进程运行表。

可选地,所述设备信息包括:设备中显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息。

可选地,与所述GPU硬件加速功能相关的进程包括:GPU进程、插件进程和渲染进程中的一种或多种。

可选地,预设时间段内与所述GPU硬件加速功能相关的每一进程的运行状态信息包括:

预设时间段内每一进程的断开次数,连接次数和每一次断开时间点信息,每一进程最后的运行状态。

第二方面,本发明提供一种浏览器,安装所述浏览器的计算机的显卡具有GPU硬件加速功能,所述浏览器包括:

监测单元,用于监测所述显卡是否开启GPU硬件加速功能;

第一获取单元,用于在所述监测单元确定所述显卡开启GPU硬件加速功能时,获取预设时间段内与所述GPU硬件加速功能相关的每一进程的运行状态信息;

第二获取单元,用于获取所述运行状态信息的权重值;

比较单元,用于将所述权重值与预设的进程运行表中该设备对应的进程权重值进行比较;

判断单元,用于根据比较结果,确定是否关闭所述GPU硬件加速功能。

可选地,所述浏览器还包括:

下载单元,用于从云服务器中下载所述进程运行表,所述进程运行表中包括:多条进程权重值的数据项,每条进程权重值的数据项包括:一种设备的设备信息以及该设备支持进行GPU硬件加速的进程权重值。

可选地,所述设备信息包括:设备中显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息。

可选地,与所述GPU硬件加速功能相关的进程包括:GPU进程、插件进程和渲染进程中的一种或多种。

由上述技术方案可知,本发明的加速实现浏览器渲染的方法及浏览器,通过在监测到显卡卡其GPU硬件加速时,获取与GPU硬件加速相关的进程的运行状态信息,进而获取这些进程的运行状态信息的权重值,并与预设的进行运行表中的相关权重值进行比较,以确定是否关闭当前显卡的GPU硬件加速功能,进而可较好避免因硬件加速导致出现浏览器蓝屏或崩溃的现象,保证浏览器运行的稳定性,提升用户体验。

附图说明

图1为本发明一实施例提供的加速实现浏览器渲染的方法的流程示意图;

图2为本发明另一实施例提供的加速实现浏览器渲染的方法的流程示意图;

图3为本发明一实施例提供的浏览器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,现有的浏览器渲染页面的硬件加速选项开启后,浏览器将所有预设的网页元素都会自动发送给GPU进行渲染,在这一过程中并没有考虑安装浏览器的硬件配置是否完全支持以上预设的网页元素加速,所以导致浏览器运行不稳定,崩溃的概率非常高。为此,如何保证浏览器的稳定运行且确定是否适时关闭显卡的GPU硬件加速功能成为当前亟需解决的问题。

此外,现有设备中显卡信息比较混乱,且部分设备中的显卡具有GPU硬件加速功能,部分设备中的显卡不具有GPU硬件加速功能,而本发明实施例中提及的硬件加速功能均是针对显卡支持GPU硬件加速的。

图1示出了本发明一实施例提供的加速实现浏览器渲染的方法的流程示意图,应说明的该方法适用于安装有该浏览器的设备的显卡具有GPU硬件加速功能。如图1所示,本实施例的加速实现浏览器渲染的方法包括如下步骤:

101、在所述显卡开启GPU硬件加速功能时,获取预设时间段内与所述GPU硬件加速功能相关的每一进程的运行状态信息。

举例来说,本实施例中的与GPU硬件加速功能相关的进程可包括:GPU进程、插件进程和渲染进程、浏览器视频播放进程中的一种或多种。插件进程可包括:flash进程、CSS进程。

另外,预设时间段内与所述GPU硬件加速功能相关的每一进程的运行状态信息可包括:预设时间段内每一进程的断开次数,连接次数和每一次断开时间点信息,每一进程最后的运行状态等。

102、获取所述运行状态信息的权重值。

举例来说,若当前设备中与GPU硬件加速功能相关的进程包括:GPU进程、flash进程和渲染进程;则在预设时间段内GPU进程断开次数为0,连接次数为0,该GPU进程最后的运行状态正常;flash进程断开的次数为1,连接的次数为1,该flash进程最后的运行状态是连接中;渲染进程断开的次数为1,连接的次数为1,该渲染进程最后的运行状态是正常,如下表1举例,此时可根据预设的权重值计算公式确定上述步骤102中的权重值。

表1

103、将所述权重值与预设的进程运行表中该设备对应的进程权重值进行比较。

本实施例中预设的进程运行表可以是云服务器汇总多个用户的计算机的GPU硬件加速的相关进程生成的,也可以是相关处理人员根据经验整理的进程运行表,本实施例不对其进行限定,可根据实际需要配置。

104、根据比较结果,确定是否关闭所述GPU硬件加速功能。

举例来说,可选地,在一种实现场景中,上述图1所示的方法还可包括下述的图中未示出的步骤105:

105、若权重值大于预设的进程运行表中该设备对应的进程权重值,则确定关闭GPU硬件加速功能。

由此,可减缓浏览器页面的渲染,使得浏览器加载页面缓慢,但可以保证浏览器不出现蓝屏或崩溃的现象,保证浏览器的稳定性。

当然,若权重值远远小于预设的进程运行表中该设备对应的进程权重值,则可确定不关闭当前显卡的GPU硬件加速功能。

此时,可提高计算机的运行效率,同时加速浏览器网页的渲染,避免因硬件加速导致出现浏览器蓝屏或崩溃的现象,提升用户体验。

可选地,在另一种实现场景中,上述图1所示的方法中的步骤103之前,上述方法还可包括下述的图中未示出的步骤102a:

102a:从云服务器中下载所述进程运行表,所述进程运行表中包括:多条进程权重值的数据项,每条进程权重值的数据项包括:一种设备的设备信息以及该设备支持进行GPU硬件加速的进程权重值。

也就是说,本实施例的进程运行表是从云服务器中下载,在其他实施例中,进程运行表还可为用户自己定义的,或者通过其他现有的方式获取的,本实施例不对其进行限定,可根据实际需要调整。

举例来说,该步骤中的设备信息可包括:设备中显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息。由于设备中显卡支持硬件加速功能,进而利用以上设备信息可以唯一地确定设备中显卡的性能。

进一步地,若进程运行表是从云服务器中下载的,则该进程运行表的生成步骤可包括下述的A01和步骤A02:

A01、获取本地设备的浏览器已实现GPU硬件加速时,与该GPU硬件加速功能相关的每一进程的运行状态信息,以及本地设备的设备信息。

针对本地设备的浏览器已实现GPU硬件加速,可理解如下:按照已选择的网页元素类型对本地设备的浏览器页面渲染进行GPU硬件加速;此时,监测进行GPU硬件加速后浏览器的运行状态,在浏览器的运行状态符合预设条件的情况下,确定本地设备的浏览器已实现GPU硬件加速,并记录此时与GPU硬件加速相关的每一进程的运行状态信息。

上述监测进行GPU硬件加速后浏览器的运行状态包括:监测浏览器是否出现以下任一种异常状态:蓝屏、崩溃、渲染错误等;浏览器在预定时间内未出现任一种异常状态时,则确定本地设备的浏览器已实现GPU硬件加速。

A02、将获取的与该GPU硬件加速功能相关的每一进程的运行状态信息以及本地设备的设备信息上传云服务器,以使所述云服务器根据预设规则生成所述进程运行表。

举例来说,该步骤中的设备信息可包括:设备中显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息。

图2示出了本发明一实施例提供的加速实现浏览器渲染的方法的流程示意图,应说明的该方法适用于安装有该浏览器的设备的显卡具有GPU硬件加速功能。如图2所示,本实施例的加速实现浏览器渲染的方法包括如下步骤:

201、针对预设时间段内的多个设备,在该些设备中每一设备的浏览器均已实现GPU硬件加速,且浏览器运行稳定未发生异常,则获取每一设备中该GPU硬件加速功能相关的每一进程的运行状态信息,和该设备的设备信息。

202、每一设备将获取的该设备中与GPU硬件加速功能相关的每一进程的运行状态信息和该设备的设备信息发送云服务器。

本实施例的设备信息可包括:设备中显卡的制造商信息、显卡的型号信息、显卡的驱动版本信息或CPU信息等,本实施例仅对设备信息进行举例说明,不限定设备信息的具体内容。

203、云服务器根据预设时间段内接收的每一设备发送的该设备对应的设备信息及进程的运行状态信息确定每一设备的进程运行表。

本实施例的进程运行表包括:多条进程权重值的数据项,每条进程权重值的数据项包括:一种设备的设备信息以及该设备支持进行GPU硬件加速的进程权重值。

204、云服务器将确定的进程运行表发送每一设备。

205、设备的浏览器在启动后实时监测该设备内的显卡是否开启GPU硬件加速功能。

206、若监测到显卡开启GPU硬件加速功能,则获取预设时间段内与所述GPU硬件加速功能相关的每一进程的运行状态信息。

207、获取与所述GPU硬件加速功能相关的每一进程的运行状态信息的权重值。

208、将所述权重值与预设的进程运行表中该设备对应的进程权重值进行比较,获取比较结果。

209、根据所述比较结果,确定是否关闭所述GPU硬件加速功能。

由此,本实施例的方法,通过在监测到显卡卡其GPU硬件加速时,获取与GPU硬件加速相关的进程的运行状态信息,进而获取这些进程的运行状态信息的权重值,并与预设的进行运行表中的相关权重值进行比较,以确定是否关闭当前显卡的GPU硬件加速功能,进而可较好避免因硬件加速导致出现浏览器蓝屏或崩溃的现象,保证浏览器运行的稳定性,提升用户体验。

图3示出了本发明一实施例提供的浏览器的结构示意图,本实施例中,安装该浏览器的计算机的显卡具有GPU硬件加速功能,如图3所示,本实施的浏览器包括:监测单元31、第一获取单元32、第二获取单元33、比较单元34和判断单元35;

监测单元31用于监测所述显卡是否开启GPU硬件加速功能;

第一获取单元32用于在所述监测单元确定所述显卡开启GPU硬件加速功能时,获取预设时间段内与所述GPU硬件加速功能相关的每一进程的运行状态信息;

第二获取单元33用于获取所述运行状态信息的权重值;

比较单元34用于将所述权重值与预设的进程运行表中该设备对应的进程权重值进行比较;

判断单元35用于根据比较结果,确定是否关闭所述GPU硬件加速功能。

举例来说,上述的与GPU硬件加速功能相关的进程包括:GPU进程、插件进程和渲染进程中的一种或多种。

可选地,在一种可选的实现场景中,上述图3所示的浏览器还包括图中未示出的下载单元,该下载单元,用于从云服务器中下载所述进程运行表,所述进程运行表中包括:多条进程权重值的数据项,每条进程权重值的数据项包括:一种设备的设备信息以及该设备支持进行GPU硬件加速的进程权重值。

举例来说,本实施例的设备信息可包括:设备中显卡的制造商信 息、显卡的型号信息、显卡的驱动版本信息。

需要说明的是,由于目前显卡的种类较多且硬件版本及驱动程序的发展也较快,上述进程运行表中的数据也可以根据实际运行状态动态更新。

本实施例中,浏览器在监测单元监测到显卡开启GPU硬件加速功能时,获取相关与GPU硬件加速的进程的权重值,进而与预设进程运行表中的进程权重值进行比较,以根据比较结果确定是否关闭当前显卡的GPU硬件加速功能,由此,可较好的保证浏览器的运行稳定性,避免因硬件加速导致出现浏览器蓝屏或崩溃的现象,提高了计算机的运行效率,提升用户体验。

在此处所提供的所明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明实施例中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中,每个权利要求本身都作为本发明的单独实施例。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1