CN102945187A - 基于机顶盒中间件的QtWebKit优化方法 - Google Patents

基于机顶盒中间件的QtWebKit优化方法 Download PDF

Info

Publication number
CN102945187A
CN102945187A CN2012103709330A CN201210370933A CN102945187A CN 102945187 A CN102945187 A CN 102945187A CN 2012103709330 A CN2012103709330 A CN 2012103709330A CN 201210370933 A CN201210370933 A CN 201210370933A CN 102945187 A CN102945187 A CN 102945187A
Authority
CN
China
Prior art keywords
qtwebkit
interface
int
top box
set top
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012103709330A
Other languages
English (en)
Other versions
CN102945187B (zh
Inventor
陈宝强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Original Assignee
LeTV Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LeTV Information Technology Beijing Co Ltd filed Critical LeTV Information Technology Beijing Co Ltd
Priority to CN201210370933.0A priority Critical patent/CN102945187B/zh
Publication of CN102945187A publication Critical patent/CN102945187A/zh
Application granted granted Critical
Publication of CN102945187B publication Critical patent/CN102945187B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供一种基于机顶盒中间件的QtWebKit优化方法,其特征在于,所述方法包括如下步骤:实现二维加速通用接口;实现QtWebKit新图形的plugin驱动;将QRasterPaintEngine中的基于软件的图形操作函数更换为上述的二维加速通用接口。与现有技术相比,采用本发明提供的方法可以实现均衡负载,与图形相关的操作都由gpu实现,大大减轻了CPU的负担。同时实现本发明所述的接口后,根据不同的硬件平台,重新实现二维加速的通用接口,就可以很容易地实现QtWebKit的平台移植。

Description

基于机顶盒中间件的QtWebKit优化方法
技术领域
本发明涉及互联网技术领域,更具体地,涉及一种基于机顶盒中间件的QtWebKit优化方法。
背景技术
现有浏览器内核的引擎基本上是三分天下:Trident引擎、Gecko引擎和WebKit引擎。其中,Trident引擎也称为MSHTML,是IE使用的排版引擎。Gecko引擎是Mozilla、Firefox使用的排版引擎。WebKit是一个开源的浏览器引擎,Safari、Google Chrome、搜狗浏览器均是基于Webkit引擎开发的。WebKit在手机上的应用十分广泛,例如 Google的手机Gphone、Apple的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。
WebKit引擎也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari、Dashboard、Mail和其他一些Mac OS X 程序。WebKit引擎所包含的WebCore排版引擎和JSCore引擎来自于KDE的KHTML和KJS。
WebKit从Qt 4.4开始被作为一个Module被集成到Qt中。Qt 4.7 使QtWebKit集成的稳定性和性能均得到提升的更新。QtWebKit提供了一个web浏览器引擎使World Wide Web更容易集成到Qt应用中. 使web页面能显示各种本地控件,通过JavaScript和本地对象交互。
QtWebKit是一个用Qt封装了WebKit浏览器引擎的工具包。QtWebKit也可以用来将网页保存为图片的工具。
电视芯片等嵌入式设备,由于其资源有限,电视芯片的CPU和内存等不能和个人电脑设备相比。这样一些软件,如浏览器等,运行在嵌入式设备上时,反应缓慢。无法正常运行,为此,stb等嵌入式设备为分担CPU的工作量,采用外置gpu(图形处理器)的方式,来实现对图形操作的处理。但各个厂家提供不同的gpu图形接口。性能差异很大。
QtWebKit移植一般采用方案有两种:基于framebuffer和directfb。前者完全基于软件处理,无法使用gpu,所以工作量均在CPU。会导致CPU负载沉重。Directfb的方案一般由stb 芯片厂家提供,可以部分利用平台提供的二维加速接口。但其图形加速功能利用有限。本文所述的celestial 芯片方案中,celestial厂商提供的directfb方案不稳定,且厂商不承诺可用。
目前在celestial平台上QtWebKit移植采用了基于framebuffer的方式。图形操作完全由软件操作,在有网页特效较多时,浏览器反应缓慢。在采用本方法提供的方案可以明显提高反应速度。
发明内容
本发明提供一种基于机顶盒中间件的QtWebKit优化方法,其特征在于,所述方法包括如下步骤:实现二维加速通用接口;实现QtWebKit新图形的plugin驱动;将QRasterPaintEngine中的基于软件的图形操作函数更换为上述的二维加速通用接口。
优选的是,所述实现二维加速通用接口包括如下步骤:1)实现二维引擎dma内存管理接口;2)实现图像的复制、缩放、颜色填充和alpha渲染接口。
优选的是,所述二维引擎dma内存管理接口用于重新映射到虚拟地址空间。
优选的是,所述alpha渲染接口包括基于颜色的alpha渲染和基于块的alpha渲染。
优选的是,所述plugin驱动的接口为插件形式。。
与现有技术相比,采用本发明提供的方法可以实现均衡负载,与图形相关的操作都由gpu实现,大大减轻了CPU的负担。同时实现本发明所述的接口后,根据不同的硬件平台,重新实现二维加速的通用接口,就可以很容易地实现QtWebKit的平台移植。
附图说明
为了使本发明便于理解,现在结合附图描述本发明的具体实施例。
图1示出本发明一优选实施例的流程示意图。
具体实施方式
下面结合附图和优选的实施方式对本发明作进一步详细描述。权利要求中构成要件和实施例中具体实例之间的对应关系可以如下例证。这里的描述意图在于确认在实施例中描述了用来支持在权利要求中陈述的主题的具体实例,由于在实施例中描述了实例,不意味着该具体实例不表示构成要件。相反地,即使在此包含了具体实例作为对应一个构成要件的要素特征,也不意味着该具体实例不表示任何其它构成要件。
此外,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。换句话说,这里的描述不否认这种实体,即对应实施例包含的具体实例,但不包含在其任何一项权利要求中,即,能够在以后的修正被分案并申请、或增加的可能发明的实体。
应当注意的是,“系统”在此意味着由两个或更多设备构成的处理。
显而易见地,用户终端可以由个人计算机构成。此外,所述用户终端还可以由例如蜂窝电话、任何其它PDA(个人数字助理)工具、AV(音频视频)装置、诸如家用电气(家庭用电气化)设备的CE(消费电子设备)等构成。
“网络”意味着至少连接了两个设备的机构,并且在其中,一条信息能够从一个设备发送到另一个设备。经由网络建立通信的设备可以是彼此分离的,也可以是构成一个机器的内部模块。
“通信”可表示无线通信和有线通信。然而,还可以是混合无线和有线通信的通信,更具体地,在某个区段采取无线通信而在另一个区段采取有线通信的通信。同样,它也可以是这样的通信:从一个设备向另一设备的通信是有线的,且相反方向的通信是无线的。
本发明的一优选实施例中采用celestial的1800l芯片。在通常情况下,QtWebKit的图形驱动是基于framebuffer,所述图形驱动的实现均通过软件合成。图形驱动引擎的实现是通过QRasterPaintEngine,所述图形驱动引擎结合framebuffer图形驱动插件,可实现各种图形操作。这种采用软件合成的方式,当解析的网页较复杂、网页特效较多的时候,比如具有动画效果的图片较多或需要不断刷新渲染时,浏览器的反应速度缓慢,CPU在一定时间内一直处于100%占用的状态,这样会严重影响用户体验。
本发明的一优选实施例利用1800l芯片的gpu提供的二维加速功能来实现图形操作以减轻CPU的图形操作的任务,降低CPU的使用率。考虑到QtWebKit移植的通用性,在该实施例中实现了一个二维加速的通用接口。这样,在移植到其他平台后,只需要根据相应平台的二维编程接口实现该通用接口,即可实现QtWebKit的图形接口,从而缩短移植周期。
图1示出本发明一优选实施例的流程示意图。本发明的优选实施例中首先实现了二维加速的通用接口,使得上层API接口与操作平台无关。
首先,实现二维引擎dma内存管理接口。例如:
unsigned char *graphic_mem_malloc(int size);
int graphic_mem_free(unsigned char *mem_addr);
二维加速管理物理内存,需要重新映射到虚拟地址空间,通过上述代码中的接口就可以实现该功能。
然后,实现图像的复制、缩放、颜色填充和alpha渲染接口。例如:
int graphic_surface_blit(void *dest, int w, int h, int x, int y, void *src,  int src_w, int src_h, int dx, int dy, int dw, int dh);
通过上述代码实现复制接口。 
int graphic_surface_scalor(unsigned char *dest, int w, int h,  int x, int y, int dst_w, int dst_h,unsigned char *src, int src_w, int src_h, int dx, int dy, int dw, int dh);
通过上述代码可以实现缩放接口。
int graphic_surface_fill(int x, int y, int w, int h, char a, char r, char g, char b);
通过上述代码可以实现颜色填充接口。
int graphic_surface_blending_color(unsigned char *dest, int w, int h, int x, int y, int dw, int dh, int in_color);
通过上述代码可以实现基于颜色的alpha渲染。
int graphic_surface_blending_rect(unsigned char *dest, int w, int h, int x, int y, const unsigned char *src, int src_w, int src_h, int dx, int dy, int dw, int dh);
通过上述代码可以实现基于块的alpha渲染。
然后,在上述二维加速的通用接口的基础上,实现QtWebKit新图形的plugin驱动。qt的图形引擎能够提供自动扩展功能,用户可以根据不同的硬件类型实现相应的图形驱动接口。所述图形驱动接口以插件形式存在,可以被qt调用来实现图形的显示和操作。
例如,实现class qtGraphicScreen。qtGraphicScreen类用于实现主屏幕,所有数据通过该接口发送到显示区域。
最后,将QRasterPaintEngine中的基于软件的图形操作函数更换为上述的二维加速通用接口。
上述详细描述通过实施例和/或示意图阐明了系统和/或过程的各种实施例。就这些示意图和/或包含一个或多个功能和/或操作而言,本领域技术人员将理解,这些示意图或实施例中的每一个功能和/或操作都可由各种各样的硬件、软件、固件、或实际上其任意组合来单独地和/或共同地实现。
应该理解,本文描述的方法可以结合硬件或软件,或在适当时结合两者的组合来实现。因此,本发明的方法,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储介质(包括易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。一个或多个程序可以例如,通过使用API,可重用控件等来实现或利用结合本发明描述的过程。这样的程序优选地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。
需要说明的是,本发明的一种基于机顶盒中间件的QtWebKit优化方法的方案范畴包括但不限于上述各部分之间的任意组合。
尽管具体地参考其优选实施例来示出并描述了本发明,但本领域的技术人员可以理解,可以做出形式和细节上的各种改变而不脱离所附权利要求书中所述的本发明的范围。以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。

Claims (5)

1.基于机顶盒中间件的QtWebKit优化方法,其特征在于,所述方法包括如下步骤:
实现二维加速通用接口;
实现QtWebKit新图形的plugin驱动;
将QRasterPaintEngine中的基于软件的图形操作函数更换为上述的二维加速通用接口。
2.一种如权利要求1所述的基于机顶盒中间件的QtWebKit优化方法,其特征在于,所述实现二维加速通用接口包括如下步骤:
   1)实现二维引擎dma内存管理接口;
   2)实现图像的复制、缩放、颜色填充和alpha渲染接口。
3.一种如权利要求2所述的基于机顶盒中间件的QtWebKit优化方法,其特征在于,所述二维引擎dma内存管理接口用于重新映射到虚拟地址空间。
4.一种如权利要求2所述的基于机顶盒中间件的QtWebKit优化方法,其特征在于,所述  alpha渲染接口包括基于颜色的alpha渲染和基于块的alpha渲染。
5.一种如权利要求1所述的基于机顶盒中间件的QtWebKit优化方法,其特征在于,所述plugin驱动的接口为插件形式。
CN201210370933.0A 2012-09-29 2012-09-29 基于机顶盒中间件的QtWebKit优化方法 Expired - Fee Related CN102945187B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210370933.0A CN102945187B (zh) 2012-09-29 2012-09-29 基于机顶盒中间件的QtWebKit优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210370933.0A CN102945187B (zh) 2012-09-29 2012-09-29 基于机顶盒中间件的QtWebKit优化方法

Publications (2)

Publication Number Publication Date
CN102945187A true CN102945187A (zh) 2013-02-27
CN102945187B CN102945187B (zh) 2015-04-01

Family

ID=47728135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210370933.0A Expired - Fee Related CN102945187B (zh) 2012-09-29 2012-09-29 基于机顶盒中间件的QtWebKit优化方法

Country Status (1)

Country Link
CN (1) CN102945187B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105554571A (zh) * 2014-11-03 2016-05-04 Tcl集团股份有限公司 一种基于Firefox OS的TV系统实现方法及装置
CN107885592A (zh) * 2016-09-29 2018-04-06 上海华测导航技术股份有限公司 一种加速android系统运行流畅度的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030097393A1 (en) * 2001-11-22 2003-05-22 Shinichi Kawamoto Virtual computer systems and computer virtualization programs
CN102550004A (zh) * 2009-09-30 2012-07-04 阿尔卡特朗讯公司 企业网络中分配的云资源的动态负载平衡和调配

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030097393A1 (en) * 2001-11-22 2003-05-22 Shinichi Kawamoto Virtual computer systems and computer virtualization programs
CN102550004A (zh) * 2009-09-30 2012-07-04 阿尔卡特朗讯公司 企业网络中分配的云资源的动态负载平衡和调配

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王姝文: "嵌入式浏览器跨平台服务组件研究与设计", 《中国优秀硕士学位论文全文数据库》, 1 April 2011 (2011-04-01), pages 20 - 58 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105554571A (zh) * 2014-11-03 2016-05-04 Tcl集团股份有限公司 一种基于Firefox OS的TV系统实现方法及装置
CN107885592A (zh) * 2016-09-29 2018-04-06 上海华测导航技术股份有限公司 一种加速android系统运行流畅度的方法

Also Published As

Publication number Publication date
CN102945187B (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN102323882B (zh) 一种应用于Web3D的数据处理装置和方法
Gavalas et al. Development platforms for mobile applications: Status and trends
CN107393013B (zh) 虚拟漫游文件生成、显示方法、装置、介质、设备和系统
CN111669623B (zh) 视频特效的处理方法、装置以及电子设备
CN106095437A (zh) 用户界面从右到左rtl的布局方式的实现方法及装置
CN101627368A (zh) 计算机图形再现
CN104823220A (zh) 用于图形处理的图形存储器加载掩模
CN104995622A (zh) 用于图形函数的合成器支持
CN106210724B (zh) 图片解码方法及装置
CN104572084A (zh) 卡片业务中用户界面生成及数据下发方法、装置
CN104471526A (zh) 在定制gui显示器中实现先前渲染的帧缓冲区信息
CN111258693B (zh) 远程显示方法及装置
CN102945187B (zh) 基于机顶盒中间件的QtWebKit优化方法
US9324299B2 (en) Atlasing and virtual surfaces
CN102681812A (zh) 一种计算机多屏幕扩展显示方法及装置
CN102682465B (zh) 3d格式转换系统和方法
CN110362375A (zh) 桌面数据的显示方法、装置、设备和存储介质
CN103577046A (zh) 一种3d立体桌面系统及其实现方法
EP3683692A1 (en) Cloud streaming service system, and method and apparatus for providing cloud streaming service
CN105335203A (zh) 共享库的二进制翻译执行方法和装置
CN104113704A (zh) 一种游戏图像处理方法及装置
CN103444189B (zh) 全景图片滚动
CN103544007A (zh) 一种模拟机顶盒功能的装置、终端设备及方法
US20220108646A1 (en) Adaptive display data transfer rate to reduce power consumption during partial frame composition
CN115904563A (zh) 应用程序启动中的数据处理方法、装置和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: LESHI ZHIXIN ELECTRONIC TECHNOLOGY (TIANJIN) CO.,

Free format text: FORMER OWNER: LETV INFORMATION TECHNOLOGY (BEIJING) CO., LTD.

Effective date: 20130520

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100026 HAIDIAN, BEIJING TO: 300467 TANGGU, TIANJIN

TA01 Transfer of patent application right

Effective date of registration: 20130520

Address after: 300467, Tianjin District, Tianjin City, Tanggu animation road 126 No. 201-427 animation building B1 district two

Applicant after: LESHI ZHIXIN ELECTRONIC SCIENCE & TECHNOLOGY (TIANJIN) CO., LTD.

Address before: Room six, building 19, building 68, No. 100026 South Road, Haidian District, Beijing

Applicant before: LeTV Information Technology (Beijing) Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150401

Termination date: 20170929