CN109343837A - 游戏渲染方法及相关设备 - Google Patents

游戏渲染方法及相关设备 Download PDF

Info

Publication number
CN109343837A
CN109343837A CN201811061909.2A CN201811061909A CN109343837A CN 109343837 A CN109343837 A CN 109343837A CN 201811061909 A CN201811061909 A CN 201811061909A CN 109343837 A CN109343837 A CN 109343837A
Authority
CN
China
Prior art keywords
order
rendering
layer
layers
bridge layer
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.)
Pending
Application number
CN201811061909.2A
Other languages
English (en)
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201811061909.2A priority Critical patent/CN109343837A/zh
Publication of CN109343837A publication Critical patent/CN109343837A/zh
Priority to US16/525,038 priority patent/US10866818B2/en
Priority to ES19189588T priority patent/ES2882642T3/es
Priority to EP19189588.7A priority patent/EP3623938B1/en
Priority to PCT/CN2019/099300 priority patent/WO2020052376A2/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4432Reducing the energy consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种游戏渲染方法及相关设备,应用于电子设备,所述电子设备包括JS层、桥接层和系统框架层,方法包括:在指令集中缓存的绘图指令的数量大于或等于第一阈值的情况下,所述JS层将所述指令集中缓存的绘图指令传递给所述桥接层;所述桥接层通过OpenGL能力对所述绘图指令进行处理,得到渲染结果;所述桥接层将所述渲染结果传递给所述系统框架层;所述系统框架层基于所述渲染结果进行渲染。采用本申请实施例可提升渲染性能。

Description

游戏渲染方法及相关设备
技术领域
本申请涉及电子技术领域,尤其涉及一种游戏渲染方法及相关设备。
背景技术
随着电子设备(如手机、平板电脑等)的大量普及应用,电子设备能够支持的应用越来越多,功能越来越强大,电子设备向着多样化、个性化的方向发展,成为用户生活中不可缺少的电子用品。
尤其是游戏,在电子设备中得到广泛应用,对于游戏而言,渲染效果直接影响用户视觉体验,因此,如何提升渲染性能的问题亟待解决。
发明内容
本申请实施例提供一种游戏渲染方法及相关设备,用于提升渲染性能。
第一方面,本申请实施例提供一种游戏渲染方法,应用于电子设备,所述电子设备包括JS层、桥接层和系统框架层,方法包括:
在指令集中缓存的绘图指令的数量大于或等于第一阈值的情况下,所述JS层将所述指令集中缓存的绘图指令传递给所述桥接层;
所述桥接层通过OpenGL能力对所述绘图指令进行处理,得到渲染结果;
所述桥接层将所述渲染结果传递给所述系统框架层;
所述系统框架层基于所述渲染结果进行渲染。
第二方面,本申请实施例提供一种游戏渲染装置,所述电子设备包括JS层、桥接层和系统框架层,所述游戏渲染装置包括:
第一传递单元,用于在指令集中缓存的绘图指令的数量大于或等于第一阈值的情况下,将所述指令集中缓存的绘图指令传递给所述桥接层;
第一处理单元,用于通过OpenGL能力对所述绘图指令进行处理,得到渲染结果;
第二传递单元,用于将所述渲染结果传递给所述系统框架层;
渲染单元,用于基于所述渲染结果进行渲染。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面所述的方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,在本申请实施例中,JS层通过桥接层直接调用系统底层的OpenGL能力,提高了渲染性能,另外,在指令集中缓存的绘图指令的数量超过一定数的情况下,才一起进行处理,降低了OpenGL能力的调用次数,降低电子设备的功耗。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种电子设备的结构示意图;
图2是本申请实施例提供的一种游戏渲染方法的流程示意图;
图3是本申请实施例公开的一种系统框架层、桥接层和JS层的分布示意图;
图4是本申请实施例提供的另一种游戏渲染方法的流程示意图;
图5是本申请实施例提供的一种电子设备的结构示意图;
图6是本申请实施例提供的一种游戏渲染装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
电子设备,又称之为用户设备(User Equipment,UE),是一种向用户提供语音和/或数据连通性的设备,例如,具有无限连接功能的手持式设备、车载设备等。常见的终端例如包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internetdevice,MID)、可穿戴设备,例如智能手表、智能手环、计步器等。
如图1所示,图1是本申请实施例提供的一种电子设备的结构示意图。该电子设备包括处理器、存储器、信号处理器、收发器、显示屏、扬声器、麦克风、随机存取存储器(Random Access Memory,RAM)、摄像头和传感器等等。其中,存储器、信号处理器、显示屏、扬声器、麦克风、RAM、摄像头和传感器与处理器连接,收发器与信号处理器连接。
其中,显示屏可以是液晶显示器(Liquid Crystal Display,LCD)、有机或无机发光二极管(Organic Light-Emitting Diode,OLED)、有源矩阵有机发光二极体面板(ActiveMatrix/Organic Light Emitting Diode,AMOLED)等。
其中,该摄像头可以是普通摄像头、也可以是红外摄像,在此不作限定。该摄像头可以是前置摄像头或后置摄像头,在此不作限定。
其中,传感器包括以下至少一种:光感传感器、陀螺仪、红外接近传感器、指纹传感器、压力传感器等等。其中,光感传感器,也称为环境光传感器,用于检测环境光亮度。光线传感器可以包括光敏元件和模数转换器。其中,光敏元件用于将采集的光信号转换为电信号,模数转换器用于将上述电信号转换为数字信号。可选的,光线传感器还可以包括信号放大器,信号放大器可以将光敏元件转换的电信号进行放大后输出至模数转换器。上述光敏元件可以包括光电二极管、光电三极管、光敏电阻、硅光电池中的至少一种。
其中,处理器是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器内的软体程序和/或模块,以及调用存储在存储器内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
其中,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
其中,存储器用于存储软体程序和/或模块,处理器通过运行存储在存储器的软件程序和/或模块,从而执行电子设备的各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的软体程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
请参阅图2,图2是本申请实施例提供的一种游戏渲染方法的流程示意图,应用于上述电子设备。所述电子设备包括JS层、桥接层和系统框架层,如图3所示,系统框架层可以理解为底层,负责提供与电子设备底层相关的系统能力,比如,访问存储器的能力、打电话的能力等。JS层可以理解为上层,负责运行小游戏,小游戏的游戏代码可以在JS层运行,JS层也可以称为JavaScript层。桥接层可以理解为中间层,用于连接系统框架层和JS层,桥接层可以将系统框架层的能力进行封装,封装成统一的供JS层直接调用的应用程序编程接口(Application Programming Interface,API)。本申请实施例中的系统框架层、桥接层和JS层都可以理解为一段代码比如,系统框架层可以是采用汇编语言编写的一段程序代码;桥接层可以是采用C++语言编写的一段程序代码,桥接层也可以称为C++层;JS层可以是采用Java语言编写的一段程序代码。本申请的游戏渲染方法可以应用于不同类型的系统,比如,安卓(Android)系统和IOS系统。
本游戏渲染方法包括:
步骤201:在指令集中缓存的绘图指令的数量大于或等于第一阈值的情况下,所述JS层将所述指令集中缓存的绘图指令传递给所述桥接层。
其中,本申请提供的游戏渲染方法用于对小游戏进行渲染。小游戏是一种不需要下载安装即可使用的游戏应用,类似于微信应用中的小程序。
其中,指令集用于缓存绘图指令,该绘图指令例如是WebGL绘图指令,指令集可以存储在电子设备的指定位置,指令集能够被JS层调用。
其中,对于电子设备来说,不同的小游戏对应不同的指令集,以避免JS层调用出现错误的问题。
其中,对于电子设备来说,不同小游戏对应的指令集存储的位置可以是不同的(如小游戏A对应的指令集a存储在指定位置1、小游戏B对应的指令集b存储在指定位置2等),也可以是相同的(如小游戏A对应的指令集A和小游戏B对应的指令集b均存储在指定位置1等)。
其中,Web图形库(Web Graphics Library,WebGL)是一种3D绘图协议,该种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScrip绑定,WebGL可以提供硬件3D加速渲染。
其中,第一阈值可以是用户自定义的,也可以是电子设备自定义的,在此不作限定。
其中,第一阈值例如是10条、20条、23条、30条或是其他值。对于电子设备来说,不同的小游戏对应的第一阈值是相同的,以方便电子设备管理。
其中,对于电子设备来说,不同的小游戏对应的第一阈值是不相同的(如小游戏A对应第一阈值1、小游戏B对应第一阈值2等),以提升多样性。渲染级别要求较低的小游戏对应的第一阈值较大,渲染级别要求较高的小游戏对应的第一阈值较小。
其中,步骤201的具体实现方式是:JS层获取指令集中缓存的所有绘图指令,然后JS层将获取到的绘图指令传递给JSB(Java Script Binding),JSB再将绘图指令传递给桥接层,JSB是用于建立不同平台(如桥接层、系统框架层等)与JS层之间通信的连接引擎。
步骤202:所述桥接层通过OpenGL能力对所述绘图指令进行处理,得到渲染结果。
其中,开发图形库(Open Graphics Library,OpenGL)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。OpenGL是一个与硬件无关的软件接口。软件接口是预先提供函数,以能够让其他软件或硬件访问。
其中,OpenGL能力指的是提供某些函数,来使得其他软件或硬件调用这些函数来实现某些功能,如指令处理功能、渲染功能等等。
具体地,步骤202的具体实现方式是:所述桥接层解析所述绘图指令,得到指令信息;所述桥接层通过OpenGL能力根据所述指令信息生成所述绘图指令对应的OpenGL绘图指令;所述桥接层将所述OpenGL绘图指令绘制到OpenGL渲染视窗,形成渲染结果。
其中,指令信息包括但不限于指令名称及指令参数,例如drawCircle(200,300,5),这个绘图指令的指令名称为drawCircle,指令参数为:x坐标为200,y坐标为300,半径为5。
进一步地,所述桥接层通过OpenGL能力根据所述指令信息生成所述绘图指令对应的OpenGL绘图指令的具体实现方式是:所述桥接层通过OpenGL能力根据设定指令转换规则和所述指令信息生成所述OpenGL绘图指令。如通过设定指令转换规则对各种指令信息进行拼接形成设定形式的OpenGL绘图指令(即指令信息的规范化表达形式)。
步骤203:所述桥接层将所述渲染结果传递给所述系统框架层。
具体地,步骤203的具体实现方式是:所述桥接层将所述渲染结果缓存至像素缓存(Pixel buffer);所述桥接层将所述Pixel buffer与屏幕缓存进行交换,实现将所述渲染结果传递给所述系统框架层。
步骤204:所述系统框架层基于所述渲染结果进行渲染。
具体地,步骤204的具体实现方式是:所述系统框架层将所述渲染结果传递给surface Flinger;所述系统框架层通过所述surface Flinger基于所述渲染结果合成屏幕内容,以及将合成的屏幕内容显示在所述电子设备的显示屏上。
其中,surface Flinger是一个独立的Service,它接收所有Window的Surface作为输入,根据ZOrder,透明度,大小,位置等参数,计算出每个Surface在最终合成图像中的位置,然后交由HWComposer或OpenGL生成最终的显示Buffer,然后显示到特定的显示设备上。
可以看出,在本申请实施例中,JS层通过桥接层直接调用系统底层的OpenGL能力,提高了渲染性能,另外,在指令集中缓存的绘图指令超过一定数的情况下,才一起进行处理,降低了OpenGL能力的调用次数,降低电子设备的功耗。
在本申请的一实现方式中,所述方法还包括:
所述JS层接收游戏业务代码;
所述JS层调用WebGL API,以调用WebGL能力;
所述JS层通过WebGL能力解析所述游戏业务代码,得到操作指令;
在所述操作指令不为查询指令的情况下,所述JS层确定所述指令集中缓存的绘图指令是否大于或等于所述第一阈值。
进一步地,所述方法还包括:
在所述操作指令为查询指令的情况下,所述JS层将所述操作指令传递给所述桥接层;
所述桥接层通过OpenGL能力对所述操作指令进行处理,得到查询结果;
所述桥接层将查询结果传递给所述JS层。
进一步地,所述方法还包括:
在所述操作指令不为查询指令,以及指令集中缓存的绘图指令的数量小于所述第一阈值的情况下,所述JS层将所述操作指令缓存至所述指令集中。
其中,WebGL能力指的是提供某些函数,来使得其他软件或硬件调用这些函数来实现某些功能,如代码解析功能、指令处理功能等等。
其中,游戏业务代码是指游戏开发者开发代码,可以理解为执行游戏逻辑的代码。由于游戏业务代码为执行游戏逻辑的代码,那么JS层通过解析游戏业务代码可以得到一些执行游戏逻辑的操作指令。
其中,游戏相关的指令的类型有绘图指令和查询指令等。
具体地,JS层将操作指令传递给桥接层的具体实现方式是:JS层解析该操作指令,得到操作指令携带的指令信息,然后将得到的指令信息传递给桥接层。
其中,操作指令携带的指令信息包括但不限于指令名称及指令参数。
进一步地,JS层可采用直接传递形式将操作指令携带的指令信息直接传递给桥接层,也可以采用不直接传递方式,如根据设定指令转换规则和指令信息,生成与该操作指令对应的查询命令,然后将该查询命令传递给桥接层。该种处理方式可以使得后续环节易于对该命令进行解析。
可见,在本申请实施例中,将指令分为查询指令和非查询指令,指令为查询指令时,直接调用OpenGL能力,指令为非查询指令是,在缓存的指令的数量达到一定值时才调用OpenGL能力,提高了渲染性能。
在本申请的一实现方式中,所述方法还包括:
所述系统框架层进行屏幕刷新,以及通过Ondrawframe将刷新的每一帧图像在所述电子设备的显示屏上显示;
所述系统框架层调用本地渲染(Nativerender),以及通过所述本地渲染通过java本地接口(JNI)调用所述桥接层的监听tick事件函数(Dispatchtickevent),来监听所述JS层是否存在tick事件;
在存在tick事件的情况下,执行所述JS层将所述指令集中缓存的绘图指令传递给所述桥接层的步骤。
其中,JNI是Java Native Interface的缩写,它提供了若干的API接口实现了Java和其他语言的通信(主要是C&C++)。它允许Java代码和其他语言写的代码进行交互。
与所述图2所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种游戏渲染方法的流程示意图,应用于上述电子设备,所述电子设备包括JS层、桥接层和系统框架层,系统框架层、桥接层和JS层的分布如图3所示,本游戏渲染方法包括:
步骤401:所述JS层接收游戏业务代码。
步骤402:所述JS层调用WebGL API,以调用WebGL能力,所述JS层通过WebGL能力解析所述游戏业务代码,得到操作指令。
步骤403:所述JS层确定所述操作指令是否为查询指令。
若否,则执行步骤404。
若是,则执行步骤413。
步骤404:所述JS层确定所述指令集中缓存的绘图指令是否大于或等于第一阈值。
若是,则执行步骤405。
若否,则执行步骤416。
步骤405:所述JS层将所述指令集中缓存的绘图指令传递给所述桥接层。
步骤406:所述桥接层解析所述绘图指令,得到指令信息。
步骤407:所述桥接层通过OpenGL能力根据所述指令信息生成所述绘图指令对应的OpenGL绘图指令。
步骤408:所述桥接层将所述OpenGL绘图指令绘制到OpenGL渲染视窗,形成渲染结果。
步骤409:所述桥接层将所述渲染结果缓存至Pixel buffer。
步骤410:所述桥接层将所述Pixel buffer与屏幕缓存进行交换,实现将所述渲染结果传递给所述系统框架层。
步骤411:所述系统框架层将所述渲染结果传递给surface Flinger。
步骤412:所述系统框架层通过所述surface Flinger基于所述渲染结果合成屏幕内容,以及将合成的屏幕内容显示在所述电子设备的显示屏上。
步骤413:所述JS层将所述操作指令传递给所述桥接层。
步骤414:所述桥接层通过OpenGL能力对所述操作指令进行处理,得到查询结果。
步骤415:所述桥接层将查询结果传递给所述JS层。
步骤416:所述JS层将所述操作指令缓存至所述指令集中。
步骤417:所述系统框架层进行屏幕刷新。
步骤418:所述系统框架层通过Ondrawframe将刷新的每一帧图像在所述电子设备的显示屏上显示。
步骤419:所述系统框架层调用本地渲染。
步骤420:所述系统框架层通过所述本地渲染调用所述桥接层的监听tick事件函数,来监听所述JS层是否存在tick事件。
在存在tick事件的情况下,执行步骤405。
需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。
与上述图2和图4所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种电子设备的结构示意图,该电子设备包括JS层、桥接层和系统框架层,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
在指令集中缓存的绘图指令的数量大于或等于第一阈值的情况下,将所述指令集中缓存的绘图指令传递给所述桥接层;
通过OpenGL能力对所述绘图指令进行处理,得到渲染结果;
将所述渲染结果传递给所述系统框架层;
基于所述渲染结果进行渲染。
在本申请的一实现方式中,上述程序包括还用于执行以下步骤的指令:
接收游戏业务代码;
调用WebGL API,以调用WebGL能力;
通过WebGL能力解析所述游戏业务代码,得到操作指令;
在所述操作指令不为查询指令的情况下,确定所述指令集中缓存的绘图指令是否大于或等于所述第一阈值。
在本申请的一实现方式中,上述程序包括还用于执行以下步骤的指令:
在所述操作指令为查询指令的情况下,将所述操作指令传递给所述桥接层;
通过OpenGL能力对所述操作指令进行处理,得到查询结果;
将查询结果传递给所述JS层。
在本申请的一实现方式中,上述程序包括还用于执行以下步骤的指令:
在所述操作指令不为查询指令,以及指令集中缓存的绘图指令的数量小于所述第一阈值的情况下,将所述操作指令缓存至所述指令集中。
在本申请的一实现方式中,在通过OpenGL能力对所述绘图指令进行处理,得到渲染结果方面,上述程序包括具体用于执行以下步骤的指令:
解析所述绘图指令,得到指令信息;
通过OpenGL能力根据所述指令信息生成所述绘图指令对应的OpenGL绘图指令;
将所述OpenGL绘图指令绘制到OpenGL渲染视窗,形成渲染结果。
在本申请的一实现方式中,在将所述渲染结果传递给所述系统框架层方面,上述程序包括具体用于执行以下步骤的指令:
将所述渲染结果缓存至Pixel buffer;
将所述Pixel buffer与屏幕缓存进行交换,实现将所述渲染结果传递给所述系统框架层。
在本申请的一实现方式中,在基于所述渲染结果进行渲染方面,上述程序包括具体用于执行以下步骤的指令:
将所述渲染结果传递给surface Flinger;
通过所述surface Flinger基于所述渲染结果合成屏幕内容,以及将合成的屏幕内容显示在所述电子设备的显示屏上。
在本申请的一实现方式中,上述程序包括还用于执行以下步骤的指令:
进行屏幕刷新,以及通过Ondrawframe将刷新的每一帧图像在所述电子设备的显示屏上显示;
调用本地渲染,以及通过所述本地渲染调用所述桥接层的监听tick事件函数,来监听所述JS层是否存在tick事件;
在存在tick事件的情况下,执行所述JS层将所述指令集中缓存的绘图指令传递给所述桥接层的步骤。
需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。
上述实施例主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据所述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面为本申请装置实施例,本申请装置实施例用于执行本申请方法实施例所实现的方法。请参阅图6,图6是本申请实施例提供的一种游戏渲染装置,应用于电子设备,所述电子设备包括JS层、桥接层和系统框架层,该游戏渲染装置包括:
第一传递单元601,用于在指令集中缓存的绘图指令的数量大于或等于第一阈值的情况下,将所述指令集中缓存的绘图指令传递给所述桥接层;
第一处理单元602,用于通过OpenGL能力对所述绘图指令进行处理,得到渲染结果;
第二传递单元603,用于将所述渲染结果传递给所述系统框架层;
渲染单元604,用于基于所述渲染结果进行渲染。
在本申请的一实现方式中,所述游戏渲染装置还包括:
接收单元(未图示),用于接收游戏业务代码;
第一调用单元(未图示),用于调用WebGL API,以调用WebGL能力;
解析单元(未图示),用于通过WebGL能力解析所述游戏业务代码,得到操作指令;
确定单元(未图示),用于在所述操作指令不为查询指令的情况下,所述JS层确定所述指令集中缓存的绘图指令是否大于或等于所述第一阈值。
在本申请的一实现方式中,所述游戏渲染装置还包括:
第三传递单元(未图示),还用于在所述操作指令为查询指令的情况下,将所述操作指令传递给所述桥接层;
第二处理单元(未图示),用于通过OpenGL能力对所述操作指令进行处理,得到查询结果;
第四传递单元(未图示),用于将查询结果传递给所述JS层。
在本申请的一实现方式中,所述游戏渲染装置还包括:
缓存单元(未图示),用于在所述操作指令不为查询指令,以及指令集中缓存的绘图指令的数量小于所述第一阈值的情况下,将所述操作指令缓存至所述指令集中。
在本申请的一实现方式中,所述第一处理单元602具体用于:
解析所述绘图指令,得到指令信息;
通过OpenGL能力根据所述指令信息生成所述绘图指令对应的OpenGL绘图指令;
将所述OpenGL绘图指令绘制到OpenGL渲染视窗,形成渲染结果。
在本申请的一实现方式中,所述第二传递单元603具体用于:
将所述渲染结果缓存至Pixel buffer;
将所述Pixel buffer与屏幕缓存进行交换,实现将所述渲染结果传递给所述系统框架层。
在本申请的一实现方式中,所述渲染单元604具体用于:
将所述渲染结果传递给surface Flinger;
通过所述surface Flinger基于所述渲染结果合成屏幕内容,以及将合成的屏幕内容显示在所述电子设备的显示屏上。
在本申请的一实现方式中,所述游戏渲染装置还包括:
刷新单元(未图示),用于进行屏幕刷新;
显示单元(未图示),用于通过Ondrawframe将刷新的每一帧图像在所述电子设备的显示屏上显示;
第二调用单元(未图示),调用本地渲染;
监听单元(未图示),用于通过所述本地渲染调用所述桥接层的监听tick事件函数,来监听所述JS层是否存在tick事件;
在存在tick事件的情况下,执行所述JS层将所述指令集中缓存的绘图指令传递给所述桥接层的步骤。
需要说明的是,第一传递单元601、第一处理单元602、第二传递单元603、渲染单元604、接收单元、第一调用单元、解析单元、确定单元、第三传递单元、第二处理单元、第四传递单元、缓存单元、刷新单元、显示单元、第二调用单元、监听单元可通过处理单元实现。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种游戏渲染方法,其特征在于,应用于电子设备,所述电子设备包括JS层、桥接层和系统框架层,所述方法包括:
在指令集中缓存的绘图指令的数量大于或等于第一阈值的情况下,所述JS层将所述指令集中缓存的绘图指令传递给所述桥接层;
所述桥接层通过OpenGL能力对所述绘图指令进行处理,得到渲染结果;
所述桥接层将所述渲染结果传递给所述系统框架层;
所述系统框架层基于所述渲染结果进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述JS层接收游戏业务代码;
所述JS层调用WebGL API,以调用WebGL能力;
所述JS层通过WebGL能力解析所述游戏业务代码,得到操作指令;
在所述操作指令不为查询指令的情况下,所述JS层确定所述指令集中缓存的绘图指令的数量是否大于或等于所述第一阈值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述操作指令为查询指令的情况下,所述JS层将所述操作指令传递给所述桥接层;
所述桥接层通过OpenGL能力对所述操作指令进行处理,得到查询结果;
所述桥接层将查询结果传递给所述JS层。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
在所述操作指令不为查询指令,以及指令集中缓存的绘图指令的数量小于所述第一阈值的情况下,所述JS层将所述操作指令缓存至所述指令集中。
5.根据权利要求1-4任一项,其特征在于,所述桥接层通过OpenGL能力对所述绘图指令进行处理,得到渲染结果,包括:
所述桥接层解析所述绘图指令,得到指令信息;
所述桥接层通过OpenGL能力根据所述指令信息生成所述绘图指令对应的OpenGL绘图指令;
所述桥接层将所述OpenGL绘图指令绘制到OpenGL渲染视窗,形成渲染结果。
6.根据权利要求1-5任一项,其特征在于,所述将所述渲染结果传递给所述系统框架层,包括:
所述桥接层将所述渲染结果缓存至Pixel buffer;
所述桥接层将所述Pixel buffer与屏幕缓存进行交换,实现将所述渲染结果传递给所述系统框架层。
7.根据权利要求1-6任一项,其特征在于,所述系统框架层基于所述渲染结果进行渲染,包括:
所述系统框架层将所述渲染结果传递给surface Flinger;
所述系统框架层通过所述surface Flinger基于所述渲染结果合成屏幕内容,以及将合成的屏幕内容显示在所述电子设备的显示屏上。
8.一种游戏渲染装置,应用于电子设备,所述电子设备包括JS层、桥接层和系统框架层,所述游戏渲染装置包括:
第一传递单元,用于在指令集中缓存的绘图指令的数量大于或等于第一阈值的情况下,将所述指令集中缓存的绘图指令传递给所述桥接层;
第一处理单元,用于通过OpenGL能力对所述绘图指令进行处理,得到渲染结果;
第二传递单元,用于将所述渲染结果传递给所述系统框架层;
渲染单元,用于基于所述渲染结果进行渲染。
9.一种移动终端,其特征在于,包括处理器以及存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7任一项所述的方法。
CN201811061909.2A 2018-09-12 2018-09-12 游戏渲染方法及相关设备 Pending CN109343837A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811061909.2A CN109343837A (zh) 2018-09-12 2018-09-12 游戏渲染方法及相关设备
US16/525,038 US10866818B2 (en) 2018-09-12 2019-07-29 Game rendering method, terminal device, and non-transitory computer-readable storage medium
ES19189588T ES2882642T3 (es) 2018-09-12 2019-08-01 Método y aparato de renderización de juegos, y medio de almacenamiento no transitorio legible por ordenador
EP19189588.7A EP3623938B1 (en) 2018-09-12 2019-08-01 Game rendering method and apparatus, and non-transitory computer-readable storage medium
PCT/CN2019/099300 WO2020052376A2 (en) 2018-09-12 2019-08-05 Game rendering method and apparatus, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811061909.2A CN109343837A (zh) 2018-09-12 2018-09-12 游戏渲染方法及相关设备

Publications (1)

Publication Number Publication Date
CN109343837A true CN109343837A (zh) 2019-02-15

Family

ID=65304768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811061909.2A Pending CN109343837A (zh) 2018-09-12 2018-09-12 游戏渲染方法及相关设备

Country Status (5)

Country Link
US (1) US10866818B2 (zh)
EP (1) EP3623938B1 (zh)
CN (1) CN109343837A (zh)
ES (1) ES2882642T3 (zh)
WO (1) WO2020052376A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297623A (zh) * 2019-07-03 2019-10-01 广州虎牙科技有限公司 日志展示方法及装置
WO2020052376A3 (en) * 2018-09-12 2020-05-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Game rendering method and apparatus, and non-transitory computer-readable storage medium
CN111522520A (zh) * 2020-04-03 2020-08-11 广东小天才科技有限公司 软件仿类纸的处理方法、装置、设备和存储介质
CN111562962A (zh) * 2020-04-29 2020-08-21 百度在线网络技术(北京)有限公司 画面渲染方法、装置、电子设备和存储介质
CN113262466A (zh) * 2021-05-11 2021-08-17 Oppo广东移动通信有限公司 震动控制方法、装置、移动终端及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107436797A (zh) * 2017-08-14 2017-12-05 深信服科技股份有限公司 一种基于虚拟化环境的指令数据处理方法及装置
CN107832108A (zh) * 2016-09-14 2018-03-23 阿里巴巴集团控股有限公司 3D canvas网页元素的渲染方法、装置及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192818A1 (en) 2004-10-12 2007-08-16 Mikael Bourges-Sevenier System and method for creating, distributing, and executing rich multimedia applications
CN103399729B (zh) 2013-06-28 2016-04-27 广州市动景计算机科技有限公司 一种HTML5 Canvas应用处理方法、装置及处理器
US9507649B2 (en) 2014-05-29 2016-11-29 Apple Inc. Web browser for spoofing supported features
CN104778082B (zh) 2015-03-25 2018-04-24 小米科技有限责任公司 开放式图形库操作的处理方法和装置
CN106453852A (zh) 2016-09-20 2017-02-22 深圳鼎智通讯股份有限公司 安卓终端的屏幕颜色调节系统及其方法
CN106504185B (zh) 2016-10-26 2020-04-07 腾讯科技(深圳)有限公司 一种渲染优化方法和装置
CN107913519B (zh) 2017-08-29 2022-11-04 深圳壹账通智能科技有限公司 2d游戏的渲染方法及移动终端
CN107911708B (zh) 2017-11-09 2022-04-05 腾讯数码(天津)有限公司 弹幕显示方法、直播方法、及相关装置
CN109343837A (zh) * 2018-09-12 2019-02-15 Oppo广东移动通信有限公司 游戏渲染方法及相关设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832108A (zh) * 2016-09-14 2018-03-23 阿里巴巴集团控股有限公司 3D canvas网页元素的渲染方法、装置及电子设备
CN107436797A (zh) * 2017-08-14 2017-12-05 深信服科技股份有限公司 一种基于虚拟化环境的指令数据处理方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020052376A3 (en) * 2018-09-12 2020-05-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Game rendering method and apparatus, and non-transitory computer-readable storage medium
CN110297623A (zh) * 2019-07-03 2019-10-01 广州虎牙科技有限公司 日志展示方法及装置
CN110297623B (zh) * 2019-07-03 2023-07-14 广州虎牙科技有限公司 日志展示方法及装置
CN111522520A (zh) * 2020-04-03 2020-08-11 广东小天才科技有限公司 软件仿类纸的处理方法、装置、设备和存储介质
CN111522520B (zh) * 2020-04-03 2024-04-19 广东小天才科技有限公司 软件仿类纸的处理方法、装置、设备和存储介质
CN111562962A (zh) * 2020-04-29 2020-08-21 百度在线网络技术(北京)有限公司 画面渲染方法、装置、电子设备和存储介质
CN113262466A (zh) * 2021-05-11 2021-08-17 Oppo广东移动通信有限公司 震动控制方法、装置、移动终端及存储介质

Also Published As

Publication number Publication date
EP3623938A1 (en) 2020-03-18
WO2020052376A3 (en) 2020-05-14
US20200081722A1 (en) 2020-03-12
US10866818B2 (en) 2020-12-15
EP3623938B1 (en) 2021-06-16
WO2020052376A2 (en) 2020-03-19
ES2882642T3 (es) 2021-12-02

Similar Documents

Publication Publication Date Title
CN109343837A (zh) 游戏渲染方法及相关设备
CN109814766A (zh) 一种应用显示方法及电子设备
CN109814941A (zh) 一种应用启动方法、终端及计算机可读存储介质
CN109947650B (zh) 脚本步骤处理方法、装置和系统
CN112882772B (zh) 移动终端应用界面的配置方法、移动终端及存储介质
CN112749362B (zh) 控件创建方法、装置、设备及存储介质
CN112420217B (zh) 消息推送方法、装置、设备及存储介质
CN109543099A (zh) 一种内容推荐方法及终端设备
CN107885799A (zh) 网页信息显示方法及装置
CN108021583A (zh) 页面加载方法、页面操作指令的处理方法及客户端
CN108769234A (zh) 应用下载方法、装置、存储介质及电子设备
CN108573307A (zh) 一种处理神经网络模型文件的方法及终端
CN110471701A (zh) 图像渲染的方法、装置、存储介质及电子设备
CN105934737A (zh) 用户接口显示方法及其电子设备
CN110035181A (zh) 一种快应用卡片主题设置方法及终端
CN110457621A (zh) 一种混合应用的页面显示方法、装置及介质
CN110147186A (zh) 一种应用的控制方法及终端设备
CN109491670A (zh) 一种页面显示方法及终端设备
CN109126124A (zh) 引擎适配方法、相关设备以及计算机可读存储介质
CN108763544A (zh) 一种显示方法及终端
CN105740419A (zh) 获取网页中动态加载内容的方法及装置
WO2022057889A1 (zh) 一种对应用程序的界面进行翻译的方法及相关设备
CN107861827A (zh) 卡屏检测方法、移动终端及计算机可读存储介质
CN109117037A (zh) 一种图像处理的方法及终端设备
CN108845732A (zh) 一种信息显示方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40002759

Country of ref document: HK

RJ01 Rejection of invention patent application after publication

Application publication date: 20190215

RJ01 Rejection of invention patent application after publication