一种Flash硬件加速控制方法及系统的制作方法

文档序号:6541445阅读:197来源:国知局
一种Flash硬件加速控制方法及系统的制作方法
【专利摘要】本发明公开了一种Flash硬件加速控制方法及系统,在用户所请求的URL中存在Flash对象请求时,首先对所请求的URL页面中的每个Flash对象请求分别创建Flash对象;之后获取本地Flash程序的配置文件,根据配置文件对所述的Flash对象进行属性设置;最后查看所请求的URL是否在URL预置库中,若是则将Flash对象属性中的硬件加速属性设置为关闭后对所请求的URL页面进行渲染,若否则直接对所请求的URL页面进行渲染。该方法及系统,根据Flash的来源来判断是否开启硬件加速,解决了网页视频播放时出现的花屏或者停顿卡死的问题,提升了使用浏览器观看视频等Flash特效的用户体验。
【专利说明】—种Flash硬件加速控制方法及系统
【技术领域】
[0001]本发明涉及互联网【技术领域】,具体涉及一种浏览器中Flash硬件加速的控制方法及系统。
【背景技术】
[0002]Flash技术已经成为交互式矢量图和Web动画的技术标准,在各类互联网应用程序中广泛应用,用户个人计算机中安装了适用于浏览器的Flash插件之后,就可以观看网页中的视频等Flash特效。从Flash9版本开始,引入了“硬件加速”功能,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。开启硬件加速可以有效的降低CPU的占用率,现在在线视频多支持最高1080P的高清分辨率,开启硬件加速可以利用显卡对视频数据进行分担处理,降低CPU的占用率,这样对于一些CPU性能较低的超极本,或者老爷机的电脑可以更加流畅。
[0003]硬件解码的优点是效率高,功耗低、热功耗低,缺点是缺乏有力的支持局限性较大,设置较为复杂。硬件解码生效的时候,三个处理器,CPU,GPU和APU通过总线交换数据。硬件解码需要硬件有硬件解码模块、相关的驱动配合、合适的播放软件以及对播放软件正确的设置,缺一而不能开启硬件解码功能。一旦硬件解码失败就会出现花屏,模糊马赛克等;严重的甚至导致播放视频全屏时出现停顿或死机的现象。当前某些Flash版本会存在bug,导致部分显卡在开启Flash硬件加速的情况下播放Flash视频出现花屏。
[0004]为了让用户个人计算机中安装的Flash程序尽可能的适应不同网页中的Flash应用,现有技术通常会选择在用户进入网页时检查用户客户端机器中Flash程序的版本是否为最新,如果不是就提示用户下载最新的Flash程序安装包升级到最新版本。采用上述方法更新到最新Flash版本的方式,虽然方便简单,但由于不同客户端的软、硬件环境差异,即使最新版本Flash程序与系统环境发生不兼容的可能性依然很高。
[0005]综上所述,引起网页视频播放出现花屏或者停顿卡死现象的原因有很多,有Flash版本原因、硬件兼容原因、硬件加速设置复杂等原因,而对于普通用户来说很难识别出引起网页视频播放出现花屏或者停顿卡死现象的原因,即使能找出原因,由于Flash硬件加速的设置比较复杂,普通用户也无法解决Flash对象无法正常渲染的问题。本发明正是针对上述问题而提出的一种在浏览器中对Flash硬件加速进行控制的方法,解决这些技术问题,提升使用浏览器看视频等Flash特效的用户体验。

【发明内容】

[0006]针对现有技术中存在的缺陷,本发明的目的在于提供一种Flash硬件加速控制方法及系统,根据Flash的来源判断是否开启硬件加速。
[0007]为实现上述目的,本发明采用的技术方案如下:
[0008]一种Flash硬件加速控制方法,包括:
[0009]浏览器接收用户请求的统一资源定位符URL,对所请求的URL页面中的每个Flash对象请求分别创建Flash对象;
[0010]获取本地Flash程序的配置文件,根据配置文件对所述的Flash对象进行属性设置;
[0011]查看所请求的URL是否在URL预置库中,若是则将Flash对象属性中的硬件加速属性设置为关闭,对所请求的URL页面进行渲染,若否则直接对所请求的URL页面进行渲染。
[0012]可选的,如上所述的一种Flash硬件加速的控制方法,所述的URL预置库为本地预置库。
[0013]可选的,如上所述的一种Flash硬件加速的控制方法,所述的URL预置库设置在云端。
[0014]可选的,如上所述的一种Flash硬件加速的控制方法,所述的URL预置库中存储的是在flash对象加载时出现兼容性问题的网站的URL。
[0015]可选的,如上所述的一种Flash硬件加速的控制方法,如果浏览器内核为webkit内核,通过劫持本地Flash程序的可执行文件来修改Flash对象的硬件加速属性设置。
[0016]可选的,如上所述的一种Flash硬件加速的控制方法,如果浏览器内核为IE内核,通过挂起系统的应用程序编程接口,在读取本地Flash程序的配置文件时,对Flash对象的硬件加速属性进行修改。
[0017]一种Flash硬件加速控制系统,包括:
[0018]Flash对象创建模块,用于对用户所请求的URL页面中的每个Flash对象请求分别创建Flash对象;
[0019]Flash属性设置模块,用于获取用户本地Flash程序的配置文件,并根据配置文件对所述的Flash对象进行属性设置;
[0020]URL页面渲染模块,用于修改硬件加速属性,对所请求的URL页面进行渲染,具体方式为:查看所请求的URL是否在URL预置库中,若是则将Flash对象属性中的硬件加速属性设置为关闭,对请求的URL页面进行渲染,若否则直接对请求的URL页面进行渲染。
[0021]本发明的有益效果在于:本发明所述的方法及系统,通过对Flash设置的劫持,实现了根据Flash的来源判断是否开启硬件加速,解决了网页视频播放时出现的花屏或者停顿卡死的问题,提升了使用浏览器观看视频等Flash特效的用户体验,同时又不影响用户浏览高清网站或者玩页游时使用硬件加速功能。
【专利附图】

【附图说明】
[0022]图1为本发明【具体实施方式】中一种Flash硬件加速控制系统的结构框图;
[0023]图2为本发明【具体实施方式】中一种Flash硬件加速控制方法的流程图。
【具体实施方式】
[0024]下面结合说明书附图与【具体实施方式】对本发明做进一步的详细说明。
[0025]图1示出了本发明【具体实施方式】中一种Flash硬件加速控制系统的结构框图,该系统包括Flash对象创建模块IUFlash属性设置模块12和URL页面渲染模块13,其中,
[0026]Flash对象创建模块11用于对用户所请求的统一资源定位符URL页面中的每个Flash对象请求分别创建Flash对象;
[0027]Flash属性设置模块12用于获取用户本地Flash程序的配置文件,并根据配置文件对所述的Flash对象进行属性设置;
[0028]URL页面渲染模块13用于修改硬件加速属性,对所请求的URL页面进行渲染,具体方式为:查看所请求的URL是否在URL预置库中,若是则将Flash对象属性中的硬件加速属性设置为关闭,对请求的URL页面进行渲染,若否则直接对请求的URL页面进行渲染。
[0029]图2示出了本发明【具体实施方式】中一种Flash硬件加速控制方法的流程图,该方法包括:
[0030]S21:对所请求的统一资源定位符URL页面中的每个Flash对象请求分别创建Flash对象;
[0031]硬件加速(Hardware acceleration)是指在计算机中通过把计算量非常大的工作分配给专门的硬件来处理来减轻中央处理器的工作量的技术,尤其是在图像处理中这个技术非常经常被使用。事实上,网页进行播放时,硬件加速的开启或者关闭通常不会对网页中的视频的清晰度产生影响,硬件加速通常只对大型游戏有影响。而Flash是否开启硬件加速,是会对本地上的所有浏览器生效的,本发明提出的在浏览器中对Flash硬件加速进行控制的方法,通过对Flash设置的劫持,做到了根据Flash的来源来决定是否开启硬件加速。
[0032]在浏览器接收到用户请求的URL时,首先需要判断所请求的URL页面中是否存在Flash对象请求,如果存在则继续整个流程,如果URL页面中不存在Flash对象请求,则结束控制流程,直接对用户请求的URL页面进行渲染。
[0033]当用户所请求的URL页面中有Flash对象请求时,判断页面中Flash对象请求的个数,对分别针对每个Flash对象请求创建Flash对象。
[0034]S22:根据本地Flash程序的配置文件对Flash对象进行属性设置;
[0035]在创建Flash对象时,需要获得用户本地Flash程序的配置文件,并根据用户本地Flash程序的配置文件对S21中所创建的Flash对象进行各项属性设置。
[0036]本实施方式中,本地Flash程序的配置文件主要是指本地安装的flash程序版本对所支持的本地应用的默认配置,比如GPU (Graphic Processing Unit,图形处理器)硬件加速、摄像头、麦克、内存缓存大小等配置。不同的用户有可能安装不同版本的flash,不同版本的flash程序支持不同的硬件,flash程序内部有自己的逻辑、有默认配置,本地Flash程序的默认配置中flash程序默认的配置是开启硬件加速功能。
[0037]S23:修改Flash对象属性中的硬件加速属性,对所请求的URL页面进行渲染。
[0038]判断Flash的来源,根据Flash对象的来源来决定是否开启硬件加速,具体方式如下:
[0039]查看用户所请求的URL是否在预置库中,若是则将Flash对象属性中的硬件加速属性设置为关闭,Flash对象创建完成,浏览器对请求的URL页面进行渲染,若否则浏览器直接对请求的URL页面进行正常渲染。其中,URL预置库中存储的是在flash对象加载时出现兼容性问题的网站的URL,URL预置库可以是人工维护的一个URL数据库,预置库可以是本地预置库,也可以是云端预置库。
[0040]S23中对Flash对象属性中的硬件加速属性进行修改设置时,对于不同的浏览器核心,会采用不同的修改方式,具体如下:
[0041]如果浏览器内核为webkit内核,通过劫持本地Flash程序的可执行文件来修改Flash对象的硬件加速属性设置。对于webkit核心浏览器,在渲染Flash对象时是调用了Flash程序的GCSWF32.dll文件,因此能够通过劫持GCSWF32.dll文件来修改Flash对象的硬件加速属性配置;
[0042]如果浏览器内核为IE内核,通过挂起系统的应用程序编程接口(比如监控ReadFile函数),在读取本地Flash程序的配置文件时,对Flash对象的硬件加速属性进行修改。
[0043]本发明所述的Flash硬件加速控制方法及系统,通过对Flash设置的劫持,根据Flash的来源来判断是否开启硬件加速,通过该方法及系统解决了网页视频播放花屏或者停顿卡死的问题,同时又不影响用户浏览其他高清网站或者玩页游时使用硬件加速的功倉泛。
[0044]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种Flash硬件加速控制方法,其特征在于,该方法包括: 浏览器接收用户请求的统一资源定位符URL,对所请求的URL页面中的每个Flash对象请求分别创建Flash对象; 获取本地Flash程序的配置文件,根据配置文件对所述的Flash对象进行属性设置;查看所请求的URL是否在URL预置库中,若是则将Flash对象属性中的硬件加速属性设置为关闭,对所请求的URL页面进行渲染,若否则直接对所请求的URL页面进行渲染。
2.如权利要求1所述的一种Flash硬件加速的控制方法,其特征在于:所述的URL预置库为本地预置库。
3.如权利要求1所述的一种Flash硬件加速的控制方法,其特征在于:所述的URL预置库为云端预置库。
4.如权利要求1至3之一所述的一种Flash硬件加速的控制方法,其特征在于:所述的URL预置库中存储的是在flash对象加载时出现兼容性问题的网站的URL。
5.如权利要求1所述的一种Flash硬件加速控制方法,其特征在于:如果浏览器内核为webkit内核,通过劫持本地Flash程序的可执行文件来修改Flash对象的硬件加速属性设置。
6.如权利要求1所述的一种Flash硬件加速控制方法,其特征在于:如果浏览器内核为IE内核,通过挂起系统的应用程序编程接口,在读取本地Flash程序的配置文件时,对Flash对象的硬件加速属性进行修改。
7.一种Flash硬件加速控制系统,其特征在于,包括: Flash对象创建模块,用于对用户所请求的统一资源定位符URL页面中的每个Flash对象请求分别创建Flash对象; Flash属性设置模块,用于获取用户本地Flash程序的配置文件,并根据配置文件对所述的Flash对象进行属性设置; URL页面渲染模块,用于修改硬件加速属性,对所请求的URL页面进行渲染,具体方式为:查看所请求的URL是否在URL预置库中,若是则将Flash对象属性中的硬件加速属性设置为关闭,对请求的URL页面进行渲染,若否则直接对请求的URL页面进行渲染。
【文档编号】G06F9/44GK103914299SQ201410110719
【公开日】2014年7月9日 申请日期:2014年3月24日 优先权日:2014年3月24日
【发明者】何洪亮, 宋雷 申请人:北京金山网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1