预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局*CN103336816A*(12)发明专利申请(10)申请公布号(10)申请公布号CNCN103336816103336816A(43)申请公布日2013.10.02(21)申请号201310266070.7(22)申请日2013.06.28(71)申请人广州市动景计算机科技有限公司地址510665广东省广州市天河区科韵路16号自编2栋301房(72)发明人梁捷易旭昕(51)Int.Cl.G06F17/30(2006.01)G06F9/445(2006.01)权权利要求书2页利要求书2页说明书7页说明书7页附图6页附图6页(54)发明名称安卓系统上基于GPU实现的Canvas元素渲染方法及装置(57)摘要本发明提供了一种在安卓系统上基于GPU硬件实现的Html5Canvas元素渲染方法,包括:在检测到针对Html5网页中的Canvas元素的渲染操作指令且完成初始化创建操作后,通过SkiaGPU函数库将针对2DCanvas绘图API的调用指令转换为针对OpenGLESAPI的调用指令;将在所述初始化操作时创建的EGLContext设置为渲染操作所在线程的当前上下文;使用所述GPU在所述初始化操作时创建的离屏本地窗口中渲染所述Canvas元素;以及利用所述GPU的贴图操作功能,将渲染后的Canvas元素从所述离屏本地窗口复制到设备的当前活动窗口上。利用该方法,通过利用安卓操作系统提供的本地窗口渲染机制和OpenGLESAPI,使用GPU来完成Canvas元素的绘制和混合,从而实现利用GPU硬件加速来提高Canvas渲染性能。CN103336816ACN10368ACN103336816A权利要求书1/2页1.一种在安卓系统上基于GPU硬件实现的Html5Canvas元素渲染方法,包括:在检测到针对Html5网页中的Canvas元素的渲染操作指令且完成初始化创建操作后,通过SkiaGPU函数库将针对2DCanvas绘图API的调用指令转换为针对OpenGLESAPI的调用指令;将在所述初始化操作时创建的EGLContext设置为渲染操作所在线程的当前上下文;根据所述Canvas元素的属性信息,使用所述GPU在所述初始化操作时创建的离屏本地窗口中渲染所述Canvas元素;以及利用所述GPU的贴图操作功能,将渲染后的Canvas元素从所述离屏本地窗口复制到设备的当前活动窗口上,所述初始化创建操作包括:基于所述Canvas元素的属性信息,为所述Canvas元素创建离屏本地窗口;以及基于所述离屏本地窗口,创建EGLWindowSurface和EGLContext。2.如权利要求1所述的Canvas元素渲染方法,其中,通过SkiaGPU函数库将针对2DCanvas绘图API的调用指令转换为针对OpenGLESAPI的调用指令包括:将在所述离屏本地窗口中创建的EGLWindowsSurface包装成SkGpuDevice;创建基于SkGpuDevice的SkCanvas;以及利用所述SkCanvas将针对2DCanvas绘图API的调用指令转换为针对OpenGLESAPI的调用指令。3.如权利要求1所述的Canvas元素渲染方法,其中,利用GPU的贴图操作功能,将渲染后的Canvas元素从所述离屏本地窗口复制到设备的当前活动窗口上包括:在完成所述离屏本地窗口中的Canvas元素渲染后,将所述离屏本地窗口与OpenGL贴图绑定;以及通过贴图操作将所述离屏本地窗口复制到设备的当前活动窗口上。4.如权利要求3所述的Canvas元素渲染方法,其中,将所述离屏本地窗口与OpenGL贴图绑定在接收到窗口更新请求后执行,所述窗口更新请求是在客户端的渲染引擎监测到在所述离屏本地窗口中完成一个或多个Canvas元素渲染后发出的。5.如权利要求1所述的Canvas元素渲染方法,其中,所述Canvas元素的属性信息是从渲染引擎中获取的,所述属性信息至少包括元素大小和元素位置。6.如权利要求1所述的Canvas元素渲染方法,其中,在通过SkiaGPU函数库将针对2DCanvas绘图API的调用指令转换为针对OpenGLESAPI的调用指令,所述方法还包括:在检测到针对Html5网页中的Canvas元素的渲染操作指令后,检查针对所述Canvas元素是否完成所述初始化创建操作;以及在未完成所述初始化创建操作时,针对所述Canvas元素执行所述初始化创建操作。7.一种用于在安卓系统上基于GPU硬件实现Html5Canvas元素渲染的Canvas元素渲染装置,包括:初始化单元,用于基于所述Canvas元素的属性信息,为所述Canvas元素创建离屏本地窗口,以及基于所述离屏本地窗口,创建EGLWindowSurface和EGLContext