[发明专利]一种基于虚拟树的排版方法及排版引擎在审
申请号: | 202111184054.4 | 申请日: | 2021-10-11 |
公开(公告)号: | CN114003841A | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 陈俊尹 | 申请(专利权)人: | 浙江安正科技股份有限公司 |
主分类号: | G06F16/958 | 分类号: | G06F16/958;G06F16/23 |
代理公司: | 杭州快知知识产权代理事务所(特殊普通合伙) 33293 | 代理人: | 杨冬玲 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 虚拟 排版 方法 引擎 | ||
本申请提供了一种基于虚拟树的排版方法及排版引擎,应用于用户页面编辑排版领域,包括:获取用户页面原子组件的编辑指令;预设第一虚拟树,当所述编辑指令触发状态机内容改变时,所述第一虚拟树进行更新,得到第二虚拟树;根据对比分析法将所述第一虚拟树和第二虚拟树进行差异比较,将比较结果进行标记,得到第一数据;根据分治算法对所述第一数据进行计算,得到第二数据;根据四阶矩阵算法对所述第二数据进行计算,得到第三数据;通过页面渲染引擎按照所述第三数据对所述原子组件进行渲染,得到渲染后的页面,完成用户页面的排版。本申请通过使用虚拟树的技术,简化了渲染的流程,提高了排版引擎的渲染速度,提升了兼容性和效率。
技术领域
本发明涉及用户页面编辑排版领域,尤其涉及一种基于虚拟树的排版方法及排版引擎。
背景技术
随着用户图形界面的兴起,人们对内容编辑的不满足于纯文本,还需要对内容增加各种格式和排版等信息。在特定领域,对内容排版的样式有各自不同的自定义需求,使用Word、WPS等内容编辑方式难以集成现有系统中和实现跨平台使用,兼容性较差。
现有技术中,有的使用基于HTML和CSS进行渲染,但是在兼容多平台、多版本的不同浏览器时,在多端难以做到渲染一致性,兼容性不高;有的基于Canvas2D的排版引擎进行渲染,但是在渲染图片内容尺寸较大和排版内容复杂的场景下,渲染性能较差;有的基于WebGL的排版引擎进行渲染,性能较高,但是实现难度大,渲染流程繁琐,WebGL上下文与Javascript执行上下文交互步骤繁琐,速度慢,效率不高。
发明内容
本申请提供了一种基于虚拟树的排版方法及排版引擎,旨在解决现有技术中渲染性能较差,兼容性不高,渲染流程复杂,速度慢,效率不高的问题。
为了实现上述目的,本发明采用以下技术方案:
一种基于虚拟树的排版方法,包括:
获取用户页面原子组件的编辑指令;
预设第一虚拟树,当所述编辑指令触发状态机内容改变时,所述第一虚拟树进行更新,得到第二虚拟树;
根据对比分析法将所述第一虚拟树和第二虚拟树进行差异比较,将比较结果进行标记,得到第一数据;
根据分治算法对所述第一数据进行计算,得到第二数据;
根据四阶矩阵算法对所述第二数据进行计算,得到第三数据;
通过页面渲染引擎按照所述第三数据对所述原子组件进行渲染,得到渲染后的页面,完成用户页面的排版。
作为优选,所述预设第一虚拟树,当所述编辑指令触发状态机内容改变时,所述第一虚拟树进行更新,得到第二虚拟树,包括:
通过用户界面描述语法对所述虚拟树进行构建,得到第一虚拟树,所述第一虚拟树为所述原子组件的虚拟表示;
当所述编辑指令输入后,所述状态机状态改变,则虚拟元素节点状态改变,使得第一虚拟树进行数据状态更新,得到第二虚拟树,所述虚拟元素节点是所述虚拟树的原子组件。
作为优选,所述根据分治算法对所述第一数据进行计算,得到第二数据,包括:
所述第一数据是所述第二虚拟树更新的增量数据,通过分治算法对所述增量数据按照所述原子组件类别进行划分,并进行计算,得到各自的计算结果;
根据批量更新机制对所述计算结果进行汇总,达到根据显示器刷新率自适应的频率之后,合并处理,得到第二数据。
作为优选,所述根据四阶矩阵算法对所述第二数据进行计算,得到第三数据,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江安正科技股份有限公司,未经浙江安正科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111184054.4/2.html,转载请声明来源钻瓜专利网。