基于WebGL的动态高性能批量文本渲染方法、系统及程序产品与流程

文档序号:37912765发布日期:2024-05-10 23:52阅读:12来源:国知局
基于WebGL的动态高性能批量文本渲染方法、系统及程序产品与流程

本发明涉及关联图数据可视化领域,具体涉及一种基于webgl的动态高性能批量文本渲染方法、系统及程序产品。


背景技术:

1、关联图数据可视化场景指的是对多个相关联的节点的数据或节点之间的关系进行可视化显示的场景,在关联图中,节点表示实体或概念,边则表示实体之间的关联关系。关联图数据可视化技术(也被称为关联图技术)应用广泛,如关联图的布局可用于搜索引擎,将关于某节点的属性或与其它节点的关系等信息展示出来,方便人们更便捷的获取信息。例如,专利申请号为cn202110671288.5的中国专利申请,其公开了一种网络实体行为关联构建方法,其通过构建网络实体行为关联图数据,提供检索服务,能够充分利用威胁情报和漏洞知识数据,全方位地感知网络空间威胁。

2、其中,当利用关联图数据可视化技术进行数据处理时,及时地将关于某节点的属性或与其它节点的关系等信息展示出来是该技术的核心特点之一,也是实际应用过程中的一大技术难点。在数据的可视化过程中,常常需要对节点属性中所包含的各类文本信息进行显示。而由于节点数据量巨大,且对文本信息显示的及时性要求也相对较高,传统的文本渲染显示方法(例如,利用sdf技术预先生成字符库)往往难以满足关联图数据可视化场景中的实时性要求,一旦节点数据量较多或者用户的操作(比如旋转、平移、缩放等)导致节点位置发生快速变化时,运行过程中卡顿现象也就会愈加严重,由此严重影响用户的操作体验。


技术实现思路

1、本发明的目的在于提供一种基于webgl的动态文本渲染方法,部分地解决或缓解现有技术中的上述不足,能够提高关联图数据可视化场景中批量文本的显示速度。

2、本发明第一方面在于,提供了一种基于webgl的动态高性能批量文本渲染方法,包括步骤:

3、s10响应于用户的操作从关联图数据可视化场景中获取到至少一个目标节点,且至少一个所述目标节点关联有至少一个文本信息,所述文本信息中包括至少一个语句;

4、s20基于至少一个所述目标节点对应地获取到语句信息集,其中,所述语句信息集包括:对应于所述语句的语句对象;

5、s30基于所述语句信息集对应地获取到语句集图像信息集,其中,所述语句集图像信息集包括:语句集合图像信息数组,以及所述语句对象的节点位置,且所述语句集合图像信息数组包括所述语句对象的有符号距离场信息;

6、s40将所述语句集图像信息集发送到图形处理器,并基于所述图形处理器对所述语句集图像信息集进行渲染,从而实现对所述目标节点的文本渲染显示;

7、其中,步骤s30包括:

8、s31基于至少一个所述语句对象在画布层上对至少一个所述语句进行绘制,从而绘制得到至少一个第一语句图片;

9、s32基于有符号距离场算法对所述第一语句图片进行生成阴影处理,并对应地获取到至少一个第二语句图片;

10、s33基于至少一个第二语句图片生成所述语句集合图像信息数组。

11、在一些实施例中,在s31之前还包括步骤:

12、提供预存的缓存内容,其中,所述缓存内容中包括至少一个缓存图片,

13、所述缓存图片包括:所述语句对象的有符号距离场信息;

14、基于所述语句对象和所述缓存内容判断至少一个所述语句对象是否存在相应的缓存图片,其中,

15、当至少一个所述语句对象不存在相应的缓存图片时,则基于相对应的所述语句对象从所述语句信息集中获取到语句信息子集,并基于所述语句信息子集执行步骤s31;

16、当至少一个所述语句对象存在所述缓存图片时,则基于所述语句对象从所述缓存内容中获取到对应的所述缓存图片,基于所述缓存图片生成语句集合图像信息数组,或者,基于所述缓存图片和所述第二语句图片共同生成语句集合图像信息数组。

17、在一些实施例中,s31包括:

18、提供所述画布层,并对应地提供用于访问所述画布层的有限访问点;

19、通过所述有限访问点发送绘制请求至所述画布层中,所述画布层基于所述绘制请求绘制得到至少一个所述第一语句图片,其中,所述绘制请求包括:对应的所述语句对象。

20、在一些实施例中,在步骤s31之前,还包括:

21、检测所述语句对象的绘制状态,所述绘制状态包括:待绘制,和/或绘制中,和/或绘制完成;

22、当检测到所述语句对象的绘制状态为待绘制时,则执行s31;

23、当检测到所述语句对象的绘制状态为绘制中和/或绘制完成时,则跳转并处理下一个所述语句对象。

24、在一些实施例中s10包括:

25、响应于用户的操作获取至少一个所述节点的显示参数,且当所述显示参数符合预设的显示条件时,将所述节点识别为目标节点;其中,所述显示参数包括:所述节点的显示坐标,和/或所述节点的放大值。

26、在一些实施例中s10还包括步骤:

27、基于所述显示参数确定所述目标节点的显示优先级;

28、相应的所述语句信息集中还包括:所述语句对象的显示优先级。

29、在一些实施例中,所述第一语句图片还关联有所述语句对象在所述第一语句图片中的行位置;s32包括:

30、基于有符号距离场算法对所述第一语句图片进行生成阴影处理,对应得到阴影图片;

31、基于所述行位置对所述阴影图片进行分割,从而得到分别对应于各个所述语句对象的所述第二语句图片,其中,所述第二语句图片还关联有所述节点位置。

32、本发明第二方面在于,还提供了一种基于webgl的动态高性能批量文本渲染系统,包括:

33、目标节点获取模块,被配置为用于响应于用户的操作从关联图数据可视化场景中获取到至少一个目标节点,且至少一个所述目标节点关联有至少一个文本信息,所述文本信息中包括至少一个语句;

34、语句信息获取模块,被配置为用于基于至少一个所述目标节点对应地获取到语句信息集,其中,所述语句信息集包括:对应于所述语句的语句对象;

35、语句图片获取模块,被配置为用于基于所述语句信息集对应地获取到语句集图像信息集,其中,所述语句集图像信息集包括:语句集合图像信息数组,以及所述语句对象的节点位置,且所述语句集合图像信息数组包括所述语句对象的有符号距离场信息;

36、渲染模块,被配置为用于将所述语句集图像信息集发送到图形处理器,并基于所述图形处理器对所述语句集图像信息集进行渲染,从而实现对所述目标节点的文本渲染显示;

37、其中,语句图片获取模块包括:

38、绘制单元,被配置为用于基于所述语句对象在画布层上对至少一个所述语句进行绘制,从而绘制得到至少一个第一语句图片;

39、语句图片获取单元,被配置为用于基于有符号距离场算法对所述第一语句图片进行生成阴影处理,并对应地获取到至少一个第二语句图片;

40、数组生成单元,被配置为用于基于至少一个第二语句图片生成所述语句集合图像信息数组。

41、在一些实施例中,所述绘制单元被进一步地配置为用于提供所述画布层,并对应地提供用于访问所述画布层的有限访问点;通过所述有限访问点发送绘制请求至所述画布层中,所述画布层基于所述绘制请求绘制得到至少一个所述第一语句图片,其中,所述绘制请求包括:对应的所述语句对象。

42、本发明第三方面在于,还提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上述实施例中任一所述方法的步骤。

43、有益技术效果:本发明针对局部性的动态批量文字显示场景,提供了一种高性能的文本渲染方法。首先,本发明将一段文本中的语句视作为最小转换操作单元,并将拆分所得的语句对象视作为图片对象。随后,再采用画布层通过绘制、生成阴影等处理得到相应的语句图片,并基于所有语句图片生成语句集图像信息数组(即sdf信息),且图像信息数组还关联有节点位置。最后,当渲染显示时可以通过节点位置快速检索到对应的图像信息,从而组合成完整的文本。

44、在此过程中,本发明采用了语句作为最小转换单元的模式,有效减少了网络请求、渲染等线程调用的次数;同时,采用了图像信息数组与节点位置二者相配合的方式,高效地解决了文本排版的问题。因此,本发明可以在一定程度上摆脱对预先生成字符库的依赖,实时地批量渲染文字内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1