
技术摘要:
一种图形绘制方法和电子设备。该方法包括:电子设备在显示第一图形时,检测到用户输入事件;基于该输入事件产生图形绘制指令,图形绘制指令中包括目标图形的绘制元素;基于目标图形的绘制元素,绘制目标图形时,对第一图形中需要重新渲染的第一区域重新渲染;将经过重 全部
背景技术:
目前,电子设备都设置有显示屏,显示屏上可以显示各种图形用户界面 (graphical user interface,GUI)。以手机为例,请参见图1所示,为手机的一个GUI的示意 图。通常,一个GUI是由手机经过一系列的图形绘制流程,绘制得到的图形。 现有技术中,手机的图形绘制流程如下: 由于一个GUI上不同区域的显示内容不同,所以,手机可以先绘制各个区域的轮 廓,然后在各个轮廓中填充图片(即纹理渲染过程),得的各个区域的图形,然后将各个区域 的图像合成一个GUI。以图1所示的GUI为例,且以图1中电话应用所在区域为例,手机可以绘 制电话应用的图标所在区域的轮廓,然后在该轮廓中填充电话应用的图片,得到电话应用 的图标。对于其他应用的图标,也是类似的方式。手机得到各个应用的图标后,将各个应用 的图标和背景图像合成一个GUI,显示该GUI。 通过以上描述可知,GUI中一个区域的图形绘制过程包括绘制轮廓以及填充纹理, 通常,一个GUI中的显示内容较多,按照现有技术的图形绘制流程,过程较为繁琐,效率较 低。
技术实现要素:
本申请实施例提供一种图形绘制方法和电子设备,有助于提高电子设备的图形绘 制效率。 第一方面,本申请实施例提供一种图形绘制方法,该方法可由具有显示屏的电子 设备(比如,手机、pad、笔记本电脑等)执行。该方法包括:电子设备在显示第一图形时,检测 到用户输入事件;基于所述输入事件产生图形绘制指令,所述图形绘制指令中包括目标图 形的绘制元素;基于所述目标图形的绘制元素,绘制所述目标图形时,对所述第一图形中需 要重新渲染的第一区域重新渲染;将经过重新纹理渲染后的第一区域第二区域合成得到所 述目标图形;所述第二区域是所述第一图形上不需要重新渲染的区域;显示所述目标图形。 在本申请实施例中,电子设备在显示第一图形时,若要更新图形,可以仅对第一图 形上需要重新渲染的第一区域进行重新渲染,而无需重新渲染第二区域即第一图形不需要 重新渲染的区域,有助于节省工作量,提升图形绘制效率。 在一种可能的设计中,所述图形绘制指令中包括所述第一区域的绘制元素,不包 括所述第二区域的绘制元素。 在本申请实施例中,电子设备显示第一图形时,检测到输入事件后,基于该输入事 件产生的图形绘制指令中可以只包括需要重新渲染的第一区域的绘制元素,这样的话,电 子设备可以仅对第一图形上需要重新渲染的第一区域进行重新渲染,而无需重新渲染其它 区域即第一图形不需要重新渲染的第二区域,有助于节省工作量,提升图形绘制效率。 5 CN 111611031 A 说 明 书 2/18 页 在一种可能的设计中,所述图形绘制指令中包括目标图形上所有区域中每个区域 对应的绘制元素;在对所述第一图形中需要重新渲染的第一区域重新渲染之前,电子设备 还根据所述目标图形的图形绘制指令和所述第一图形的图形绘制指令,确定所述第一区 域;所述第一图形的图形绘制指令中包括所述第一图形中所有区域每个区域的绘制元素。 在本申请实施例中,电子设备可以根据目标图形的图形绘制指令和第一图形的图 形绘制指令,确定需要重新渲染的第一区域,然后电子设备可以仅对第一图形上的第一区 域进行重新渲染,而无需重新渲染其它区域即第一图形不需要重新渲染的第二区域,有助 于节省工作量,提升图形绘制效率。 在一种可能的设计中,在绘制所述目标图形之前,电子设备将所述第一图形上所 述第一区域的区域标识设置为第一标识,并将所述第一图形上所述第二区域的区域标识设 置为第二标识;所述第一标识用于指示所述第一区域需要重新渲染,所述第二标识用于指 示所述第二区域不需要重新渲染;对所述第一图形中需要重新渲染的第一区域重新渲染, 包括:对区域标识为第一标识的区域重新渲染。 在本申请实施例中,图形上每个区域对应有区域标识,电子设备可以为第一图形 上需要重新渲染的第一区域和不需要重新渲染的第二区域分别设置不同的区域标识,比 如,电子设备将第一区域的区域标识设置为1,将第二区域的区域标识设置为0,这样的话, 电子设备进行渲染时,可以仅重新渲染区域标识为1的区域,不渲染区域标识为0的区域。通 过这种方式,有助于节省工作量,提升效率。 在一种可能的设计中,所述图形绘制指令中包括所述第一区域的绘制元素,所述 绘制元素中包括所述第一区域对应的第一纹理标识,对所述第一图形中需要重新渲染的第 一区域重新渲染,包括:基于纹理标识和纹理之间的对应关系,确定与所述第一纹理标识对 应的第一纹理;基于所述第一纹理,对所述第一区域重新渲染。 在本申请实施例中,每个纹理设置有纹理标识,电子设备产生的图形绘制指令中 包括第一区域对应的第一纹理标识,电子设备对第一区域重新渲染时,可以根据第一纹理 标识对应的第一纹理对第一区域重新渲染。通过这种方式,电子设备可以仅对第一图形上 需要重新渲染的第一区域进行重新渲染,而无需重新渲染第二区域即第一图形不需要重新 渲染的区域,有助于节省工作量,提升图形绘制效率。 在一种可能的设计中,所述对所述第一区域重新渲染之前,所述方法还包括:判断 所述第一区域和其它区域之间的图层关系;所述其它区域为所述目标图形上除去所述第一 区域之外的其它区域;所述对所述第一区域重新渲染具体为:当所述图层关系指示所述第 一区域位于所述其它区域的上层时,对所述第一区域重新渲染。 在本申请实施例中,当目标图形上第一区域在其他区域的上层时,电子设备可以 对第一区域重新渲染,若第一区域在其他区域的下层,电子设备可以无需对第一区域重新 渲染,有助于节省工作量,提升效果。 在一种可能的设计中,绘制元素包括每个区域的显示位置、尺寸、形状、显示内容 中的一种或多种。 应理解,上述几种仅是绘制元素的举例,本申请实施例对此不作限定。 第二方面,本申请实施例还提供一种电子设备,所述电子设备,包括显示屏,存储 器,一个或多个处理器,多个应用程序,以及一个或多个程序;其中所述一个或多个程序被 6 CN 111611031 A 说 明 书 3/18 页 存储在所述存储器中;所述一个或多个处理器在执行所述一个或多个程序时,使得所述电 子设备实现如上述第一方面提供的图形绘制方法。 第三方面,本申请实施例还提供一种电子设备,该电子设备中包括能够实现上述 第一方面的可能实现方式中电子设备行为的功能模块;这些功能模块可以通过硬件实现, 也可以通过硬件执行相应的软件实现。 第四方面,本申请实施例还提供一种计算机存储介质,包括计算机指令,当所述计 算机指令在电子设备上运行时,使得所述电子设备执行上述第一方面提供的图形绘制方 法。 第五方面,本申请实施例还提供一种程序产品,当所述程序产品在计算机上运行 时,使得所述计算机执行上述第一方面提供的图形绘制方法。 附图说明 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使 用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。 图1为本申请实施例提供的一用户图形界面的示意图; 图2为本申请实施例提供的一种图形绘制指令的示意图; 图3为本申请实施例提供的一种view树的示意图; 图4为本申请实施例提供的手机100的硬件结构示意图; 图5为现有技术中图形绘制流程的示意图; 图6为本申请实施例提供的用户图形界面的示意图; 图7为本申请实施例提供的一种view的示意图; 图8为本申请实施例提供的软件架构的示意图; 图9为本申请实施例提供的图形绘制方法的流程示意图; 图10为本申请实施例提供的view树、displaylist树的结构示意图; 图11为本申请实施例提供的纹理树的结构示意图; 图12为本申请实施例提供的图形绘制方法的流程示意图。