[发明专利]一种用户界面渲染的方法及装置有效
| 申请号: | 201710755049.1 | 申请日: | 2017-08-29 |
| 公开(公告)号: | CN107729094B | 公开(公告)日: | 2020-12-29 |
| 发明(设计)人: | 李沛;杨朝楷 | 申请(专利权)人: | 口碑(上海)信息技术有限公司 |
| 主分类号: | G06F9/451 | 分类号: | G06F9/451 |
| 代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;窦晓慧 |
| 地址: | 200135 上海市浦东新区自由*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用户界面 渲染 方法 装置 | ||
1.一种用户界面渲染的方法,其特征在于,包括:
基于主线程触发针对待渲染对象的用户界面渲染;
从所述主线程切换至子线程,通过所述子线程绘制所述待渲染对象对应的位图,其中,所述待渲染对象对应的位图根据所述待渲染对象的视图层级树中节点的光栅化结果进行绘制,针对所述视图层级树中的节点进行光栅化处理是基于所述视图层级树中的节点对应的节点属性实现的,所述节点属性包括:光栅化属性和非光栅化属性;如果所述节点的节点属性为光栅化属性,则所述节点能够与所述视图层级树中的其他节点进行光栅化;如果所述节点的节点属性为非光栅化属性,则所述节点不能与其他节点进行光栅化;
回调所述主线程,将绘制好的位图应用到所述待渲染对象的显示内容当中;
根据所述待渲染对象的显示内容渲染用户界面。
2.根据权利要求1所述的用户界面渲染的方法,其特征在于,所述从所述主线程切换至子线程,通过所述子线程绘制所述待渲染对象对应的位图步骤执行前,执行下述步骤:
确定所述待渲染对象的视图层级树;
对所述视图层级树中的节点进行光栅化。
3.根据权利要求2所述的用户界面渲染的方法,其特征在于,包括:
根据所述待渲染对象的属性信息确定所述视图层级树中节点的节点属性;
所述视图层级树中的节点包括:光栅化根节点、光栅化子节点和非光栅化节点。
4.根据权利要求3所述的用户界面渲染的方法,其特征在于,所述光栅化根节点设置有状态标识,所述状态标识包括:
允许与光栅化子节点进行光栅化的第一状态标识,以及不允许与光栅化子节点进行光栅化的第二状态标识。
5.根据权利要求4所述的用户界面渲染的方法,其特征在于,所述对所述视图层级树中的节点进行光栅化,采用如下方式实现:
采用深度优先的规则遍历所述视图层级树中的节点,每遍历一个节点,针对遍历的节点执行如下操作:
在所述视图层级树中查找所述节点的祖先节点;
判断查找到的祖先节点中是否存在光栅化根节点或者非光栅化节点,若存在,在所述祖先节点中存在的光栅化根节点或者非光栅化节点中选择其所在层级与所述节点所在层级最近的光栅化根节点或者非光栅化节点作为候选节点;
判断所述节点的节点属性是否为光栅化属性,若是,判断所述候选节点是否为光栅化根节点且所述候选节点的状态标识是否为所述第一状态标识,若是,将所述节点合并到所述候选节点上。
6.根据权利要求5所述的用户界面渲染的方法,其特征在于,若所述判断查找到的祖先节点中是否存在光栅化根节点或者非光栅化节点子步骤的判断结果为否,执行如下操作:
判断所述节点的节点属性是否为光栅化属性,若是,将所述节点作为光栅化根节点,并将所述节点的状态标识设为所述第一状态标识。
7.根据权利要求5所述的用户界面渲染的方法,其特征在于,若所述判断所述节点的节点属性是否为光栅化属性子步骤的判断结果为否,执行如下操作:
将所述候选节点设为所述节点的父节点;
判断所述候选节点是否为光栅化根节点,若是,则将所述候选节点的状态标识标记为所述第二状态标识。
8.根据权利要求5所述的用户界面渲染的方法,其特征在于,若所述判断所述候选节点是否为光栅化根节点且所述候选节点的状态标识是否为所述第一状态标识子步骤的判断结果为否,执行如下操作:
将所述候选节点设为所述节点的父节点。
9.根据权利要求5所述的用户界面渲染的方法,其特征在于,包括:
判断所述视图层级树中的节点是否遍历完毕,若否,执行所述采用深度优先的规则遍历所述视图层级树中的节点子步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于口碑(上海)信息技术有限公司,未经口碑(上海)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710755049.1/1.html,转载请声明来源钻瓜专利网。





