CN103713891A - 一种在移动设备上进行图形渲染的方法和装置 - Google Patents
一种在移动设备上进行图形渲染的方法和装置 Download PDFInfo
- Publication number
- CN103713891A CN103713891A CN201210379921.4A CN201210379921A CN103713891A CN 103713891 A CN103713891 A CN 103713891A CN 201210379921 A CN201210379921 A CN 201210379921A CN 103713891 A CN103713891 A CN 103713891A
- Authority
- CN
- China
- Prior art keywords
- function
- playing
- opengl
- api interface
- play
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000005457 optimization Methods 0.000 claims description 20
- 238000005538 encapsulation Methods 0.000 claims description 18
- 238000011156 evaluation Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 abstract description 117
- 230000008569 process Effects 0.000 abstract description 29
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000010422 painting Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000282672 Ateles sp. Species 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000931705 Cicada Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 125000000449 nitro group Chemical class [O-][N+](*)=O 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Abstract
本申请提供了一种在移动设备上进行图形渲染的方法和装置,其中的方法具体包括:获取图形应用程序的JavaScript代码;所述JavaScript代码中包括有基于OPENGL的渲染函数对应的API接口,所述API接口的样式遵循HTML5 Canvas标准;在解析引擎中执行所述JavaScript代码;所述执行过程包括:在执行到所述JavaScript代码中的API接口时,使用所述解析引擎将所述API接口解析为相应的基于OPENGL的渲染函数;调用解析得到的渲染函数对渲染目标进行图形渲染。本申请能够提高移动设备上图形渲染的速度。
Description
技术领域
本申请涉及图形渲染技术领域,特别是涉及一种在移动设备上进行图形渲染的方法和装置。
背景技术
目前,移动设备上的应用越来越丰富,这些应用的展现也越来越复杂,,而这些应用在图形展现时均离不开图形渲染,例如手机设备上的网页游戏的图形展现离不开图形渲染。图形渲染是将基于对象的高级描述转换成在某种显示设备上显示的图形图像。例如,在将三维物体或场景的数学模型转换成位图图形的过程中,将发生图形渲染的操作。图形渲染的另一个实例是将HTML(超文本标记语言,Hypertext Markup Language)文件转换成在计算机监视器上显示的图形。
图形渲染在当前具有两大应用:
1、浏览器中的应用;
当今互联网技术中,HTML5技术是一项新兴热门技术,使用HTML5技术中的Canvas标准在浏览器中进行图形渲染也逐渐盛行。然而,在大多数移动设备上,浏览器将HTML5Canvas标准当做浏览器中HTML节点控件来处理,其排版逻辑、事件、重绘等操作都需要用到HTML的节点树,逻辑复杂,CPU需要处理的运算很多;使用上述技术开发的游戏、界面变化较为复杂的程序等图形应用程序,都容易出现渲染速度慢的缺陷。
2、游戏客户端的应用。
现有技术的游戏客户端是用C++或Java代码开发游戏程序,且用GPU进行图形渲染的。但是,游戏客户端程序需要在下载后安装一遍,且更新麻烦。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高移动设备上图形渲染的速度。
发明内容
本申请所要解决的技术问题是提供一种在移动设备上进行图形渲染的方法和装置,能够提高移动设备上图形渲染的速度。
为了解决上述问题,本申请公开了一种在移动设备上进行图形渲染的方法,包括:
获取图形应用程序的JavaScript代码;所述JavaScript代码中包括有基于OPENGL的渲染函数对应的API接口,所述API接口的样式遵循HTML5Canvas标准;
在解析引擎中执行所述JavaScript代码;所述执行过程包括:在执行到所述JavaScript代码中的API接口时,使用所述解析引擎将所述API接口解析为相应的基于OPENGL的渲染函数;
调用解析得到的渲染函数对渲染目标进行图形渲染。
优选的,所述方法还包括:将基于OPENGL的渲染函数封装为API接口的封装步骤;
所述封装步骤为,基于所述解析引擎的扩展性,将基于OPENGL的渲染函数封装为相应的API接口,所述API接口暴露给JavaScript开发者,所述API接口的样式遵循HTML5Canvas标准。
优选的,所述渲染函数为基于OPENGL格式的函数封装得到的接口函数;
则所述调用解析得到的渲染函数对渲染目标进行图形渲染的步骤,进一步包括:
将解析得到的渲染函数进行二次解析,得到相应的OPENGL格式的函数;
调用解析得到的OPENGL格式的函数对渲染目标进行图形渲染。
优选的,所述渲染函数包括初始化渲染函数,所述初始化渲染函数用于初始化底层的渲染环境。
优选的,所述方法还包括:
依据当前移动设备的平台特征,调用所述初始化渲染函数,获取相应的渲染数据,所述渲染数据具体可以包括设备硬件信息;
依据所述设备硬件信息评估当前移动设备的硬件能力;
根据当前移动设备的硬件能力进行渲染流程优化策略的调整;
则所述调用解析得到的渲染函数对渲染目标进行图形渲染的步骤,进一步包括:依据所述调整后的渲染流程优化策略,调用解析得到的渲染函数对渲染目标进行图形渲染。
根据本申请的另一实施例,还公开了一种在移动设备上进行图形渲染的装置,包括:
代码获取模块,用于获取图形应用程序的JavaScript代码;所述JavaScript代码中包括有基于OPENGL的渲染函数对应的API接口,所述API接口的样式遵循HTML5 Canvas标准;
代码执行模块,用于在解析引擎中执行所述JavaScript代码;所述执行过程包括:在执行到所述JavaScript代码中的API接口时,使用所述解析引擎将所述API接口解析为相应的基于OPENGL的渲染函数;及
函数调用模块,用于调用解析得到的渲染函数对渲染目标进行图形渲染。
优选的,所述装置还包括:用于将基于OPENGL的渲染函数封装为API接口的封装模块;
则所述封装模块具体用于,基于所述解析引擎的扩展性,将基于OPENGL的渲染函数封装为相应的API接口,所述API接口暴露给JavaScript开发者,所述API接口的样式遵循HTML5 Canvas标准。
优选的,所述渲染函数为基于OPENGL格式的函数封装得到的接口函数;
则所述函数调用模块进一步包括:
二次解析子模块,用于将解析得到的渲染函数进行二次解析,得到相应的OPENGL格式的函数;
调用子模块,用于调用解析得到的OPENGL格式的函数对渲染目标进行图形渲染。
优选的,所述渲染函数包括初始化渲染函数,所述初始化渲染函数用于初始化底层的渲染环境。
优选的,所述装置还包括:
环境初始化模块,用于依据当前移动设备的平台特征,调用所述初始化渲染函数,获取相应的渲染数据,所述渲染数据包括设备硬件信息;
评估模块,用于依据所述设备硬件信息评估当前移动设备的硬件能力;
渲染流程优化策略调整模块,用于根据当前移动设备的硬件能力进行渲染流程优化策略的调整;
则所述调用模块,具体用于依据所述调整后的渲染流程优化策略,调用解析得到的渲染函数对渲染目标进行图形渲染。
与现有技术相比,本申请具有以下优点:
现有技术的浏览器基本全部支持了HTML5 Canvas标准的API接口,但是由于其将HTML5 Canvas标准当做浏览器中HTML节点控件来处理,其排版逻辑、事件、重绘等操作都需要用到HTML的节点树,逻辑复杂,CPU需要处理的运算很多,导致渲染速度慢。
本申请实施例也实现了HTML5中HTML5 Canvas标准的API接口,但是,本申请基于解析引擎针对所述API接口解析得到相应的基于OPENGL的渲染函数,直接调用渲染函数对渲染目标进行渲染操作,能够避免排版逻辑、事件、重绘等很多不必要的运算,提高渲染速度;
并且,本申请在对渲染目标进行图形渲染的过程中,调用了基于OPENGL的渲染函数,基于OPENGL的渲染函数能够在移动设备上充分利用GPU渲染图形界面,更合理地利用显卡来渲染;故本申请能够在较好的浏览器和操作系统兼容性的前提下,进一步提高移动设备上图形渲染的性能。
另外,HTML5开发本身是开发人员熟悉的,HTML5 CanvasAPI也是网页游戏开发人员熟知的技术;对于开发人员而言,使用熟知的API技术进行图形应用程序的开发,本身没有学习成本;故相对于现有技术中WebGL技术较高的学习成本,本申请能够降低图形应用程序的学习成本,实现图形应用程序的高效开发。
进一步,现有技术的游戏客户端是用C++或Java代码开发游戏等图形应用程序,且用GPU进行图形渲染的。但是,由于C++或Java代码为编译后的机器码,需要安装后执行,故现有技术的游戏程序需要在下载后安装一遍,且更新麻烦;而本申请采用的JavaScript代码为直接下载的代码,可以一边解析一边执行,故JavaScript代码具有C++和java代码没有的优势,那就是无需安装,随时可以更新,并且可以运营,因此,相对于现有技术,本申请开发的图形应用程序无须安装,且更新简单,运营方便。
附图说明
图1是本申请一种在移动设备上进行图形渲染的方法实施例的流程图;
图2是本申请一种在移动设备上的浏览器中进行图形渲染的方法流程示意图;
图3是本申请一种在移动设备上运行游戏程序的方法流程示意图;
图4是本申请一种在移动设备上进行图形渲染的装置实施例的结构图。具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请在JavaScript代码中设计API接口,并在执行到JavaScript代码中的API接口时,调用底层的基于OPENGL的渲染函数对渲染目标进行图形渲染;由于本申请能够在避免现有技术中将HTML5 Canvas标准当做浏览器中HTML节点控件来处理等复杂逻辑运算的情况下,直接对渲染目标进行渲染操作,因而能够避免很多不必要的运算,提高渲染速度。
另外,本申请在对渲染目标进行图形渲染时,调用了基于OPENGL的渲染函数,基于OPENGL的渲染函数能够在移动设备上充分利用GPU渲染图形界面,更合理地利用显卡来渲染;故本申请能够在较好的浏览器和操作系统兼容性的前提下,进一步提高移动设备上图形渲染的性能。
参照表1,示出了本申请实施例中一些技术术语的解释。
表1
参照图1,示出了本申请一种在移动设备上进行图形渲染的方法实施例的流程图,具体可以包括:
步骤101、获取图形应用程序的JavaScript代码;所述JavaScript代码中具体可以包括有基于OPENGL的渲染函数对应的API接口,所述API接口的样式遵循HTML5Canvas标准;
步骤102、在解析引擎中执行所述JavaScript代码;所述执行过程包括:在执行到所述JavaScript代码中的API接口时,使用所述解析引擎将所述API接口解析为相应的基于OPENGL的渲染函数;
步骤103、调用解析得到的渲染函数对渲染目标进行图形渲染。
OPENGL ES 2.0等基于OPENGL的渲染函数在移动设备上可以充分利用GPU渲染图形界面,解析引擎灵活的扩展函数接口能够使JavaScript代码具有了更强的灵活性和对底层C++的OPENGL库的调用能力,本申请实施例基于上述JavaScript和OPENGL的优势,实现一套遵循HTML5Canvas的API的在移动设备上进行图形渲染的方案,既能够提高移动设备上图形渲染的速度,又能够有效提高移动设备上图形渲染的性能。
本申请实施例中,解析引擎可用于为JavaScript代码提供可扩展的运行环境,具体而言,解析引擎可用于解析JavaScript代码并执行,并且,解析引擎具有扩展性,其可以提供各种灵活的扩展函数接口。
在实际应用中,本申请的解析引擎具体可以包括:Apple Safari 4的Nitro,Google Chrome的V8和Mozilla Firefox 3.5的TraceMonkey,Mozilla的SpiderMonkey等等,本申请对具体的解析引擎不加以限制。
本申请的JavaScript代码为面向JavaScript开发人员,开发的HTML5技术中的Canvas程序,其可以应用于各种场景。
例如,本申请对应的装置可以内嵌于浏览器中,或者,所述系统可以外插于浏览器之上,此时,所述JavaScript代码为浏览器的JavaScript代码。
又如,本申请可以用于图形应用程序中图形渲染部分的开发,所述图形应用程序具体可以包括浏览器、游戏程序或聊天程序等需要用到图形表达的程序。在移动设备上的图形界面、游戏表达技术中,OPENGL ES 2.0可以很出色的完成高效的渲染工作,因为其对GPU设备的合理利用,可以给游戏程序带来很好的性能体验。然而开发者直接调用OPENGLes2.0的接口开发是有一定的开发难度的,有一定的开发门槛,开发周期也会较长。应用本申请实施例,JavaScript开发人员直接调用HTML5的API,就可以实现OPENGL强大图形能力。开发者只需要掌握JavaScript语言和HTML5Canvas的2D/3D的开发方法,就可以轻松的开发出各种图形渲染性能能够与OPENGL的图形渲染性能相媲美的图形应用程序。
再如,本申请可以用于图形应用程序中图形渲染部分的运行。在图形应用程序的运行过程中,可以高速、高性能地进行图形渲染。并且,本申请采用的JavaScript代码为直接下载的代码,可以一边解析一边执行,故JavaScript代码具有现有技术中图形应用程序所使用C++和java代码没有的优势,那就是无需安装,随时可以更新,并且可以运营,因此,相对于现有技术,本申请开发的图形应用程序无须安装,且更新简单,运营方便。
在本申请的一种优选实施例中,所述方法还可以包括:将基于OPENGL的渲染函数封装为API接口的封装步骤;
所述封装步骤具体可以为,基于所述解析引擎的扩展性,将基于OPENGL的渲染函数封装为相应的API接口,所述API接口暴露给JavaScript开发者,所述API接口的样式遵循HTML5Canvas标准。
在具体实现中,可以在封装API接口时预留解析引擎的接口,这样,在执行到JavaScript代码中的API接口时,基于这个预留的解析引擎的接口对所述API接口进行解析即可;其中,作为封装结果的API接口又是与基于OPENGL的渲染函数具有映射关系的,这里的映射关系可以是一对一、一对多、多对一、多对多的映射关系等,本申请主要针对基于OPENGL的渲染函数,基于解析引擎的扩展性封装相应的API接口,暴露给JavaScript开发者,而不会对具体的扩展方法及相应的映射关系加以限制。
在此举一个封装API接口ctx.drawImage的代码示例:
class_proto->Set(v8::String::New("drawImage″),FunctionTemplate::New(V8GraphicsContext::DrawImage))
其中,要将class_proto对象封装成为一个名称为drawImage的API接口,该API接口对应的也即最终要实现的渲染函数是C++的V8GraphicsContext::DrawImage函数,class_proto就是ctx对象对应的底层对象模板,于是ctx.drawImage()接口就被扩展并暴露到JavaScript代码中;在执行到JavaScript代码中的API接口时,就能通过解析找到最终要实现的这个V8GraphicsContext::DrawImage函数,而这个函数就是基于OPENGL的渲染函数,其能够在移动设备上充分利用GPU渲染图形界面,更合理地利用显卡来渲染。
类似ctx.drawImage,ctx.fillRect,ctx.fillText,ctx.strokeText等很多API接口都可被扩展并暴露到JavaScript代码中,具体参照下述代码示例;
class_proto->Set(v8::String::New(″fillRect″),FunctionTemplate::New(V8GraphicsContext::FillRect));
class_proto->Set(v8::String::New(″fillText″),FunctionTemplate::New(V8GraphicsContext::FillText));
class_proto->Set(v8::String::New("strokeText″),FunctionTemplate::New(V8GraphicsContext::StrokeText))。
在实际应用中,可集成一套基于OPENGL ES 2.0的图形引擎以实现所述基于OPENGL的渲染函数,其可采用C++实现,在移动设备上依赖OPENGL ES 2.0类库等OPENGL图形标准库。这样,本申请的图形引擎存储有大量的C++的渲染函数供解析引擎调用。由于OPENGL ES 2.0为本技术领域的公知技术,本申请对图形引擎的具体集成方式不加以限制。
在实际应用中,应在确保图形引擎被成功启动的前提下进行图形渲染。只要成功的运行起OPENGL图形标准库,就能够保证图形引擎的成功启动。
另外,OPENGL图形标准库能够在android、Symbian、Linux、Windows等各种操作系统环境下运行,故图形引擎也能在各种操作系统环境下成功启动,因此,本申请实施例可以适用于各种操作系统环境,如android(安卓)、Symbian(塞班)、Linux、Windows等。
总之,本申请实施例主要结合JavaScript和OPENGL两者的优势,使用解析引擎将基于OPENGL的渲染函数封装为遵循HTML5Canvas 2D/3D标准的API接口,既能够提高移动设备上图形渲染的速度,又能够有效提高移动设备上图形渲染的性能。
在本申请的一种优选实施例中,所述渲染函数可以为基于OPENGL格式的函数封装得到的接口函数;
则所述调用解析得到的渲染函数对渲染目标进行图形渲染的步骤,可以进一步包括:
将解析得到的渲染函数进行二次解析,得到相应的OPENGL格式的函数;
调用解析得到的OPENGL格式的函数对渲染目标进行图形渲染。
在具体实现中,可以对OPENGL格式的函数进行封装,得到类似HTML5Canvas标准格式的接口函数,以提高API接口和解析引擎在实现上的便利性。例如,前述C++的V8GraphicsContext::DrawImage函数就是封装后的接口函数,实际上,封装前的OPENGL格式的函数为glDrawElements。
在本申请的另一种优选实施例中,所述渲染函数具体可以包括初始化渲染函数,所述初始化渲染函数可用于初始化底层的渲染环境。
本申请实施例中,底层的渲染环境具体可以包括:画笔、画布等等。其中,画笔是绘制命令的发起者;画布相当于内存的一个映射者。
在实际应用中,在首次执行到JavaS代码中的API接口时,会获得渲染目标,此时,解析相应的扩展接口,可以获得画布、画笔等绘制工具,以初始化底层的渲染环境。这里,渲染目标是系统提供的OPENGL surface,也即显卡里面的缓冲区,如在android操作系统中,渲染目标可以是一个android surfaceview(游戏开发框架),或者是一个浏览器中的画布对应的底层结构等等;
例如,在本申请的一种应用示例中,可以采用如下Javascript代码获得画布和画笔。
var canvas=cloudapp.createCanvas(480,800)/*获得一个480*800的画布canvas*/
var context=canvas.getContext()/*获得画笔*/
在本申请的再一种优选实施例中,所述方法还可以包括:
依据当前移动设备的平台特征,调用所述初始化渲染函数,获取相应的渲染数据,所述渲染数据具体可以包括设备硬件信息;
依据所述设备硬件信息评估当前移动设备的硬件能力;
根据当前移动设备的硬件能力进行渲染流程优化策略的调整;
则所述调用解析得到的渲染函数对渲染目标进行图形渲染的步骤,进一步包括:依据所述调整后的渲染流程优化策略,调用解析得到的渲染函数对渲染目标进行图形渲染。
本优选实施例能够根据当前移动设备的硬件能力进行渲染流程优化策略的调整,并依据调整后的渲染流程优化策略对渲染流程进行优化,从而能够有效提高图形渲染的性能。
在实际应用中,渲染流程优化策略会涉及到各种各样的策略参数。以顶点数(渲染到屏幕上的像素点数)参数为例,假设首次对一次渲染顶点数进行了配置:默认是一次最多2000个顶点,在渲染过程中,根据不同的硬件能力,这个顶点数参数是可以改变的。例如,比较优质的显卡一起处理2000个顶点是最快的,而比较劣质的显卡一起处理600个顶点是最快的,上述2000、600为符合硬件能力的策略参数。
于是,大致的渲染流程如下:在接收到V8GraphicsContext::DrawImage这样的调用指令时,不是马上针对渲染目标进行渲染,而是向网顶点队列、索引队列等灵活的数据队列中push(堆放)数据,当数据队列的长度达到策略参数(如2000)时,才开始提交渲染。
当然,除了策略参数外,渲染流程优化策略还可能包括其它策略,如显卡的颜色格式,是否抗锯齿能力,是否可以打开z缓冲区,是否支持模板缓冲区等等,本领域技术人员可以根据实际需求,采用各种各样的渲染流程优化策略,本申请对此不加以限制。
可以理解,本领域技术人员还可以根据所述设备硬件信息,选择一套最适合当前硬件环境的配置参数,如屏幕适配参数,像素格式参数(ARGB_8888等),还有和显卡有关的一些参数等等。
为使本领域技术人员更好地理解本申请,以下描述本申请在实际中的应用示例。
应用示例1、
参照图2,示出了本申请一种在移动设备上的浏览器中进行图形渲染的方法流程示意图,具体可以包括:
步骤201、浏览器加载一个URL(统一资源定位符,Uniform ResourceLocator)或UUID(通用唯一识别码,Universally Unique Identifier);
从而可以获取HTML+JavaScript代码,其中JavaScript代码包含了本申请封装的API接口;
浏览器内核有给予HTTP(超文本传送协议,hypertext transport protocol)协议的请求模块,通过这个请求模块来请求代码。具体过程是当你使用一个URL来访问网站时,浏览器可以通过URL拿到index.html主页入口页面,然后执行这个页面,同时加载需要的资源和JavaScript代码。对于本申请只需要直接执行浏览器拿到的JavaScript代码即可。
步骤202、浏览器执行JavaScript代码中的var img=new cloudapp.Image()来初始化一张内存图片,执行img.src="http://somewhere/url.png"来异步加载一张图片,执行图片加载完成的回调函数img.onload=function(){};
步骤203、在首次执行到本申请封装的API接口时,渲染目标会以Canvas窗口、内嵌Surface或者其他形式出现,本申请封装的API接口都被渲染到这个渲染目标上;
步骤204、在首次执行到JavaScript代码中的API接口时,利用解析引擎将所述API接口解析为相应的基于OPENGL的初始化渲染函数,并调用解析得到的初始化渲染函数初始化底层的渲染环境;所述底层的渲染环境具体可以包括:画笔、画布等等;
步骤205、在后续执行到JavaScript代码中的API接口时,利用解析引擎将所述API接口解析为相应的基于OPENGL的其它渲染函数,并调用所述其它渲染函数对渲染目标进行图形渲染。
在此给出JavaScript代码中的API接口的示例:
现有技术的浏览器(比如webkit内核的浏览器)基本全部支持了HTML5Canvas标准的API接口,但是由于其将HTML5 Canvas标准当做浏览器中HTML节点控件来处理,其排版逻辑、事件、重绘等操作都需要用到HTML的节点树,逻辑复杂,CPU需要处理的运算很多,导致渲染速度慢。
本申请实施例也实现了HTML5中HTML5 Canvas标准的API接口,本申请直接对渲染目标进行渲染操作,能够避免排版逻辑、事件、重绘等很多不必要的运算,提高渲染速度;并且,本申请基于解析引擎针对所述API接口解析得到相应的基于OPENGL的渲染函数,基于OPENGL的渲染函数为可以利用显卡渲染的一个开放图形库,其可以更合理的利用显卡来渲染,可以达到更好的渲染性能。
应用示例2、
参照图3,示出了本申请一种在移动设备上运行游戏程序的方法流程示意图,具体可以包括:
步骤301、玩家从移动设备上打开游戏市场;
相当于移动设备启动了一个独立的程序。
步骤302、玩家翻阅游戏市场,发现有一个感兴趣的游戏,就点击相应的图标;
步骤303、游戏市场针对玩家点击的图标,查找对应的游戏ID;
步骤304、游戏市场通过HTTP或者其他请求,到游戏厂家所在的服务器上查找所述游戏ID的入口代码或入口文件main.js;
main.js是游戏厂家或与游戏厂家合作的游戏自由开发人员所开发的游戏开发中的入口代码部分;main.js中包括有createCanvas,getContext等初始化渲染函数的API接口,可用于初始化底层的渲染环境,main.js里面还有import调用,import调用可用于去加载其他的JS文件来自动执行,这时一个游戏就开始了,玩家可以操作游戏中的内容,其实就是玩游戏,玩的过程中的逻辑,完全是游戏本身的JS代码控制的,但是渲染底层还是本申请支撑的。
步骤305、运行main.js代码;所述运行过程可以包括:在首次执行到main.js代码中初始化渲染函数的API接口时,渲染目标会以Canvas窗口、内嵌Surface或者其他形式出现,并且利用解析引擎将所述API接口解析为相应的基于OPENGL的初始化渲染函数,并调用解析得到的初始化渲染函数初始化底层的渲染环境;
步骤306、运行main.js代码;所述运行过程还可以包括:依据import调用加载所述游戏ID对应的其他JS文件;
本申请实施例中,其他JS文件可以作为入口文件main.js代码的依赖文件,在具体实现中,可以通过require机制来获取其他JS文件,例如可以通过require(xxx.js)或者import(xxx.js)等方法,来达到加载其他JS文件的目的。
步骤307、运行所述其他JS文件;所述运行过程可以包括:在执行到所述其他JS文件中的API接口时,利用解析引擎将所述API接口解析为相应的基于OPENGL的其它渲染函数,并调用所述其它渲染函数对渲染目标进行图形渲染。
现有技术的游戏客户端是用C++或Java代码开发游戏等图形应用程序,且用GPU进行图形渲染的。但是,由于C++或Java代码为编译后的机器码,需要安装后执行,故现有技术的图形应用程序需要在下载后安装一遍,且更新麻烦。
而本申请采用的JavaScript代码为直接下载的代码,可以一边解析一边执行,故JavaScript代码具有C++和java代码没有的优势,那就是无需安装,随时可以更新,并且可以运营,因此,相对于现有技术,本申请开发的图形应用程序无须安装,且更新简单,运营方便。
与前述系统实施例相应,本申请还提供了一种在移动设备上进行图形渲染的装置,参照图4所示的结构图,具体可以包括:
代码获取模块401,用于获取图形应用程序的JavaScript代码;所述JavaScript代码中包括有基于OPENGL的渲染函数对应的API接口,所述API接口的样式遵循HTML5Canvas标准;
代码执行模块402,用于在解析引擎中执行所述JavaScript代码;所述执行过程包括:在执行到所述JavaScript代码中的API接口时,使用所述解析引擎将所述API接口解析为相应的基于OPENGL的渲染函数;及
函数调用模块403,用于调用解析得到的渲染函数对渲染目标进行图形渲染。
在本申请实施例中,优选的是,所述装置还可以包括:用于将基于OPENGL的渲染函数封装为API接口的封装模块;
所述封装模块刻具体用于,基于所述解析引擎的扩展性,将基于OPENGL的渲染函数封装为相应的API接口,所述API接口暴露给JavaScript开发者,所述API接口的样式遵循HTML5 Canvas标准。
在本申请的一种优选实施例中,所述渲染函数可以为基于OPENGL格式的函数封装得到的接口函数;
则所述函数调用模块403可以进一步包括:
二次解析子模块,用于将解析得到的渲染函数进行二次解析,得到相应的OPENGL格式的函数;
调用子模块,用于调用解析得到的OPENGL格式的函数对渲染目标进行图形渲染。
在本申请的另一种优选实施例中,所述渲染函数具体可以包括初始化渲染函数,所述初始化渲染函数刻用于初始化底层的渲染环境。
在本申请的再一种优选实施例中,所述装置还可以包括:
环境初始化模块,用于依据当前移动设备的平台特征,调用所述初始化渲染函数,获取相应的渲染数据,所述渲染数据包括设备硬件信息;
评估模块,用于依据所述设备硬件信息评估当前移动设备的硬件能力;
渲染流程优化策略调整模块,用于根据当前移动设备的硬件能力进行渲染流程优化策略的调整;
则所述调用模块,具体用于依据所述调整后的渲染流程优化策略,调用解析得到的渲染函数对渲染目标进行图形渲染。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种在移动设备上进行图形渲染的方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种在移动设备上进行图形渲染的方法,其特征在于,包括:
获取图形应用程序的JavaScript代码;所述JavaScript代码中包括有基于OPENGL的渲染函数对应的API接口,所述API接口的样式遵循HTML5Canvas标准;
在解析引擎中执行所述JavaScript代码;所述执行过程包括:在执行到所述JavaScript代码中的API接口时,使用所述解析引擎将所述API接口解析为相应的基于OPENGL的渲染函数;
调用解析得到的渲染函数对渲染目标进行图形渲染。
2.如权利要求1所述的方法,其特征在于,还包括:将基于OPENGL的渲染函数封装为API接口的封装步骤;
所述封装步骤为,基于所述解析引擎的扩展性,将基于OPENGL的渲染函数封装为相应的API接口,所述API接口暴露给JavaScript开发者,所述API接口的样式遵循HTML5 Canvas标准。
3.如权利要求1所述的方法,其特征在于,所述渲染函数为基于OPENGL格式的函数封装得到的接口函数;
则所述调用解析得到的渲染函数对渲染目标进行图形渲染的步骤,进一步包括:
将解析得到的渲染函数进行二次解析,得到相应的OPENGL格式的函数;
调用解析得到的OPENGL格式的函数对渲染目标进行图形渲染。
4.如权利要求1所述的方法,其特征在于,所述渲染函数包括初始化渲染函数,所述初始化渲染函数用于初始化底层的渲染环境。
5.如权利要求4所述的方法,其特征在于,还包括:
依据当前移动设备的平台特征,调用所述初始化渲染函数,获取相应的渲染数据,所述渲染数据具体可以包括设备硬件信息;
依据所述设备硬件信息评估当前移动设备的硬件能力;
根据当前移动设备的硬件能力进行渲染流程优化策略的调整;
则所述调用解析得到的渲染函数对渲染目标进行图形渲染的步骤,进一步包括:依据所述调整后的渲染流程优化策略,调用解析得到的渲染函数对渲染目标进行图形渲染。
6.一种在移动设备上进行图形渲染的装置,其特征在于,包括:
代码获取模块,用于获取图形应用程序的JavaScript代码;所述JavaScript代码中包括有基于OPENGL的渲染函数对应的API接口,所述API接口的样式遵循HTML5 Canvas标准;
代码执行模块,用于在解析引擎中执行所述JavaScript代码;所述执行过程包括:在执行到所述JavaScript代码中的API接口时,使用所述解析引擎将所述API接口解析为相应的基于OPENGL的渲染函数;及
函数调用模块,用于调用解析得到的渲染函数对渲染目标进行图形渲染。
7.如权利要求6所述的装置,其特征在于,还包括:用于将基于OPENGL的渲染函数封装为API接口的封装模块;
所述封装模块具体用于,基于所述解析引擎的扩展性,将基于OPENGL的渲染函数封装为相应的API接口,所述API接口暴露给JavaScript开发者,所述API接口的样式遵循HTML5Canvas标准。
8.如权利要求6所述的装置,其特征在于,所述渲染函数为基于OPENGL格式的函数封装得到的接口函数;
则所述函数调用模块进一步包括:
二次解析子模块,用于将解析得到的渲染函数进行二次解析,得到相应的OPENGL格式的函数;
调用子模块,用于调用解析得到的OPENGL格式的函数对渲染目标进行图形渲染。
9.如权利要求6所述的装置,其特征在于,所述渲染函数包括初始化渲染函数,所述初始化渲染函数用于初始化底层的渲染环境。
10.如权利要求9所述的装置,其特征在于,还包括:
环境初始化模块,用于依据当前移动设备的平台特征,调用所述初始化渲染函数,获取相应的渲染数据,所述渲染数据包括设备硬件信息;
评估模块,用于依据所述设备硬件信息评估当前移动设备的硬件能力;
渲染流程优化策略调整模块,用于根据当前移动设备的硬件能力进行渲染流程优化策略的调整;
则所述调用模块,具体用于依据所述调整后的渲染流程优化策略,调用解析得到的渲染函数对渲染目标进行图形渲染。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210379921.4A CN103713891B (zh) | 2012-10-09 | 2012-10-09 | 一种在移动设备上进行图形渲染的方法和装置 |
TW102108645A TWI595442B (zh) | 2012-10-09 | 2013-03-12 | Method and apparatus for rendering graphics on a mobile device |
US14/049,038 US9646357B2 (en) | 2012-10-09 | 2013-10-08 | Graphic rendering |
KR1020157008416A KR102115057B1 (ko) | 2012-10-09 | 2013-10-08 | 그래픽 렌더링 |
PCT/US2013/063916 WO2014058902A1 (en) | 2012-10-09 | 2013-10-08 | Graphic rendering |
IN2756DEN2015 IN2015DN02756A (zh) | 2012-10-09 | 2013-10-08 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210379921.4A CN103713891B (zh) | 2012-10-09 | 2012-10-09 | 一种在移动设备上进行图形渲染的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103713891A true CN103713891A (zh) | 2014-04-09 |
CN103713891B CN103713891B (zh) | 2017-11-24 |
Family
ID=49510515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210379921.4A Expired - Fee Related CN103713891B (zh) | 2012-10-09 | 2012-10-09 | 一种在移动设备上进行图形渲染的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9646357B2 (zh) |
KR (1) | KR102115057B1 (zh) |
CN (1) | CN103713891B (zh) |
IN (1) | IN2015DN02756A (zh) |
TW (1) | TWI595442B (zh) |
WO (1) | WO2014058902A1 (zh) |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573110A (zh) * | 2015-02-02 | 2015-04-29 | 北京恒华伟业科技股份有限公司 | 一种浏览器中图形的动态展示方法及装置 |
CN104866340A (zh) * | 2015-04-29 | 2015-08-26 | 小米科技有限责任公司 | 终端设备软件更新方法及装置 |
CN105245795A (zh) * | 2014-06-24 | 2016-01-13 | 艾杜菲尔传媒有限公司 | 多媒体数据复合法及安卓系统中播放动图的视频播放器 |
CN105373427A (zh) * | 2015-11-11 | 2016-03-02 | 北京麒麟合盛网络技术有限公司 | 一种显示应用和功能开关的方法及装置 |
CN105930535A (zh) * | 2016-06-20 | 2016-09-07 | 微景天下(北京)科技有限公司 | 自适应图像呈现系统和自适应图像呈现方法 |
CN106327563A (zh) * | 2016-08-24 | 2017-01-11 | 武汉斗鱼网络科技有限公司 | 一种Directx纹理资源互操作系统及方法 |
CN106547845A (zh) * | 2016-10-17 | 2017-03-29 | 搜游网络科技(北京)有限公司 | 用于模拟canvas接口的方法及其设备 |
CN106569816A (zh) * | 2016-10-26 | 2017-04-19 | 搜游网络科技(北京)有限公司 | 一种渲染方法及装置 |
CN106605211A (zh) * | 2014-09-12 | 2017-04-26 | 微软技术许可有限责任公司 | 着色器的渲染时间链接 |
CN106886404A (zh) * | 2017-01-17 | 2017-06-23 | 武汉卓尔云市集团有限公司 | 一种android的3D渲染装置 |
CN106990961A (zh) * | 2017-03-28 | 2017-07-28 | 易网数通(北京)科技有限公司 | 一种WebGL图形渲染引擎的建立方法 |
CN107066430A (zh) * | 2017-04-21 | 2017-08-18 | 广州爱九游信息技术有限公司 | 图片处理方法、装置、服务端及客户端 |
CN107368291A (zh) * | 2016-05-13 | 2017-11-21 | 北京搜狗科技发展有限公司 | 一种网页绘制装置、方法及电子设备 |
CN107562861A (zh) * | 2017-08-29 | 2018-01-09 | 武汉智丽丰信息科技有限公司 | 一种基于WebGL的WebGIS三维模型系统 |
WO2018050003A1 (zh) * | 2016-09-14 | 2018-03-22 | 阿里巴巴集团控股有限公司 | 3D canvas网页元素的渲染方法、装置及电子设备 |
CN108021356A (zh) * | 2017-11-06 | 2018-05-11 | 江苏省测绘研究所 | 一种跨屏跨平台的可量测实景地图组织方法 |
WO2018153061A1 (zh) * | 2017-02-24 | 2018-08-30 | 百富计算机技术(深圳)有限公司 | 基于pos支付终端的网络应用运行方法、终端及非易失性可读存储介质 |
WO2018161812A1 (zh) * | 2017-03-08 | 2018-09-13 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
CN109271155A (zh) * | 2018-09-11 | 2019-01-25 | Oppo广东移动通信有限公司 | 游戏平台的能力调用方法及相关产品 |
CN109271156A (zh) * | 2018-09-25 | 2019-01-25 | Oppo广东移动通信有限公司 | 游戏平台的底层调用方法及相关产品 |
CN109395384A (zh) * | 2018-09-12 | 2019-03-01 | Oppo广东移动通信有限公司 | 游戏渲染方法及相关产品 |
CN109542567A (zh) * | 2018-11-20 | 2019-03-29 | 四川长虹电器股份有限公司 | 基于Linux平台的浏览器的渲染方法及浏览器 |
CN109885302A (zh) * | 2019-01-29 | 2019-06-14 | 维沃移动通信有限公司 | 一种快应用的展示方法及终端设备 |
CN109964204A (zh) * | 2017-10-19 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 用于处理图形的方法和系统 |
CN110262798A (zh) * | 2018-03-12 | 2019-09-20 | 搜游网络科技(北京)有限公司 | 基于WebGL的图形绘制方法、装置、运行器及可读存储介质 |
CN110413914A (zh) * | 2019-07-25 | 2019-11-05 | 中南民族大学 | 基于WebGL的渲染方法、装置、设备及存储介质 |
CN110727481A (zh) * | 2019-09-06 | 2020-01-24 | 平安国际智慧城市科技股份有限公司 | 图片编辑方法、装置、计算机设备和存储介质 |
CN110764757A (zh) * | 2019-10-22 | 2020-02-07 | 成都九洲电子信息系统股份有限公司 | 一种基于html5的交互式图形绘制引擎 |
CN111210496A (zh) * | 2018-11-19 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 一种图片解码方法、装置以及设备 |
CN111381920A (zh) * | 2020-02-17 | 2020-07-07 | 网易(杭州)网络有限公司 | 弹窗组件的显示方法、装置以及电子终端 |
CN111400024A (zh) * | 2019-01-03 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 渲染过程中的资源调用方法、装置和渲染引擎 |
CN111408138A (zh) * | 2019-01-04 | 2020-07-14 | 厦门雅基软件有限公司 | 基于游戏引擎的渲染方法、装置及电子设备 |
CN111562962A (zh) * | 2020-04-29 | 2020-08-21 | 百度在线网络技术(北京)有限公司 | 画面渲染方法、装置、电子设备和存储介质 |
CN111580809A (zh) * | 2020-05-07 | 2020-08-25 | 讯飞幻境(北京)科技有限公司 | 一种可视化webgl框架构建方法、装置及计算机设备 |
CN112288840A (zh) * | 2020-10-26 | 2021-01-29 | 北京优锘科技有限公司 | 一种三维渲染引擎结合JavaScript脚本引擎实现运行的方法 |
CN112930556A (zh) * | 2018-09-10 | 2021-06-08 | 阿韦瓦软件有限责任公司 | 集成用于可视化大数据集的第三方几何结构的系统和方法 |
CN113313804A (zh) * | 2021-06-23 | 2021-08-27 | 深圳Tcl新技术有限公司 | 一种图像渲染方法、装置、电子设备和存储介质 |
CN113360200A (zh) * | 2020-03-05 | 2021-09-07 | 北京沃东天骏信息技术有限公司 | 一种目标程序植入页面运行的方法和装置 |
CN113515396A (zh) * | 2021-07-09 | 2021-10-19 | 北京鲸鲮信息系统技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
CN113694523A (zh) * | 2021-08-30 | 2021-11-26 | 上海哔哩哔哩科技有限公司 | 基于移动端app的h5游戏显示方法、装置及计算机设备 |
WO2023010851A1 (zh) * | 2021-08-05 | 2023-02-09 | 稿定(厦门)科技有限公司 | 基于WebGL的图形渲染方法、装置及系统 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9360339B2 (en) | 2013-01-14 | 2016-06-07 | Sap Se | Rendering maps with canvas elements |
US9460125B2 (en) | 2013-09-30 | 2016-10-04 | Duelight Llc | Systems, methods, and computer program products for digital photography |
US9448771B2 (en) | 2014-10-17 | 2016-09-20 | Duelight Llc | System, computer program product, and method for generating a lightweight source code for implementing an image processing pipeline |
US9460118B2 (en) | 2014-09-30 | 2016-10-04 | Duelight Llc | System, method, and computer program product for exchanging images |
US9508133B2 (en) | 2014-11-18 | 2016-11-29 | Duelight Llc | System and method for generating an image result based on availability of a network resource |
US9804900B2 (en) * | 2014-05-30 | 2017-10-31 | Apple Inc. | Manipulating shaders with object-oriented programming |
US10013735B2 (en) * | 2015-01-28 | 2018-07-03 | Qualcomm Incorporated | Graphics processing unit with bayer mapping |
CN106168869B (zh) * | 2016-06-24 | 2019-06-21 | 北京奇虎科技有限公司 | 基于悬浮窗的桌面视图处理方法、装置及终端 |
US10416836B2 (en) * | 2016-07-11 | 2019-09-17 | The Boeing Company | Viewpoint navigation control for three-dimensional visualization using two-dimensional layouts |
US11062497B2 (en) | 2017-07-17 | 2021-07-13 | At&T Intellectual Property I, L.P. | Structuralized creation and transmission of personalized audiovisual data |
CN109316751B (zh) * | 2018-09-20 | 2021-08-10 | Oppo广东移动通信有限公司 | 游戏适配方法、相关设备以及计算机可读存储介质 |
CN111402349B (zh) * | 2019-01-03 | 2023-09-08 | 百度在线网络技术(北京)有限公司 | 渲染方法、渲染装置和渲染引擎 |
CN109918598B (zh) * | 2019-03-07 | 2022-10-18 | 四川长虹电器股份有限公司 | 一种基于Android电视浏览器的web页面渲染方法 |
CN111275782B (zh) * | 2020-01-17 | 2023-09-08 | 广州图匠数据科技有限公司 | 一种图形绘制方法、装置、终端设备及存储介质 |
CN114090918A (zh) * | 2021-10-25 | 2022-02-25 | 青岛海尔科技有限公司 | 参数调整方法、装置、存储介质及电子装置 |
CN114821001B (zh) * | 2022-04-12 | 2024-04-19 | 支付宝(杭州)信息技术有限公司 | 基于ar的互动方法、装置及电子设备 |
CN114546578A (zh) * | 2022-04-26 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 一种地图可视化方法、装置、系统及计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014562A1 (en) * | 2001-03-01 | 2003-01-16 | Noyle Jeff M.J. | Method and system for maintaining connections between surfaces and objects in a graphics display system |
CN102087598A (zh) * | 2011-02-22 | 2011-06-08 | 深圳市同洲电子股份有限公司 | 一种3d界面展示方法、装置及浏览装置 |
CN102316161A (zh) * | 2011-08-31 | 2012-01-11 | 北京华电万通科技有限公司 | 一种应用于Web3D的数据传输装置和方法 |
CN102323882A (zh) * | 2011-08-31 | 2012-01-18 | 北京华电万通科技有限公司 | 一种应用于Web3D的数据处理装置和方法 |
CN102323880A (zh) * | 2011-06-30 | 2012-01-18 | 中兴通讯股份有限公司 | 基于浏览器解析方式的手机应用界面的开发方法和终端 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289299B1 (en) | 1999-02-17 | 2001-09-11 | Westinghouse Savannah River Company | Systems and methods for interactive virtual reality process control and simulation |
US8239749B2 (en) | 2004-06-25 | 2012-08-07 | Apple Inc. | Procedurally expressing graphic objects for web pages |
JP2006195979A (ja) * | 2005-01-04 | 2006-07-27 | Microsoft Corp | ウェブアプリケーションアーキテクチャ |
KR20060108069A (ko) * | 2005-04-12 | 2006-10-17 | 한국문화콘텐츠진흥원 | 임베디드 시스템의 씨 기반 그래픽 렌더러가 이용된 자바플랫폼용 모바일 3차원 그래픽 엔진 및 그를 이용한 3차원그래픽 구현방법 |
US20070171222A1 (en) * | 2006-01-23 | 2007-07-26 | Autodesk, Inc. | Application-independent method for capturing three-dimensional model data and structure for viewing and manipulation |
US20080201695A1 (en) * | 2007-02-16 | 2008-08-21 | Qing Zhou | Computer graphics rendering |
JP5450624B2 (ja) * | 2008-07-25 | 2014-03-26 | クゥアルコム・インコーポレイテッド | グラフィックス・イメージのビジュアル作成におけるパフォーマンス解析 |
US8675000B2 (en) | 2008-11-07 | 2014-03-18 | Google, Inc. | Command buffers for web-based graphics rendering |
US9013487B2 (en) | 2009-12-30 | 2015-04-21 | Telecom Italia S.P.A. | Method for the calculation of the bounding box of vectorial graphic shapes |
US8561038B1 (en) * | 2009-12-31 | 2013-10-15 | Google Inc. | High performance execution environment |
US8799357B2 (en) * | 2010-11-08 | 2014-08-05 | Sony Corporation | Methods and systems for use in providing a remote user interface |
US20120166953A1 (en) * | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Techniques for electronic aggregation of information |
US20120169754A1 (en) | 2010-12-30 | 2012-07-05 | Nokia Corporation | Method and apparatus for providing synthesizable graphics for user terminals |
US8872861B2 (en) * | 2011-05-13 | 2014-10-28 | Samsung Display Co., Ltd. | Apparatus for selecting backlight color values |
US8760451B2 (en) | 2011-06-30 | 2014-06-24 | Google Inc. | Rendering a text image using texture map character center encoding with character reference encoding |
US8400453B2 (en) | 2011-06-30 | 2013-03-19 | Google Inc. | Rendering a text image following a line |
US9202309B2 (en) * | 2011-09-01 | 2015-12-01 | Adobe Systems Incorporated | Methods and apparatus for digital stereo drawing |
WO2013074568A1 (en) * | 2011-11-15 | 2013-05-23 | Trimble Navigation Limited | Browser-based collaborative development of a 3d model |
US9123084B2 (en) | 2012-04-12 | 2015-09-01 | Activevideo Networks, Inc. | Graphical application integration with MPEG objects |
-
2012
- 2012-10-09 CN CN201210379921.4A patent/CN103713891B/zh not_active Expired - Fee Related
-
2013
- 2013-03-12 TW TW102108645A patent/TWI595442B/zh not_active IP Right Cessation
- 2013-10-08 IN IN2756DEN2015 patent/IN2015DN02756A/en unknown
- 2013-10-08 KR KR1020157008416A patent/KR102115057B1/ko active IP Right Grant
- 2013-10-08 WO PCT/US2013/063916 patent/WO2014058902A1/en active Application Filing
- 2013-10-08 US US14/049,038 patent/US9646357B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014562A1 (en) * | 2001-03-01 | 2003-01-16 | Noyle Jeff M.J. | Method and system for maintaining connections between surfaces and objects in a graphics display system |
CN102087598A (zh) * | 2011-02-22 | 2011-06-08 | 深圳市同洲电子股份有限公司 | 一种3d界面展示方法、装置及浏览装置 |
CN102323880A (zh) * | 2011-06-30 | 2012-01-18 | 中兴通讯股份有限公司 | 基于浏览器解析方式的手机应用界面的开发方法和终端 |
CN102316161A (zh) * | 2011-08-31 | 2012-01-11 | 北京华电万通科技有限公司 | 一种应用于Web3D的数据传输装置和方法 |
CN102323882A (zh) * | 2011-08-31 | 2012-01-18 | 北京华电万通科技有限公司 | 一种应用于Web3D的数据处理装置和方法 |
Cited By (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245795A (zh) * | 2014-06-24 | 2016-01-13 | 艾杜菲尔传媒有限公司 | 多媒体数据复合法及安卓系统中播放动图的视频播放器 |
CN106605211A (zh) * | 2014-09-12 | 2017-04-26 | 微软技术许可有限责任公司 | 着色器的渲染时间链接 |
CN104573110A (zh) * | 2015-02-02 | 2015-04-29 | 北京恒华伟业科技股份有限公司 | 一种浏览器中图形的动态展示方法及装置 |
CN104866340A (zh) * | 2015-04-29 | 2015-08-26 | 小米科技有限责任公司 | 终端设备软件更新方法及装置 |
CN105373427A (zh) * | 2015-11-11 | 2016-03-02 | 北京麒麟合盛网络技术有限公司 | 一种显示应用和功能开关的方法及装置 |
CN107368291A (zh) * | 2016-05-13 | 2017-11-21 | 北京搜狗科技发展有限公司 | 一种网页绘制装置、方法及电子设备 |
CN105930535A (zh) * | 2016-06-20 | 2016-09-07 | 微景天下(北京)科技有限公司 | 自适应图像呈现系统和自适应图像呈现方法 |
CN106327563A (zh) * | 2016-08-24 | 2017-01-11 | 武汉斗鱼网络科技有限公司 | 一种Directx纹理资源互操作系统及方法 |
CN106327563B (zh) * | 2016-08-24 | 2019-04-05 | 武汉斗鱼网络科技有限公司 | 一种Directx纹理资源互操作系统及方法 |
WO2018050003A1 (zh) * | 2016-09-14 | 2018-03-22 | 阿里巴巴集团控股有限公司 | 3D canvas网页元素的渲染方法、装置及电子设备 |
CN106547845A (zh) * | 2016-10-17 | 2017-03-29 | 搜游网络科技(北京)有限公司 | 用于模拟canvas接口的方法及其设备 |
CN106569816A (zh) * | 2016-10-26 | 2017-04-19 | 搜游网络科技(北京)有限公司 | 一种渲染方法及装置 |
CN106569816B (zh) * | 2016-10-26 | 2020-03-31 | 搜游网络科技(北京)有限公司 | 一种渲染方法及装置 |
CN106886404A (zh) * | 2017-01-17 | 2017-06-23 | 武汉卓尔云市集团有限公司 | 一种android的3D渲染装置 |
US10929212B2 (en) | 2017-02-24 | 2021-02-23 | Pax Computer Technology (Shenzhen) Co., Ltd | Method of running network application based on pos payment terminal, terminal, and non volatile readable storage medium |
WO2018153061A1 (zh) * | 2017-02-24 | 2018-08-30 | 百富计算机技术(深圳)有限公司 | 基于pos支付终端的网络应用运行方法、终端及非易失性可读存储介质 |
CN108572818B (zh) * | 2017-03-08 | 2021-07-23 | 斑马智行网络(香港)有限公司 | 一种用户界面渲染方法及装置 |
WO2018161812A1 (zh) * | 2017-03-08 | 2018-09-13 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
CN108572818A (zh) * | 2017-03-08 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
CN106990961A (zh) * | 2017-03-28 | 2017-07-28 | 易网数通(北京)科技有限公司 | 一种WebGL图形渲染引擎的建立方法 |
CN106990961B (zh) * | 2017-03-28 | 2023-10-27 | 北京航天联智科技有限公司 | 一种WebGL图形渲染引擎的建立方法 |
CN107066430A (zh) * | 2017-04-21 | 2017-08-18 | 广州爱九游信息技术有限公司 | 图片处理方法、装置、服务端及客户端 |
CN107562861A (zh) * | 2017-08-29 | 2018-01-09 | 武汉智丽丰信息科技有限公司 | 一种基于WebGL的WebGIS三维模型系统 |
US10991065B2 (en) | 2017-10-19 | 2021-04-27 | Tencent Technology (Shenzhen) Company Limited | Methods and systems for processing graphics |
CN109964204A (zh) * | 2017-10-19 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 用于处理图形的方法和系统 |
CN108021356A (zh) * | 2017-11-06 | 2018-05-11 | 江苏省测绘研究所 | 一种跨屏跨平台的可量测实景地图组织方法 |
CN108021356B (zh) * | 2017-11-06 | 2021-08-03 | 江苏省测绘研究所 | 一种跨屏跨平台的可量测实景地图组织方法 |
CN110262798A (zh) * | 2018-03-12 | 2019-09-20 | 搜游网络科技(北京)有限公司 | 基于WebGL的图形绘制方法、装置、运行器及可读存储介质 |
CN110262798B (zh) * | 2018-03-12 | 2023-11-10 | 北京蓝亚盒子科技有限公司 | 基于WebGL的图形绘制方法、装置、运行器及可读存储介质 |
CN112930556A (zh) * | 2018-09-10 | 2021-06-08 | 阿韦瓦软件有限责任公司 | 集成用于可视化大数据集的第三方几何结构的系统和方法 |
CN109271155A (zh) * | 2018-09-11 | 2019-01-25 | Oppo广东移动通信有限公司 | 游戏平台的能力调用方法及相关产品 |
CN109395384A (zh) * | 2018-09-12 | 2019-03-01 | Oppo广东移动通信有限公司 | 游戏渲染方法及相关产品 |
US10991151B2 (en) | 2018-09-12 | 2021-04-27 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Game rendering method, terminal, and non-transitory computer-readable storage medium |
WO2020063088A1 (zh) * | 2018-09-25 | 2020-04-02 | Oppo广东移动通信有限公司 | 游戏平台的底层调用方法及相关产品 |
CN109271156A (zh) * | 2018-09-25 | 2019-01-25 | Oppo广东移动通信有限公司 | 游戏平台的底层调用方法及相关产品 |
CN111210496A (zh) * | 2018-11-19 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 一种图片解码方法、装置以及设备 |
CN111210496B (zh) * | 2018-11-19 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 一种图片解码方法、装置以及设备 |
CN109542567A (zh) * | 2018-11-20 | 2019-03-29 | 四川长虹电器股份有限公司 | 基于Linux平台的浏览器的渲染方法及浏览器 |
CN111400024B (zh) * | 2019-01-03 | 2023-10-10 | 百度在线网络技术(北京)有限公司 | 渲染过程中的资源调用方法、装置和渲染引擎 |
CN111400024A (zh) * | 2019-01-03 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 渲染过程中的资源调用方法、装置和渲染引擎 |
CN111408138A (zh) * | 2019-01-04 | 2020-07-14 | 厦门雅基软件有限公司 | 基于游戏引擎的渲染方法、装置及电子设备 |
CN109885302A (zh) * | 2019-01-29 | 2019-06-14 | 维沃移动通信有限公司 | 一种快应用的展示方法及终端设备 |
CN110413914A (zh) * | 2019-07-25 | 2019-11-05 | 中南民族大学 | 基于WebGL的渲染方法、装置、设备及存储介质 |
CN110727481A (zh) * | 2019-09-06 | 2020-01-24 | 平安国际智慧城市科技股份有限公司 | 图片编辑方法、装置、计算机设备和存储介质 |
CN110764757A (zh) * | 2019-10-22 | 2020-02-07 | 成都九洲电子信息系统股份有限公司 | 一种基于html5的交互式图形绘制引擎 |
CN111381920A (zh) * | 2020-02-17 | 2020-07-07 | 网易(杭州)网络有限公司 | 弹窗组件的显示方法、装置以及电子终端 |
CN113360200A (zh) * | 2020-03-05 | 2021-09-07 | 北京沃东天骏信息技术有限公司 | 一种目标程序植入页面运行的方法和装置 |
CN111562962A (zh) * | 2020-04-29 | 2020-08-21 | 百度在线网络技术(北京)有限公司 | 画面渲染方法、装置、电子设备和存储介质 |
CN111562962B (zh) * | 2020-04-29 | 2023-07-04 | 百度在线网络技术(北京)有限公司 | 画面渲染方法、装置、电子设备和存储介质 |
CN111580809A (zh) * | 2020-05-07 | 2020-08-25 | 讯飞幻境(北京)科技有限公司 | 一种可视化webgl框架构建方法、装置及计算机设备 |
CN112288840B (zh) * | 2020-10-26 | 2021-08-24 | 北京优锘科技有限公司 | 一种三维渲染引擎结合JavaScript脚本引擎实现运行的方法 |
CN112288840A (zh) * | 2020-10-26 | 2021-01-29 | 北京优锘科技有限公司 | 一种三维渲染引擎结合JavaScript脚本引擎实现运行的方法 |
CN113313804A (zh) * | 2021-06-23 | 2021-08-27 | 深圳Tcl新技术有限公司 | 一种图像渲染方法、装置、电子设备和存储介质 |
CN113313804B (zh) * | 2021-06-23 | 2024-03-12 | 深圳Tcl新技术有限公司 | 一种图像渲染方法、装置、电子设备和存储介质 |
CN113515396A (zh) * | 2021-07-09 | 2021-10-19 | 北京鲸鲮信息系统技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
CN113515396B (zh) * | 2021-07-09 | 2024-01-30 | 北京字节跳动网络技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
WO2023010851A1 (zh) * | 2021-08-05 | 2023-02-09 | 稿定(厦门)科技有限公司 | 基于WebGL的图形渲染方法、装置及系统 |
CN113694523A (zh) * | 2021-08-30 | 2021-11-26 | 上海哔哩哔哩科技有限公司 | 基于移动端app的h5游戏显示方法、装置及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
TWI595442B (zh) | 2017-08-11 |
CN103713891B (zh) | 2017-11-24 |
KR20150067165A (ko) | 2015-06-17 |
US9646357B2 (en) | 2017-05-09 |
KR102115057B1 (ko) | 2020-05-26 |
IN2015DN02756A (zh) | 2015-08-28 |
TW201415411A (zh) | 2014-04-16 |
US20140098118A1 (en) | 2014-04-10 |
WO2014058902A1 (en) | 2014-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103713891A (zh) | 一种在移动设备上进行图形渲染的方法和装置 | |
JP6797877B2 (ja) | ウェブアプリケーションを実施する方法、装置、サーバ、及びシステム | |
WO2017219833A1 (zh) | 一种应用程序页面开发管理方法及装置 | |
CN105824900A (zh) | 一种基于react-native的页面展示系统 | |
US20130055072A1 (en) | Multi-Threaded Graphical Display System | |
Lim | Experimental comparison of hybrid and native applications for mobile systems | |
Hales | HTML5 and JavaScript Web Apps: Bridging the gap between the web and the mobile web | |
CN111722885B (zh) | 程序运行方法、装置以及电子设备 | |
CN111408138A (zh) | 基于游戏引擎的渲染方法、装置及电子设备 | |
CN113468448A (zh) | 页面渲染方法及装置 | |
US20190080017A1 (en) | Method, system, and device that invokes a web engine | |
US11023558B1 (en) | Executing functions on-demand on a server utilizing web browsers | |
CN110297624B (zh) | 基于electron框架的Widget系统的实现方法及采用该系统的电视机 | |
WO2019238145A1 (zh) | 一种基于WebGL的图形绘制方法、装置及系统 | |
CN112445545A (zh) | 一种网页应用的启动方法及显示设备 | |
KR20160022362A (ko) | 상태 정보를 위한 동기화 지점 | |
Oehlke | Learning Libgdx Game Development | |
US9830307B1 (en) | Ahead of time compilation of content pages | |
CN110069725A (zh) | 可视化内嵌浏览器方法和装置 | |
CN111723314B (zh) | 网页展示方法、装置、电子设备及计算机可读存储介质 | |
US11758016B2 (en) | Hosted application as web widget toolkit | |
US20130191442A1 (en) | Provision of a download script | |
CN109905753B (zh) | 角标的显示方法和装置、存储介质、电子装置 | |
CN112703484A (zh) | 连接应用体验 | |
CN114911555A (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 | ||
GR01 | Patent grant | ||
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: 20171124 |