CN110471700B - 图形处理方法、装置、存储介质及电子设备 - Google Patents
图形处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110471700B CN110471700B CN201910722192.XA CN201910722192A CN110471700B CN 110471700 B CN110471700 B CN 110471700B CN 201910722192 A CN201910722192 A CN 201910722192A CN 110471700 B CN110471700 B CN 110471700B
- Authority
- CN
- China
- Prior art keywords
- graph
- interface
- electronic device
- data corresponding
- graphs
- 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.)
- Active
Links
Images
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种图形处理方法、装置、存储介质及电子设备。该方法包括:获取目标图形,所述目标图形为需显示到界面的图形;从所述目标图形中确定出第一图形,所述电子设备中未缓存所述第一图形对应的绘制数据;获取所述第一图形对应的绘制指令,所述绘制指令用于绘制所述第一图形,以得到对应的绘制数据;将所述绘制指令中相同的绘制指令进行合并;获取第二图形对应的绘制数据,所述电子设备中预先缓存有所述第二图形对应的绘制数据,所述第二图形为所述目标图形中除所述第一图形之外的图形;根据合并后的绘制指令以及第二图形对应的绘制数据,进行界面的图形绘制。本申请可以减少对CPU资源的占用。
Description
技术领域
本申请属于电子技术领域,尤其涉及一种图形处理方法、装置、存储介质及电子设备。
背景技术
在运行游戏等具有图形绘制要求的应用程序时,诸如智能手机等电子设备通常需要调用图形绘制指令进行图形绘制,以最终显示出对应的图形化界面,例如游戏界面等。
以游戏界面为例,目前,在进行游戏界面的图形绘制时,对于该游戏界面对应的每个图形,电子设备都需要执行一次绘制指令以进行对应图形的绘制,因此,若要绘制出该游戏界面对应的所有图形,电子设备需要执行大量的绘制指令。然而,电子设备若执行大量的绘制指令,会占用大量的CPU资源,从而导致电子设备出现卡顿现象。
发明内容
本申请实施例提供一种图形处理方法、装置、存储介质及电子设备,可以减少对CPU资源的占用。
本申请实施例提供一种图形处理方法,应用于电子设备,包括:
获取目标图形,所述目标图形为需显示到界面的图形;
从所述目标图形中确定出第一图形,所述电子设备中未缓存所述第一图形对应的绘制数据;
获取所述第一图形对应的绘制指令,所述绘制指令用于绘制所述第一图形,以得到对应的绘制数据;
将所述绘制指令中相同的绘制指令进行合并;
获取第二图形对应的绘制数据,所述电子设备中预先缓存有所述第二图形对应的绘制数据,所述第二图形为所述目标图形中除所述第一图形之外的图形;
根据合并后的绘制指令以及第二图形对应的绘制数据,进行界面的图形绘制。
本申请实施例提供一种图形处理装置,应用于电子设备,包括:
第一获取模块,用于获取目标图形,所述目标图形为需显示到界面的图形;
确定模块,用于从所述目标图形中确定出第一图形,所述电子设备中未缓存所述第一图形对应的绘制数据;
第二获取模块,用于获取所述第一图形对应的绘制指令,所述绘制指令用于绘制所述第一图形,以得到对应的绘制数据;
合并模块,用于将所述绘制指令中相同的绘制指令进行合并;
第三获取模块,用于获取第二图形对应的绘制数据,所述电子设备中预先缓存有所述第二图形对应的绘制数据,所述第二图形为所述目标图形中除所述第一图形之外的图形;
绘制模块,用于根据合并后的绘制指令以及第二图形对应的绘制数据,进行界面的图形绘制。
本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的图形处理方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的图形处理方法中的流程。
本申请实施例中,由于只用对需显示到界面的图形进行绘制,不用对不需显示到界面的图形进行绘制,因此可以减少一部分绘制指令的使用。而将相同的绘制指令合并,可以在执行一次绘制指令的情况下,得到多个相应的绘制数据,相对于相关技术中执行一次绘制指令,仅能得到一个绘制数据的方案,在需要得到相同数量的绘制数据时,本申请可以减少绘制指令的数量。其中,电子设备可以基于该绘制数据,将该绘制数据所对应的图形绘制到显示屏上。由上可知,本申请的方案可以减少绘制指令的使用数量,从而减少对CPU资源的占用。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的图形处理方法的第一种流程示意图。
图2是本申请实施例提供的图形处理方法的第二种流程示意图。
图3是本申请实施例提供的节点树的示意图。
图4是本申请实施例提供的图形处理方法的场景示意图。
图5是本申请实施例提供的图形处理装置的结构示意图。
图6是本申请实施例提供的电子设备的第一种结构示意图。
图7是本申请实施例提供的电子设备的第二种结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等电子设备。
请参阅图1,图1是本申请实施例提供的图形处理方法的第一种流程示意图,流程可以包括:
101、获取目标图形,该目标图形为需显示到界面的图形。
其中,该界面为应用程序的所有界面中的其中一个界面。其中,该界面对应有需显示到该界面的图形,以及不显示到该界面的图形,包括:精灵、文本、矩形和圆形等。该目标图形为需显示到该界面的图形。
需要说明的是,在本申请实施例中,应用程序的每个界面都对应至少一个图形,该至少一个图形用于构成该应用程序的每个界面。在应用程序的每个界面所对应的图形中,包括需显示到界面的图形,即需要将该图形绘制到显示屏上,以形成对应界面的一部分。在应用程序的每个界面所对应的图形中,还可以包括不显示到界面的图形,即即使该图形被绘制出来,其也不会显示在显示屏上,而是可能被其他图形所覆盖。
相关技术中,在进行界面的图形绘制时,无论是否需要将其显示在显示屏上,电子设备都会执行一次绘制指令,以绘制出对应的图形。例如,假设某界面包括5个图形,其中3个图形为需显示到显示屏上的图形,剩下2个图形为不显示到显示屏上的图形。相关技术中,在进行该界面的图形绘制时,电子设备通常会执行5次绘制指令,以绘制出该界面所对应的5个图形,然后将该5个图形绘制到显示屏上,并使得需显示到显示屏上的图形覆盖在不显示到显示屏上的图形上。
在本申请实施例,电子设备仅获取目标图形。其中,该目标图形为需显示到界面的图形。例如,电子设备可以获取该界面对应的所有图形。然后,电子设备从该界面对应的所有图形中选取出需显示到界面的图形,将该图形确定为目标图形。
102、从目标图形中确定出第一图形,电子设备中未缓存该第一图形对应的绘制数据。
在本申请实施例中,目标图形分为第一图形和第二图形。其中,电子设备中未缓存该第一图形对应的绘制数据。电子设备预设缓存有该第二图形对应的绘制数据。其中,某图形对应的绘制数据为电子设备采用绘制指令绘制该图形而得到的数据。并且,电子设备可以基于该图形对应的绘制数据,将该图形绘制到显示屏上。
比如,在获取到目标图形之后,电子设备可以从目标图形中确定出第一图形。例如,假设存在多个目标图形,分别为目标图形g1,目标图形g2和目标图形g3。假设电子设备中预先缓存有目标图形g1对应的绘制数据,电子设备中未缓存目标图形g2对应的绘制数据和目标图形g3对应的绘制数据,那么,电子设备可以将目标图形g2和目标图形g3确定为第一图形。
103、获取第一图形对应的绘制指令,该绘制指令用于绘制第一图形,以得到对应的绘制数据。
比如,在从目标图形中确定出第一图形之后,电子设备可以获取第一图形对应的绘制指令,该绘制指令用于绘制该第一图形,以得到对应的绘制数据。
例如,假设电子设备确定出第一图形g2和g3。其中,第一图形g2和g3可以是相同的图形,也可以是不相同的图形。该第一图形g2和g3的共同点为:电子设备中未缓存该第一图形g2和g3分别对应的绘制数据。那么,电子设备可以获取第一图形g2所对应的绘制指令,以及第一图形g3所对应的绘制指令。
104、将绘制指令中相同的绘制指令进行合并。
例如,假设电子设备得到5个绘制指令,在该5个绘制指令中存在3个相同的绘制指令。那么,电子设备可以将该5个绘制指令中相同的绘制指令进行合并,即对应该3个相同的绘制指令,仅保留其中一个绘制指令。
105、获取第二图形对应的绘制数据,电子设备中预先缓存有该第二图形对应的绘制数据,该第二图形为目标图形中除第一图形之外的图形。
比如,电子设备可以获取第二图形对应的绘制数据。其中,电子设备中预先缓存有该第二图形对应的绘制数据,该第二图形为目标图形中除第一图形之外的图形。
106、根据合并后的绘制指令以及第二图形对应的绘制数据,进行界面的图形绘制。
比如,在获取到第二图像对应的绘制数据之后,电子设备可以根据合并后的绘制指令绘制第一图形,以得到对应的绘制数据。然后,电子设备可以基于该绘制数据和第二图形对应的绘制数据,进行界面的图形绘制,即将需显示到界面的图形绘制到电子设备的显示屏上,以得到应用程序的当前界面。
本申请实施例中,由于只用对需显示到界面的图形进行绘制,不用对不需显示到界面的图形进行绘制,因此可以减少一部分绘制指令的使用。而将相同的绘制指令合并,可以在执行一次绘制指令的情况下,得到多个相应的绘制数据,相对于相关技术中执行一次绘制指令,仅能得到一个绘制数据的方案,在需要得到相同数量的绘制数据时,本申请可以减少绘制指令的数量。其中,电子设备可以基于该绘制数据,将该绘制数据所对应的图形绘制到显示屏上。由上可知,本申请的方案可以减少绘制指令的使用数量,从而减少对CPU资源的占用。
请参阅图2,图2是本申请实施例提供的图形处理方法的第二种流程示意图,流程可以包括:
201、电子设备遍历节点树。
其中,电子设备可以预设生成节点树。例如,电子设备可以获取某应用程序,将该应用程序(例如该应用程序名)确定为根节点。随后,电子设备可以获取该应用程序的所有界面,将该应用程序的所有界面确定为界面节点。例如,假设该应用程序包括界面u1,界面u2和界面u3,电子设备可以将界面u1,界面u2和界面u3确定为界面节点,从而得到3个界面节点。接着,电子设备可以获取应用程序的所有界面所对应的图形(包括需显示到界面的图形,以及不显示到界面的图形),将应用程序的所有界面所对应的图形确定为图形节点。例如,以界面u1为例,假设界面u1对应有5个图形,电子设备可以将这5个图形确定为图形节点,得到5个图形节点。其中,界面u1为这5个图形节点的父节点,界面u1,界面u2和界面u3为同级节点,这5个图形节点也为同级节点。最后,电子设备可以根据该根节点、界面节点以及图形节点,生成节点树。
例如,电子设备所生成的节点树可以如图3所示。在该节点树中,应用程序m为根节点,界面u1和界面u2为界面节点,图形g1,图形g2,图形g3,图形g4,图形g5和图形g6为图形节点。在该节点树中,应用程序m为界面u1和界面u2的父节点,界面u1和界面u2为该应用程序m的子节点。界面u1为图形g1,图形g2和图形g3的父节点,图形g1,图形g2和图形g3为界面u1的子节点。界面u2为图形g4,图形g5和图形g6的父节点,图形g4,图形g5和图形g6为界面u2的子节点。界面u1和界面u2为同级节点,图形g1,图形g2,图形g3,图形g4,图形g5和图形g6为同级节点。
需要说明的是,图3仅为本申请实施例所提供的节点树的一种示例,并不用于限制本申请。
比如,电子设备可以遍历该节点树。
202、当所遍历的节点为需显示到界面的图形时,电子设备将该需显示到界面的图形确定为目标图形。
以界面为界面u1为例,假设该界面u1所对应的图形为g1,g2,g3,g4,g5,g6,g7和g8。其中,g1、g3、g4、g5、g7和g8为需显示到界面u1的图形,g2和g6为不显示到界面u1的图形。电子设备先遍历节点树,当所遍历的节点为图形g1时,电子设备可以将图形g1确定为目标图形。接着,电子设备继续进行遍历,当所遍历的节点为图形g2时,电子设备可以对该图形g2进行标识,以将该图形g2标识为不显示到界面的图形。当所遍历的节点为图形g3时,电子设备可以将图形g3确定为目标图形,以此类推,电子设备最终可得到目标图形g1、g3、g4、g5、g7和g8。
203、电子设备从目标图形中确定出第一图形,电子设备中未缓存第一图形对应的绘制数据。
比如,假设电子设备得到目标图形g1、g3、g4、g5、g7和g8,电子设备可以从这些目标图形中确定出第一图形。其中,电子设备中未缓存第一图形对应的绘制数据。也就是说,电子设备可以分别检测电子设备是否缓存有目标图形g1、g3、g4、g5、g7和g8分别对应的绘制数据。然后,将电子设备中未缓存有其对应的绘制数据所对应的目标图形确定为第一图形。例如,假设电子设备中预先缓存有目标图形g1和g5对应的绘制数据,未缓存目标图形g3、g4、g7和g8对应的绘制数据,那么电子设备可以将目标图形g3、g4、g7和g8确定为第一图形。
204、电子设备获取第一图形对应的绘制指令,该绘制指令用于绘制第一图形,以得到对应的绘制数据。
比如,假设电子设备得到第一图形g3、g4、g7和g8,电子设备可以获取第一图形g3对应的绘制指令s3。其中,该第一图形g3对应的绘制指令用于绘制该第一图形g3,以得到对应的绘制数据,即得到第一图形g3对应的绘制数据。电子设备还可以获取第一图形g4对应的绘制指令s4。其中,该第一图形g4对应的绘制指令用于绘制第一图形g4,以得到对应的绘制数据,即得到第一图形g4对应的绘制数据。以此类推,电子设备还可以获取第一图形g7对应的绘制指令s7和第一图形g8对应的绘制指令s8。
205、电子设备检测绘制指令中是否存在用于绘制相同的图形的绘制指令。
206、若绘制指令中存在用于绘制相同的图形的绘制指令,则电子设备将用于绘制相同的图形的绘制指令确定为相同的绘制指令。
比如,假设电子设备得到第一图形g3对应的绘制指令s3,第一图形g4对应的绘制指令s4,第一图形g7对应的绘制指令s7和第一图形g8对应的绘制指令s8。电子设备可以检测这些绘制指令中是否存在用于绘制相同的图形的绘制指令。也就是说,假设第一图形g7与第一图形g8相同,则电子设备检测到这些绘制指令中存在用于绘制相同的图形的绘制指令,即绘制指令s7和绘制指令s8为相同的绘制指令。
在一些实施例中,由于用于绘制不同的文字的绘制指令均相同,因此,对于用于绘制不同的文字的绘制指令,也可以进行合并。
207、电子设备将相同的绘制指令进行合并。
比如,假设电子设备得到第一图形g3对应的绘制指令s3,第一图形g4对应的绘制指令s4,第一图形g7对应的绘制指令s7和第一图形g8对应的绘制指令s8,且电子设备确定第一图形g7对应的绘制指令s7和第一图形g8对应的绘制指令s8为相同的绘制指令。那么,电子设备可以将绘制指令s7和绘制指令s8进行合并,即仅保留绘制指令s7或者绘制指令s8。从而最终电子设备所得到的绘制指令为绘制指令s3,绘制指令s4和绘制指令s7或者绘制指令s8。
208、电子设备获取第二图形对应的绘制数据,电子设备中预先缓存有第二图形对应的绘制数据,该第二图形为目标图形中除第一图形之外的图形。
比如,假设电子设备得到目标图形g1、g3、g4、g5、g7和g8,电子设备将目标图形g3、g4、g7和g8确定为第一图形,那么,电子设备可以将目标图形g1和g5确定为第二图形。其中,电子设备中预先缓存有第二图形对应的绘制数据。因此,电子设备可以获取该第二图形g1对应的绘制数据d1和第二图形g5对应的绘制数据d5。
209、电子设备根据合并后的绘制指令进行图形绘制,以得到第一图形对应的绘制数据。
比如,假设在将相同的绘制指令合并之后,电子设备最终得到第一图形g3对应的绘制指令s3,第一图形g4对应的绘制指令s4和第一图形g7对应的绘制指令s7。电子设备可以根据合并后的绘制指令,即绘制指令s7绘制第一图形g7,以得到第一图形g7对应的绘制数据d7。在本申请实施例中,由于第一图形g7与第一图形g8相同,因此,若要得到第一图形g8对应的绘制数据d8,电子设备可以不用再执行一次对应的绘制指令绘制第一图形g8,以得到对应的绘制数据d8,而是可以直接获取绘制数据d7,并将其确定为绘制数据d8。
接着,电子设备可以采用绘制指令s3绘制第一图形g3,以得到第一图形g3对应的绘制数据d3,还可以采用绘制指令s4绘制第一图形g4,以得到第一图形g4对应的绘制数据d4。
210、电子设备根据第一图形对应的绘制数据以及第二图形对应的绘制数据,进行界面的图形绘制。
比如,假设电子设备得到第一图形g3对应的绘制数据d3、第一图形g4对应的绘制数据d4、第一图形g7对应的绘制数据d7、第一图形g8对应的绘制数据d8、第二图形g1对应的绘制数据d1和第二图形g5对应的绘制数据d5。那么,电子设备便可以根据绘制数据d3,将第一图形g3绘制到电子设备的显示屏的对应位置上,且可以根据绘制数据d4,将第一图形g4绘制到电子设备的显示屏的对应位置上。以此类推,电子设备可以将第一图形g7、第一图形g8、第二图形g1和第二图形g5均绘制到电子设备的显示屏的对应位置上,从而最终在电子设备的显示屏上显示出应用程序m的界面u1。
在一些实施例中,在流程209之后,还可以包括:
电子设备检测第一图形中是否存在预设类型的图形。
若第一图形中存在预设类型的图形,则电子设备缓存预设类型的图形所对应的绘制数据。
比如,电子设备得到第一图形g3对应的绘制数据d3,第一图形g4对应的绘制数据d4,第一图形g7对应的绘制数据d7和第一图形g8对应的绘制数据d8之后,电子设备可以检测第一图形g3、第一图形g4、第一图形g7和第一图形g8中是否存在预设类型的图形。若第一图形g3、第一图形g4、第一图形g7和第一图形g8中存在预设类型的图形,则电子设备缓存预设类型的图形所对应的绘制数据。例如,假设第一图形g7为预设类型的图形,电子设备可以缓存第一图形g7对应的绘制数据d7。
在一些实施例中,该图形处理方法还可以包括:
电子设备获取应用程序的所有界面所对应的图形,其中,该目标应用程序的所有界面包括界面;
当应用程序的所有界面所对应的图形中存在相同的图形时,电子设备确定相同的图形的数量;
若所述数量大于预设数量,则电子设备将相同的图形确定为预设类型的图形。
例如,假设应用程序m包括界面u1,界面u2和界面u3,界面u1对应5个图形,界面u2对应6个图形,界面u3对应4个图形。电子设备则获取到15个图形。然后,电子设备可以检测这15个图形中是否存在相同的图形。若检测到这15个图形中存在相同的图形,则电子设备确定相同的图形的数量。例如,假设这15个图形中有5个图形均为圆形,有8个图形均为矩形,有1个图形为菱形,有1个图形为椭圆形,即电子设备可以确定圆形的数量为5,矩形的数量为8。假设预设数量为4,那么电子设备可以将圆形和矩形确定为预设类型的图形。其中,预设数量可以根据实际情况进行设置,此处不作具体限制。
请参阅图4,图4为本申请实施例提供的图形处理方法的场景示意图。
首先,用户可以点击应用程序m,以开启该应用程序m。在电子设备开启该应用程序m的过程中,电子设备需要触发执行对界面u1的图形绘制,以最终将界面u1输出到显示屏上。其中,该界面u1为该应用程序m的第一个界面。
当触发执行对界面u1的图形绘制之后,电子设备先获取该界面u1对应的图形g1、g2、g3、g4、g5、g6、g7和g8。然后,电子设备从该界面u1对应的图形中确定出需显示到界面u1的图形g1、g3、g4、g5、g7和g8和不显示到界面u1的图形g2和g6。
当确定出需显示到界面u1的图形g1、g3、g4、g5、g7和g8,即得到目标图形g1、g3、g4、g5、g7和g8之后,电子设备可以从目标图形g1、g3、g4、g5、g7和g8中确定出第一图形,其中,电子设备中未缓存该第一图形对应的绘制数据。也就是说,在目标图形g1、g3、g4、g5、g7和g8中,电子设备未缓存哪些目标图形对应的绘制数据,电子设备即将这些图形确定为第一图形。假设电子设备中预先缓存有目标图形g1和g5对应的绘制数据,未缓存目标图形g3、g4、g7和g8对应的绘制数据,因此,电子设备所确定的第一图形即为g3、g4、g7和g8。同时,电子设备也可以将目标图形g1和g5确定为第二图形,并获取第二图形g1对应的绘制数据d1和第二图形对应的绘制数据d2。
当得到第一图形g3、g4、g7和g8之后,电子设备可以获取第一图形g3、g4、g7和g8所分别对应的绘制指令s3、s4、s7和s8。其中,绘制指令s3用于绘制第一图形g3,以得到对应的绘制数据d3;绘制指令s4用于绘制第一图形g4,以得到对应的绘制数据d4;绘制指令s7用于绘制第一图形g7,以得到对应的绘制数据d7;绘制指令s8用于绘制第一图形g8,以得到对应的绘制数据d8。
当得到绘制指令s3、s4、s7和s8,电子设备可以将相同的绘制指令合并。例如,假设绘制指令s4、s7和s8为相同的绘制指令,那么电子设备则可以将绘制指令s4、s7和s8合并,即仅保留绘制指令s4、s7和s8中的其中一条指令。假设电子设备保留的绘制指令为s4。从而在合并之后,电子设备所最终得到的绘制指令为s3和s4。
接着,电子设备可以根据绘制指令s3和s4进行图形绘制,以得到第一图形对应的绘制数据。比如,电子设备可以采用绘制指令s3绘制第一图形g3,以得到第一图形g3对应的绘制数据d3。电子设备还可以采用绘制指令s4绘制第一图形g4,以得到第一图形g4对应的绘制数据d4。由于在本申请实施例中,正是由于第一图形g4、g7和g8为相同的图形,例如,第一图形g4、g7和g8可以同为矩形,因此,可以将绘制指令s4、s7和s8进行合并,即仅保留一条绘制指令s4。而也正是由于第一图形g4、g7和g8为相同的图形,因此第一图形g4对应的绘制数据d4即为第一图形g7对应的绘制数据d7和第一图形g8对应的绘制数据d8,因此,在得到绘制数据d4之后,电子设备可以获取该绘制数据d4,并将该绘制数据d4确定为绘制数据d7和绘制数据d8。
综上,电子设备即得到绘制数据d1、d3、d4、d5、d7和d8。那么,电子设备便可以执行对界面u1的图形绘制,将界面u1输出到显示屏上。即,电子设备可以根据绘制数据d1,将第一图形g1绘制到显示屏上,同时根据绘制数据d3、d4、d5、d7和d8,将第一图形g3、g4、g5、g7和g8绘制到显示屏上,从而最终形成并显示出界面u1。另外,在绘制完成之后,电子设备可以将对应的绘制指令清空。
在一些实施例中,为方便对绘制指令的获取,开发者在开发应用程序,如快游戏应用时,可以在H5游戏引擎中,增加一个中间层,针对图形绘制API(如:WebGL1.0、WebGL2.0、Canvas 2D API等)做一层封装。其中,该快游戏应用为不需安装即可使用的应用。
该中间层可以在API的基础上封装一些常见的图形(比如:精灵、矩形、圆形或字体等)指令模板,供游戏引擎直接调用。
另外,该中间层还可以根据快游戏应用中将会使用到的图形生成节点树。其中,该中间层还可以将该节点树中的图形分为常见图形和非常见图形。对于常见图形,若利用绘制指令绘制了该常见图形,得到了对应的绘制数据,可以缓存该绘制数据,若之后需将该常见图形绘制在显示屏上,则可以直接获取该绘制数据,以将该常见图形绘制在显示屏上,从而减少了对绘制指令的使用。对于非常见图形,则不会对其对应的绘制数据进行缓存,以节省存储器的存储空间。
请参阅图5,图5为本申请实施例提供的图形处理装置的结构示意图。该图形处理装置应用于电子设备,该图形处理装置包括:第一获取模块301,确定模块302,第二获取模块303,合并模块304,第三获取模块305以及绘制模块306。
第一获取模块301,用于获取目标图形,所述目标图形为需显示到界面的图形。
确定模块302,用于从所述目标图形中确定出第一图形,所述电子设备中未缓存所述第一图形对应的绘制数据。
第二获取模块303,用于获取所述第一图形对应的绘制指令,所述绘制指令用于绘制所述第一图形,以得到对应的绘制数据。
合并模块304,用于将所述绘制指令中相同的绘制指令进行合并。
第三获取模块305,用于获取第二图形对应的绘制数据,所述电子设备中预先缓存有所述第二图形对应的绘制数据,所述第二图形为所述目标图形中除所述第一图形之外的图形。
绘制模块306,用于根据合并后的绘制指令以及第二图形对应的绘制数据,进行界面的图形绘制。
在一些实施例中,该绘制模块306,可以用于:根据合并后的绘制指令进行图形绘制,以得到第一图形对应的绘制数据;根据第一图形对应的绘制数据以及第二图形对应的绘制数据,进行界面的图形绘制。
在一些实施例中,该绘制模块306,可以用于:检测所述第一图形中是否存在预设类型的图形;若所述第一图形中存在预设类型的图形,则缓存所述预设类型的图形所对应的绘制数据。
在一些实施例中,该绘制模块306,可以用于:获取应用程序的所有界面所对应的图形,其中,所述目标应用程序的所有界面包括所述界面;当所述应用程序的所有界面所对应的图形中存在相同的图形时,确定相同的图形的数量;若所述数量大于预设数量,则将所述相同的图形确定为预设类型的图形。
在一些实施例中,该合并模块304,可以用于:检测所述绘制指令中是否存在用于绘制相同的图形的绘制指令;若所述绘制指令中存在用于绘制相同的图形的绘制指令,则将用于绘制相同的图形的绘制指令确定为相同的绘制指令;将所述相同的绘制指令进行合并。
在一些实施例中,该第一获取模块301,可以用于:遍历节点树;当所遍历的节点为需显示到界面的图形时,将所述需显示到界面的图形确定为目标图形。
在一些实施例中,该第一获取模块301,可以用于:获取应用程序,将所述应用程序确定为根节点;获取应用程序的所有界面,将所述应用程序的所有界面确定为界面节点,其中,所述目标应用程序的所有界面包括所述界面;获取应用程序的所有界面所对应的图形,将应用程序的所有界面所对应的图形确定为图形节点;根据所述根节点、所述界面节点以及所述图形节点,生成节点树。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的图形处理方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的图形处理方法中的流程。
例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图6,图6为本申请实施例提供的电子设备的结构示意图。
该电子设备400可以包括存储器401、处理器402、显示屏403等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器401可用于存储应用程序和数据。存储器401存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器402通过运行存储在存储器401的应用程序,从而执行各种功能应用以及数据处理。
处理器402是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器401内的应用程序,以及调用存储在存储器401内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
在本实施例中,电子设备中的处理器402会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器401中,并由处理器402来运行存储在存储器401中的应用程序,从而实现流程:
获取目标图形,所述目标图形为需显示到界面的图形;
从所述目标图形中确定出第一图形,所述电子设备中未缓存所述第一图形对应的绘制数据;
获取所述第一图形对应的绘制指令,所述绘制指令用于绘制所述第一图形,以得到对应的绘制数据;
将所述绘制指令中相同的绘制指令进行合并;
获取第二图形对应的绘制数据,所述电子设备中预先缓存有所述第二图形对应的绘制数据,所述第二图形为所述目标图形中除所述第一图形之外的图形;
根据合并后的绘制指令以及第二图形对应的绘制数据,进行界面的图形绘制。
请参阅图7,电子设备500可以包括存储器501、处理器502、显示屏503、输入单元504、输出单元505等部件。
存储器501可用于存储应用程序和数据。存储器501存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器502通过运行存储在存储器501的应用程序,从而执行各种功能应用以及数据处理。
处理器502是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器501内的应用程序,以及调用存储在存储器501内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
显示屏503可以用于显示文字、图片等信息。
输入单元504可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
输出单元505可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。输出单元可包括显示面板。
在本实施例中,电子设备中的处理器502会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器501中,并由处理器502来运行存储在存储器501中的应用程序,从而实现流程:
获取目标图形,所述目标图形为需显示到界面的图形;
从所述目标图形中确定出第一图形,所述电子设备中未缓存所述第一图形对应的绘制数据;
获取所述第一图形对应的绘制指令,所述绘制指令用于绘制所述第一图形,以得到对应的绘制数据;
将所述绘制指令中相同的绘制指令进行合并;
获取第二图形对应的绘制数据,所述电子设备中预先缓存有所述第二图形对应的绘制数据,所述第二图形为所述目标图形中除所述第一图形之外的图形;
根据合并后的绘制指令以及第二图形对应的绘制数据,进行界面的图形绘制。
在一些实施方式中,处理器502执行根据合并后的绘制指令以及第二图形对应的绘制数据,进行界面的图形绘制时,可以执行:根据合并后的绘制指令进行图形绘制,以得到第一图形对应的绘制数据;根据第一图形对应的绘制数据以及第二图形对应的绘制数据,进行界面的图形绘制。
在一些实施方式中,处理器502执行合并所述多个原始数据,得到目标数据时,可以执行:合并所述多个原始数据;在每两个相邻的原始数据之间插入第一数据,得到目标数据。
在一些实施方式中,处理器502执行根据合并后的绘制指令进行图形绘制,以得到第一图形对应的绘制数据之后,还可以执行:检测所述第一图形中是否存在预设类型的图形;若所述第一图形中存在预设类型的图形,则缓存所述预设类型的图形所对应的绘制数据。
在一些实施方式中,处理器502还可以执行:获取应用程序的所有界面所对应的图形,其中,所述目标应用程序的所有界面包括所述界面;当所述应用程序的所有界面所对应的图形中存在相同的图形时,确定相同的图形的数量;若所述数量大于预设数量,则将所述相同的图形确定为预设类型的图形。
在一些实施方式中,处理器502执行将所述绘制指令中相同的绘制指令进行合并时,可以执行:检测所述绘制指令中是否存在用于绘制相同的图形的绘制指令;若所述绘制指令中存在用于绘制相同的图形的绘制指令,则将用于绘制相同的图形的绘制指令确定为相同的绘制指令;将所述相同的绘制指令进行合并。
在一些实施方式中,处理器502执行获取目标图形,所述目标图形为需显示到界面的图形时,可以执行:遍历节点树;当所遍历的节点为需显示到界面的图形时,将所述需显示到界面的图形确定为目标图形。
在一些实施方式中,处理器502执行遍历节点树之前,还可以执行:获取应用程序,将所述应用程序确定为根节点;获取应用程序的所有界面,将所述应用程序的所有界面确定为界面节点,其中,所述目标应用程序的所有界面包括所述界面;获取应用程序的所有界面所对应的图形,将应用程序的所有界面所对应的图形确定为图形节点;根据所述根节点、所述界面节点以及所述图形节点,生成节点树。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图形处理方法的详细描述,此处不再赘述。
本申请实施例提供的所述图形处理装置与上文实施例中的图形处理方法属于同一构思,在所述图形处理装置上可以运行所述图形处理方法实施例中提供的任一方法,其具体实现过程详见所述图形处理方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述图形处理方法而言,本领域普通技术人员可以理解实现本申请实施例所述图形处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述图形处理方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述图形处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种图形处理方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种图形处理方法,应用于电子设备,其特征在于,包括:
获取目标图形,所述目标图形为需显示到界面的图形;
从所述目标图形中确定出第一图形,所述电子设备中未缓存所述第一图形对应的绘制数据;
获取所述第一图形对应的绘制指令,所述绘制指令用于绘制所述第一图形,以得到对应的绘制数据;
将所述绘制指令中用于绘制相同的图形的绘制指令进行合并;
根据合并后的绘制指令进行图形绘制,以得到第一图形对应的绘制数据,其中,所述合并后的绘制指令的数量小于第一图形对应的绘制数据的数量;
获取第二图形对应的绘制数据,所述电子设备中预先缓存有所述第二图形对应的绘制数据,所述第二图形为所述目标图形中除所述第一图形之外的图形;
根据第一图形对应的绘制数据以及第二图形对应的绘制数据,进行界面的图形绘制。
2.根据权利要求1所述的图形处理方法,其特征在于,在所述根据合并后的绘制指令进行图形绘制,以得到第一图形对应的绘制数据之后,还包括:
检测所述第一图形中是否存在预设类型的图形;
若所述第一图形中存在预设类型的图形,则缓存所述预设类型的图形所对应的绘制数据。
3.根据权利要求2所述的图形处理方法,其特征在于,所述方法还包括:
获取应用程序的所有界面所对应的图形,其中,所述应用程序的所有界面包括所述界面;
当所述应用程序的所有界面所对应的图形中存在相同的图形时,确定相同的图形的数量;
若所述数量大于预设数量,则将所述相同的图形确定为预设类型的图形。
4.根据权利要求1所述的图形处理方法,其特征在于,所述将所述绘制指令中相同的绘制指令进行合并,包括:
检测所述绘制指令中是否存在用于绘制相同的图形的绘制指令;
若所述绘制指令中存在用于绘制相同的图形的绘制指令,则将用于绘制相同的图形的绘制指令确定为相同的绘制指令;
将所述相同的绘制指令进行合并。
5.根据权利要求1所述的图形处理方法,其特征在于,所述获取目标图形,所述目标图形为需显示到界面的图形,包括:
遍历节点树;
当所遍历的节点为需显示到界面的图形时,将所述需显示到界面的图形确定为目标图形。
6.根据权利要求5所述的图形处理方法,其特征在于,在所述遍历节点树之前,还包括:
获取应用程序,将所述应用程序确定为根节点;
获取应用程序的所有界面,将所述应用程序的所有界面确定为界面节点,其中,所述应用程序的所有界面包括所述界面;
获取应用程序的所有界面所对应的图形,将应用程序的所有界面所对应的图形确定为图形节点;
根据所述根节点、所述界面节点以及所述图形节点,生成节点树。
7.一种图形处理装置,应用于电子设备,其特征在于,包括:
第一获取模块,用于获取目标图形,所述目标图形为需显示到界面的图形;
确定模块,用于从所述目标图形中确定出第一图形,所述电子设备中未缓存所述第一图形对应的绘制数据;
第二获取模块,用于获取所述第一图形对应的绘制指令,所述绘制指令用于绘制所述第一图形,以得到对应的绘制数据;
合并模块,用于将所述绘制指令中用于绘制相同的图形的绘制指令进行合并,根据合并后的绘制指令进行图形绘制,以得到第一图形对应的绘制数据,其中,所述合并后的绘制指令的数量小于第一图形对应的绘制数据的数量;
第三获取模块,用于获取第二图形对应的绘制数据,所述电子设备中预先缓存有所述第二图形对应的绘制数据,所述第二图形为所述目标图形中除所述第一图形之外的图形;
绘制模块,用于根据第一图形对应的绘制数据以及第二图形对应的绘制数据,进行界面的图形绘制。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1至6任一项所述的图形处理方法。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求1至6任一项所述的图形处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910722192.XA CN110471700B (zh) | 2019-08-06 | 2019-08-06 | 图形处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910722192.XA CN110471700B (zh) | 2019-08-06 | 2019-08-06 | 图形处理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471700A CN110471700A (zh) | 2019-11-19 |
CN110471700B true CN110471700B (zh) | 2021-06-29 |
Family
ID=68510247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910722192.XA Active CN110471700B (zh) | 2019-08-06 | 2019-08-06 | 图形处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471700B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113838167A (zh) * | 2020-06-22 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 用于生成动画的方法和装置 |
CN112288756B (zh) * | 2020-12-28 | 2021-04-30 | 湖南新云网科技有限公司 | 一种图形分割方法、装置、电子设备及可读存储介质 |
CN114979749B (zh) * | 2022-06-23 | 2024-03-22 | 深圳创维-Rgb电子有限公司 | 图形界面绘制方法、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226805A (zh) * | 2011-12-20 | 2013-07-31 | Arm有限公司 | 图形处理装置中的中间值存储 |
CN106296785A (zh) * | 2016-08-09 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种图片渲染方法及图片渲染设备 |
WO2019086765A1 (en) * | 2017-11-06 | 2019-05-09 | Basemark Oy | Combined rendering and compute resource allocation management system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050246650A1 (en) * | 2004-04-30 | 2005-11-03 | Yeung Simon D | User interfaces for displaying content and methods of using the same |
CN100451956C (zh) * | 2006-05-24 | 2009-01-14 | 北京壁虎科技有限公司 | 基于绘图引擎的屏幕显示方法 |
CN102508654B (zh) * | 2011-10-11 | 2014-07-02 | 江苏科技大学 | 嵌入式可编程控制器的梯形图编辑器设计方法 |
CN102591580B (zh) * | 2012-01-06 | 2015-04-29 | 广东威创视讯科技股份有限公司 | 一种视图对象刷新方法及视图对象刷新系统 |
US9052199B2 (en) * | 2013-03-15 | 2015-06-09 | Google Inc. | System and method for indicating user location and facing direction on a digital map |
US9665975B2 (en) * | 2014-08-22 | 2017-05-30 | Qualcomm Incorporated | Shader program execution techniques for use in graphics processing |
CN109669673A (zh) * | 2017-10-12 | 2019-04-23 | 世熠网络科技(上海)有限公司 | 基于html5的游戏引擎装置 |
CN109636875B (zh) * | 2018-12-18 | 2023-09-08 | 深圳市沃特沃德信息有限公司 | 图形绘制方法、装置以及存储介质 |
-
2019
- 2019-08-06 CN CN201910722192.XA patent/CN110471700B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226805A (zh) * | 2011-12-20 | 2013-07-31 | Arm有限公司 | 图形处理装置中的中间值存储 |
CN106296785A (zh) * | 2016-08-09 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种图片渲染方法及图片渲染设备 |
WO2019086765A1 (en) * | 2017-11-06 | 2019-05-09 | Basemark Oy | Combined rendering and compute resource allocation management system |
Non-Patent Citations (2)
Title |
---|
Composable Locality Optimizations for Accelerating Parallel Forest Computations;G. Cong;《2016 IEEE 18th International Conference on High Performance Computing and Communications》;20170126;190-197 * |
基于GPU动态误差度量的大规模地形绘制方法;葛子厚;《中国博士学位论文全文数据库 信息科技辑》;20121015(第 10 期);I138-59 * |
Also Published As
Publication number | Publication date |
---|---|
CN110471700A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220253588A1 (en) | Page processing method and related apparatus | |
CN110471700B (zh) | 图形处理方法、装置、存储介质及电子设备 | |
CN109165364B (zh) | 一种页面渲染方法、装置、设备和存储介质 | |
CN110750664B (zh) | 图片的显示方法及装置 | |
CN110471701B (zh) | 图像渲染的方法、装置、存储介质及电子设备 | |
CN108984089B (zh) | 触控操作方法、装置、存储介质及电子设备 | |
CN110020300B (zh) | 一种浏览器页面合成方法及终端 | |
CN112579187A (zh) | 一种应用程序冷启动的优化方法及装置 | |
CN111367518A (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
KR20150106846A (ko) | 표시 장치에서의 그래픽 렌더링 및 그와 관련된 개선 | |
CN107122104B (zh) | 数据显示方法及装置 | |
CN110727383B (zh) | 基于小程序的触控交互方法、装置、电子设备与存储介质 | |
CN110443880B (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
CN111460342B (zh) | 页面的渲染展示方法、装置、电子设备及计算机存储介质 | |
CN112581589A (zh) | 一种视图列表布局方法、装置、设备及存储介质 | |
CN107615229B (zh) | 用户界面装置和用户界面装置的画面显示方法 | |
CN115033226A (zh) | 页面显示方法、装置、终端设备及计算机可读存储介质 | |
CN115501588A (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
CN111913711B (zh) | 视频渲染方法和装置 | |
CN106548501B (zh) | 一种图像绘制方法及设备 | |
CN111292392A (zh) | 基于unity的图像显示方法、装置、设备及介质 | |
JP5842029B2 (ja) | 画像データをキャッシュする情報処理支援装置、情報処理装置及び情報処理支援プログラム | |
US20190163762A1 (en) | Reflow of user interface elements | |
CN113779466B (zh) | 一种页面显示方法、装置、存储介质及电子设备 | |
JP4715435B2 (ja) | グラフィカルユーザインタフェース表示情報作成システムおよびプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |