[发明专利]渲染方法及装置在审
申请号: | 202110020882.8 | 申请日: | 2021-01-08 |
公开(公告)号: | CN112346811A | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 崔宝秋;吴华;江海 | 申请(专利权)人: | 北京小米移动软件有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 北京法胜知识产权代理有限公司 11922 | 代理人: | 戎郑华 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 渲染 方法 装置 | ||
本公开关于一种渲染方法,包括:获取待渲染页面的多个元素;从所述多个元素之中提取需符合目标渲染结果的第一至第N元素,其中,N为大于1的正整数;将所述第一元素至第N元素的渲染指令归入至第一渲染图层至第N渲染图层对应的指令集;设置所述第一渲染图层至所述第N渲染图层之间的渲染顺序;根据所述第一渲染图层至所述第N渲染图层的渲染顺序对所述待渲染页面进行渲染。在本公开的实施例之中,在进行渲染之前,根据设计需要,变更第一元素至第N元素的渲染顺序,从而使得一次渲染就可以达到预设的效果。例如,通过一次渲染,就可以实现第一元素至第N元素相互叠加的叠加效果,有效地减少了渲染次数。
技术领域
本公开涉及页面技术领域,尤其涉及一种渲染方法及装置,电子设备以及存储介质。
背景技术
目前,随着页面技术的不断发展,页面的设计越来越复杂。目前的页面渲染是根据布局树,将布局树之上的节点依次生成相应的布局元素并按照节点渲染优先级入栈,对栈内的元素一次渲染,从而完成最终的页面渲染。
然而,由于在实际的设计时,会出现前一个操作项叠加到下一个操作项的情况。对于相关技术而言,由于当前操作项是在前一个操作项渲染之后进行渲染的,因此如果要实现叠加效果,则需要重新对前一个操作项和当前操作项调整之后,再次渲染,增加了渲染流程的复杂度。例如,元素B的节点优先级高于元素C的节点优先级,但是想要的绘制效果是元素B部分覆盖元素C。如图1a-1b所示,为相关技术之中渲染示意图。在相关技术之中,页面100之中包括元素B和元素C。按照相关技术,优先渲染元素B,之后再渲染元素C,最终生成图1a的效果。由于元素C晚于元素B渲染,因此按照顺序渲染之后会形成元素C部分地覆盖元素B的效果。此时为了实现元素B覆盖元素C的效果,如图1b所示,就需要在全部节点渲染完之后,再重新渲染一次,导致渲染流程非常复杂。特别是对于多个元素之间相互叠加时,将会导致渲染流程更为复杂,重复渲染的次数显著增加。
发明内容
本公开提供一种渲染方法及装置,以及存储介质,以至少解决相关技术中渲染流程复杂的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种渲染方法,包括:获取待渲染页面的多个元素;从所述多个元素之中提取需符合目标渲染结果的第一至第N元素,其中,N为大于1的正整数;将所述第一元素至第N元素的渲染指令归入至第一渲染图层至第N渲染图层对应的指令集;设置所述第一渲染图层至所述第N渲染图层之间的渲染顺序;根据所述第一渲染图层至所述第N渲染图层的渲染顺序对所述待渲染页面进行渲染。
在本公开的一个实施例之中,所述第一至第N元素包括第一元素和第二元素,且所述第一元素和所述第二元素对应第一渲染图层和第二渲染图层,所述根据所述第一渲染图层至所述第N渲染图层的渲染顺序对所述待渲染页面进行渲染,包括:将所述多个元素之中的其他元素进行合并,以生成合并元素;将所述合并元素的渲染指令归入至合并渲染图层对应的指令集;设置所述第一渲染图层、所述第二渲染图层和所述合并渲染图层之间的渲染顺序;根据所述第一渲染图层、所述第二渲染图层和所述合并渲染图层的渲染顺序对所述待渲染页面进行渲染。
在本公开的一个实施例之中,所述目标渲染结果为所述第一元素部分覆盖所述第二元素,其中,所述第一元素的渲染顺序优先于所述第二元素的渲染顺序。
在本公开的一个实施例之中,所述变更所述第一渲染图层和所述第二渲染图层的渲染顺序,包括:设置所述第二渲染图层的渲染顺序优于所述第一渲染图层的渲染顺序。
根据本公开实施例的第二方面,还提供一种渲染装置,包括:元素获取模块,用于获取待渲染页面对应渲染树的多个元素;提取模块,用于从所述多个元素之中提取目标渲染结果的第一元素至第N元素,其中,N为大于1的正整数;渲染图层生成模块,用于分别将所述第一元素至第N元素的渲染指令归入至第一渲染图层至第N渲染图层对应的指令集;渲染顺序设置模块,用于设置所述第一渲染图层至所述第N渲染图层的渲染顺序;渲染模块,用于根据所述第一渲染图层至所述第N渲染图层的渲染顺序对所述待渲染页面进行渲染。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米移动软件有限公司,未经北京小米移动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110020882.8/2.html,转载请声明来源钻瓜专利网。