CN110796725A - 一种数据渲染方法、装置、终端及存储介质 - Google Patents

一种数据渲染方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN110796725A
CN110796725A CN201910802229.XA CN201910802229A CN110796725A CN 110796725 A CN110796725 A CN 110796725A CN 201910802229 A CN201910802229 A CN 201910802229A CN 110796725 A CN110796725 A CN 110796725A
Authority
CN
China
Prior art keywords
data
rendered
grid
rendering
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910802229.XA
Other languages
English (en)
Other versions
CN110796725B (zh
Inventor
刘嘉
于冲
陈梦麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910802229.XA priority Critical patent/CN110796725B/zh
Publication of CN110796725A publication Critical patent/CN110796725A/zh
Application granted granted Critical
Publication of CN110796725B publication Critical patent/CN110796725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering

Abstract

本发明公开了一种数据渲染方法、装置、终端及存储介质,其中,数据渲染方法包括:响应地图显示请求,显示目标地图;确定所述目标地图中的可视区域,在所述可视区域的上方叠加透明的画布蒙层,构建所述可视区域与所述画布蒙层的映射关系;获取所述可视区域所对应的目标待渲染数据;根据所述映射关系,确定所述目标待渲染数据所对应的像素点集;在所述画布蒙层中渲染所述像素点集,得到所述画布蒙层与所述目标地图的叠加显示结果。本发明避免了因直接在地图上渲染数据生成大量文档元素导致的对电子设备性能的严重消耗,提升了渲染性能,非常适用于对海量数据点的渲染。

Description

一种数据渲染方法、装置、终端及存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种数据渲染方法、装置、终端及存储介质。
背景技术
随着互联网技术的快速发展,电子地图被应用于越来越多的场景中,例如,将被监控的设备点的位置在电子地图中渲染显示出来。
相关技术中,在渲染显示被监控的设备点的位置时,直接在电子地图上绘制标记点,一般根据被监控的设备点的经纬度坐标计算并调用电子地图的开放平台接口,然后选择相应的素材元素在对应结构中生成文档元素以完成渲染,这种渲染方式每渲染一个数据点都会创建一个文档元素,文档元素又称为文档对象模型(Document Object Model,DOM),当渲染的数据点比较多时,就会产生大量的文档元素,对执行渲染的电子设备的性能有严重的消耗,而且可能会由于数据量过大无法完成文档元素的创建,进而导致无法完成渲染任务。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据渲染方法、装置、终端及存储介质。所述技术方案如下:
一方面,提供了一种数据渲染方法,所述方法包括:
响应地图显示请求,显示目标地图;
确定所述目标地图中的可视区域,在所述可视区域的上方叠加透明的画布蒙层,构建所述可视区域与所述画布蒙层的映射关系;
获取所述可视区域所对应的目标待渲染数据;
根据所述映射关系,确定所述目标待渲染数据所对应的像素点集;
在所述画布蒙层中渲染所述像素点集,以得到所述画布蒙层与所述目标地图的叠加显示结果。
另一方面,提供了一种数据渲染装置,所述装置包括:
响应模块,用于响应地图显示请求,显示目标地图;
叠加模块,用于确定所述目标地图中的可视区域,在所述可视区域的上方叠加透明的画布蒙层,构建所述可视区域与所述画布蒙层的映射关系;
获取模块,用于获取所述可视区域所对应的目标待渲染数据;
第一确定模块,用于根据所述映射关系,确定所述目标待渲染数据所对应的像素点集;
渲染模块,用于在所述画布蒙层中渲染所述像素点集以得到所述画布蒙层与所述目标地图的叠加显示结果。
可选的,所述获取模块包括:
第二确定模块,用于确定位于所述可视区域中的目标网格;
第三确定模块,用于基于预先建立的网格与待渲染数据的对应关系,确定所述目标网格对应的待渲染数据;将所述目标网格对应的待渲染数据作为所述目标待渲染数据。
可选的,所述装置还包括第一建立模块,所述第一建立模块包括:
第一建立子模块,用于遍历所有待渲染数据,建立包含所述所有待渲染数据的最小外接矩形;
第一划分模块,用于对所述最小外接矩形进行网格划分;
第四确定模块,用于确定每个网格的位置信息,以及每个网格所包含的待渲染数据;
第二建立子模块,用于根据每个网格的位置信息以及所包含的待渲染数据,建立所述网格与待渲染数据的对应关系。
可选的,所述第一划分模块包括:
第一划分子模块,用于对所述最小外接矩形进行第一网格划分,得到多个第一网格;
遍历模块,用于遍历所述多个第一网格中的每一第一网格,在遍历时执行以下步骤:
确定所述第一网格所包含的待渲染数据的数量;
在所述待渲染数据的数量超过预设阈值时,对所述第一网格进行第二网格划分,得到多个第二网格;
将所述多个第二网格中的每一第二网格作为所述第一网格,执行所述确定所述第一网格所包含的待渲染数据的数量,在所述待渲染数据的数量超过预设阈值时对所述第一网格进行第二网格划分的步骤,直至所述第一网格所包含的待渲染数据的数量不超过预设阈值。
可选的,所述渲染模块包括:
第二建立模块,用于建立对应于在所述画布蒙层中渲染所述像素点集的渲染任务;
第二划分模块,用于将所述渲染任务划分为多个子任务;每个子任务对应渲染指定数量的所述像素点集中的像素点;
第一判断模块,用于在任一子任务执行完时,判断任务列表中是否有高优先级的新任务;所述高优先级的新任务的优先级高于任一所述子任务;
执行模块,用于在第一判断模块的判断结果为是时,执行所述高优先级的新任务。
可选的,所述高优先级的新任务至少包括以下之一:移动所述地图、缩放所述地图。
可选的,所述渲染模块还包括:
第二判断模块,用于在所述子任务的执行过程中,判断是否有接收到所述高优先级的新任务;
存储模块,用于在第二判断模块的判断结果为是时,将接收到的所述高优先级的新任务存入所述任务列表。
另一方面,提供了一种终端,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述数据渲染方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的数据渲染方法。
本发明实施例通过在显示的目标地图的可视区域的上方叠加透明的画布蒙层,并将该可视区域所对应的目标待渲染数据转换为相对于画布蒙层的像素点集,然后在画布蒙层中渲染该像素点集以得到该画布蒙层与目标地图的叠加显示结果,从而避免了因直接在地图上渲染数据生成大量文档元素导致的对电子设备性能的严重消耗,提升了渲染性能,非常适用于对海量数据点的渲染。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的一种数据渲染方法的流程示意图;
图3a和3b是本发明实施例提供的网格划分的示意图;
图4是本发明实施例提供的在所述画布蒙层中渲染所述像素点集的一种方法的流程示意图;
图5是本发明实施例提供的将渲染任务划分为多个子任务的一种示意图;
图6是本发明实施例提供的在所述画布蒙层中渲染所述像素点集的另一种方法的流程示意图;
图7是本发明实施例提供的一种数据渲染装置的结构示意图;
图8是本发明实施例提供的一种终端的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,其所示为本发明实施例提供的一种实施环境示意图,该实施环境可以包括终端110和服务器120,其中,终端110和服务器120可以通过网络进行通信,该网络可以但不限于包括有线网络或者无线网络。
终端110可以配置有各种客户端应用,该客户端应用可以但不限于包括电子地图应用等等。终端110可以是支持电子地图的各种电子设备,可以但不限于包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等等
服务器120可以为终端110中配置的客户端应用提供后台服务,例如,提供电子地图应用对应的待渲染数据,以实现将待渲染数据渲染在电子地图的对应位置,其中,对待渲染数据的渲染即在电子地图中显示该待渲染数据。服务器120可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。
请参阅图2,其所示为本发明实施例提供的一种数据渲染方法的流程示意图,该方法可以应用于图1中的终端110,更具体的,可以应用于该终端中支持电子地图的客户端应用。
需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201,响应地图显示请求,显示目标地图。
具体的,当用户需要查看被监控的设备在地图中的位置时,可以操作电子地图应用,将电子地图的地图元素直接渲染在电子地图上以显示目标地图,该地图元素可以包括道路、河流等数据,被监控的设备可以是具有计算处理能力的设备、器械或者机器,例如可以是智能行车记录仪、车机以及后视镜等等。其中,操作电子地图应用可以包括点击电子地图应用以打开电子地图,还可以包括移动已打开的电子地图或者缩小、放大已打开的电子地图。
S203,确定所述目标地图中的可视区域,在所述可视区域的上方叠加透明的画布蒙层,构建所述可视区域与所述画布蒙层的映射关系。
其中,目标地图中的可视区域即为目标地图中位于终端显示屏的显示区域内的区域。
在步骤S203中,可以先在可视区域的上方叠加一个与该可视区域大小相匹配的画布元素,该画布元素可以为Canvas,Canvas是HTML5的画布标签,具有较高的绘图性能。然后,将画布元素的透明属性设置为透明以得到画布蒙层,由于画布蒙层为透明因此不会遮挡被其覆盖的目标地图的可视区域中的内容。
本说明书实施例中,在可视区域的上方叠加透明的画布蒙层后,可以建立可视区域与画面蒙层的映射关系,该映射关系用于将可视区域中以经纬度表示的坐标点映射到画面蒙层中的对应像素坐标点。具体的实施中,可以调用getProjection()方法,该方法返回MapCanvasProjection类型,通过MapCanvasProjection中的fromLatLngToContainerPixel()方法可以实现根据经纬度坐标计算相对于画布蒙层左上角的相对像素坐标,从而可以确定可视区域中的经纬度坐标点所对应的画布蒙层中的像素坐标点即像素点。
S205,获取所述可视区域所对应的目标待渲染数据。
本说明书实施例中,目标待渲染数据即为位于可视区域中的被监控设备的位置信息如经纬度坐标。
实际应用中,为了提高对于待渲染数据的渲染性能,可以预先建立网格与待渲染数据的对应关系,基于该对应关系,在获取可视区域所对应的目标待渲染数据时,可以先确定位于可视区域中的目标网格,然后从网格与待渲染数据的对应关系中查找目标网格所匹配的待渲染数据,并将该目标网格所匹配的待渲染数据作为目标待渲染数据。通过网格与待渲染数据的对应关系来确定目标待渲染数据可以很好的解决现有技术中当移动地图或者缩小、放大地图时需要重新渲染所有的数据导致的性能上的明显浪费。
其中,建立网格与待渲染数据的对应关系可以包括以下步骤:
遍历所有待渲染数据,建立包含所述所有待渲染数据的最小外接矩形。具体的,可以从服务器获取所有被监控的设备在地图中的坐标信息即所有待渲染数据,确定包含所有待渲染数据的地图区域,建立包含所有待渲染数据的最小外接矩形。
对所述最小外接矩形进行网格划分。实际应用中,可以按照预设划分规则对该最小外接矩形进行多次网格划分,以使得每个网格所包含的待渲染数据的数量不超过预设阈值,以提高渲染性能,例如可以按照将最小外接矩形划分为8*8个网格的规则进行划分。具体的实施中,可以对最小外接矩形进行第一网格划分,得到多个第一网格;然后遍历多个第一网格中的每一第一网格,在遍历时执行以下步骤:确定第一网格所包含的待渲染数据的数量,在待渲染数据的数量超过预设阈值时,对第一网格进行第二网格划分,得到多个第二网格,将多个第二网格中的每一第二网格作为前述的第一网格,执行所述确定第一网格所包含的待渲染数据的数量,以及在所述待渲染数据的数量超过预设阈值时对所述第一网格进行第二网格划分的步骤,直至所述第一网格所包含的待渲染数据的数量不超过预设阈值。其中,第一网格划分和第二网格划分可以按照相同的划分规则进行划分,也可以按照不同的划分规则进行划分,例如,第一网格划分可以按照划分为8*8个网格的规则,第二网格划分可以按照划分为4*4个网格的规则,如图3a所示的网格划分的示意图。预设阈值可以根据实际需要进行设置,例如,可以将预设阈值设置为200个。
下面对上述的网格划分过程进行举例说明,如图3b所示,对最小外接矩形按照2*2的划分规则进行网格划分,得到A网格、B网格、C网格和D网格,然后遍历A网格、B网格、C网格和D网格,在遍历到A网格时执行以下步骤:统计A网格中所包含的待渲染数据的数量,将统计的待渲染数据的数量与预设阈值进行比对,如果比对结果为A网格中所包含的待渲染数据的数量超过了预设阈值,则对A网格继续进行网格划分,如果比对结果为A网格中所包含的待渲染数据的数量未超过预设阈值,则遍历到下一个网格如B网格,在遍历到下一个网格时,执行相同于上述遍历到A网格时所执行的步骤。
其中,在对A网格继续进行网格划分时,其划分过程与对最小外接矩形进行网格划分类似,假设仍然按照2*2的划分规则对A网格进行网格划分,得到A1网格、A2网格、A3网格和A4网格,然后遍历A1网格、A2网格、A3网格和A4网格,在该遍历过程中对每一个遍历到的网格执行相同于上述遍历到A网格时所执行的步骤,直至划分后的每个网格中的待渲染数据的数量不超过预设阈值。
确定每个网格的位置信息,以及每个网格所包含的待渲染数据。其中,网格的位置信息可以是网格的边界坐标。
根据每个网格的位置信息以及所包含的待渲染数据,建立所述网格与待渲染数据的对应关系。
S207,根据所述映射关系,确定所述目标待渲染数据所对应的像素点集。
具体的,根据可视区域与画布蒙层的映射关系,可以确定目标待渲染数据进行坐标转换后对应的画布蒙层的像素坐标,从而得到对应的像素点集。
S209,在所述画布蒙层中渲染所述像素点集,得到所述画布蒙层与所述目标地图的叠加显示结果。
具体的,可以在画布蒙层中对像素点集中各像素点所对应的坐标处绘制图形以将目标待渲染数据显示出来,从而得到画布蒙层与目标地图的叠加显示结果。
实际应用中,常常在移动地图或者缩放地图时出现卡顿现象,为了避免这种现象的出现,本说明书实施例中,在所述画布蒙层中渲染所述像素点集时可以采用图4所示的步骤,包括:
S401,建立对应于在所述画布蒙层中渲染所述像素点集的渲染任务。
S403,将所述渲染任务划分为多个子任务;每个子任务对应渲染指定数量的所述像素点集中的像素点。
其中,指定数量可以根据实际需要进行设定,可以直接设置像素点的数量,也可以根据渲染每个像素点的时间,设置每个子任务的渲染时间。图5所示为将渲染任务划分为多个子任务的一种示意图。
S405,在任一子任务执行完时,判断任务列表中是否有高优先级的新任务。
其中,所述高优先级的新任务的优先级高于任一所述子任务。具体的实施中,所述高优先级的新任务至少包括以下之一:移动地图、缩放地图,其中,缩放地图包括缩小地图和放大地图。
当判断的结果为是时,执行步骤S407;否则,执行步骤S409。
S407,执行所述高优先级的新任务。
具体的,当判断的结果为任务列表中有高优先级的新任务时,执行该高优先级的新任务,在高优先级的新任务执行完成之后再继续执行下一个子任务。
S409,继续执行下一个子任务。
本发明实施例通过将整体的渲染任务划分为多个子任务,在一个子任务完成时,检查任务列表中有没有新的、优先级更高的任务,若有就执行这个新的、优先级更高的任务,若没有则继续执行下一个子任务,避免了过长的渲染流程导致的浏览器卡顿,从而很好的解决了移动地图或者缩放地图时出现的卡顿问题,大幅度提高了渲染性能。
在另一个具体的实施方式中,如图6所示,在所述判断任务列表中是否有高优先级的新任务之前还可以包括:
S411,在所述子任务的执行过程中,判断是否有接收到所述高优先级的新任务。
具体的,在所述子任务的执行过程中,若有接收到高优先级的新任务则执行步骤S413。
S413,将接收到的所述高优先级的新任务存入所述任务列表。
实际应用中,在每个子任务的执行过程中都有可能接收到前述的高优先级的新任务,本说明书实施例中,将子任务执过程中接收到的高优先级的新任务收集并存入任务列表,从而可以在该子任务执行完成后,对任务列表中收集的高优先级的新任务一次性执行,避免了多次调用相关接口进行多次渲染导致的渲染性能差的问题。
由本发明实施例的上述技术方案可见,本发明实施例通过在显示的目标地图的可视区域的上方叠加透明的画布蒙层,并将该可视区域所对应的目标待渲染数据转换为相对于画布蒙层的像素点集,然后在画布蒙层中渲染该像素点集以得到该画布蒙层与目标地图的叠加显示结果,从而避免了因直接在地图上渲染数据生成大量文档元素导致的对电子设备性能的严重消耗,提升了渲染性能,非常适用于对海量数据点的渲染。
与上述几种实施例提供的数据渲染方法相对应,本发明实施例还提供一种数据渲染装置,由于本发明实施例提供的数据渲染装置与上述几种实施例提供的数据渲染方法相对应,因此前述数据渲染方法的实施方式也适用于本实施例提供的数据渲染装置,在本实施例中不再详细描述。
请参阅图7,其所示为本发明实施例提供的一种数据渲染装置的结构示意图,该装置具有实现上述方法实施例中数据渲染方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。如图7所示,该装置可以包括:
响应模块710,用于响应地图显示请求,显示目标地图;
叠加模块720,用于确定所述目标地图中的可视区域,在所述可视区域的上方叠加透明的画布蒙层,构建所述可视区域与所述画布蒙层的映射关系;
获取模块730,用于获取所述可视区域所对应的目标待渲染数据;
第一确定模块740,用于根据所述映射关系,确定所述目标待渲染数据所对应的像素点集;
渲染模块750,用于在所述画布蒙层中渲染所述像素点集以得到所述画布蒙层与所述目标地图的叠加显示结果。
在一个具体的实施例中,获取模块730可以包括:
第二确定模块,用于确定位于所述可视区域中的目标网格;
第三确定模块,用于基于预先建立的网格与待渲染数据的对应关系,确定所述目标网格对应的待渲染数据;将所述目标网格对应的待渲染数据作为所述目标待渲染数据。
在一个具体的实施例中,该装置还可以包括第一建立模块,所述第一建立模块包括:
第一建立子模块,用于遍历所有待渲染数据,建立包含所述所有待渲染数据的最小外接矩形;
第一划分模块,用于对所述最小外接矩形进行网格划分;
第四确定模块,用于确定每个网格的位置信息,以及每个网格所包含的待渲染数据;
第二建立子模块,用于根据每个网格的位置信息以及所包含的待渲染数据,建立所述网格与待渲染数据的对应关系。
可选的,所述第一划分模块可以包括:
第一划分子模块,用于对所述最小外接矩形进行第一网格划分,得到多个第一网格;
遍历模块,用于遍历所述多个第一网格中的每一第一网格,在遍历时执行以下步骤:
确定所述第一网格所包含的待渲染数据的数量;
在所述待渲染数据的数量超过预设阈值时,对所述第一网格进行第二网格划分,得到多个第二网格;
将所述多个第二网格中的每一第二网格作为所述第一网格,执行所述确定所述第一网格所包含的待渲染数据的数量,在所述待渲染数据的数量超过预设阈值时对所述第一网格进行第二网格划分的步骤,直至所述第一网格所包含的待渲染数据的数量不超过预设阈值。
在一个具体的实施例中,渲染模块750可以包括:
第二建立模块,用于建立对应于在所述画布蒙层中渲染所述像素点集的渲染任务;
第二划分模块,用于将所述渲染任务划分为多个子任务;每个子任务对应渲染指定数量的所述像素点集中的像素点;
第一判断模块,用于在任一子任务执行完时,判断任务列表中是否有高优先级的新任务;所述高优先级的新任务的优先级高于任一所述子任务;
执行模块,用于在第一判断模块的判断结果为是时,执行所述高优先级的新任务。
可选的,述高优先级的新任务至少包括以下之一:移动所述地图、缩放所述地图。
在另一个具体的实施例中,渲染模块750还可以包括:
第二判断模块,用于在所述子任务的执行过程中,判断是否有接收到所述高优先级的新任务;
存储模块,用于在第二判断模块的判断结果为是时,将接收到的所述高优先级的新任务存入所述任务列表。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例的数据渲染装置通过在显示的目标地图的可视区域的上方叠加透明的画布蒙层,并将该可视区域所对应的目标待渲染数据转换为相对于画布蒙层的像素点集,然后在画布蒙层中渲染该像素点集以得到该画布蒙层与目标地图的叠加显示结果,从而避免了因直接在地图上渲染数据生成大量文档元素导致的对电子设备性能的严重消耗,提升了渲染性能,非常适用于对海量数据点的渲染。
本发明实施例提供了一种终端,该终端包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的数据渲染方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据渲染。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在终端上为例,图8是本发明实施例提供的运行一种数据渲染方法的终端的硬件结构框图,具体来讲:
终端800可以包括RF(Radio Frequency,射频)电路810、包括有一个或一个以上计算机可读存储介质的存储器820、输入单元830、显示单元840、视频传感器850、音频电路860、WiFi(wireless fidelity,无线保真)模块870、包括有一个或者一个以上处理核心的处理器880、以及电源80等部件。本领域技术人员可以理解,图8中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器880处理;另外,将涉及上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端800的使用所创建的数据(比如视频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器820还可以包括存储器控制器,以提供处理器880和输入单元830对存储器820的访问。
输入单元830可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元830可包括图像输入设备831以及其他输入设备832。图像输入设备831可以是摄像头,也可以是光电扫描设备。除了图像输入设备831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及终端800的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元840可包括显示面板841,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板841。
终端800可包括至少一种视频传感器850,视频传感器用于获取用户的视频信息。终端800还可以包括其它传感器(未示出),比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在终端800移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端800还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
视频电路860、扬声器861,传声器862可提供用户与终端800之间的视频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一终端,或者将音频数据输出至存储器820以便进一步处理。音频电路860还可能包括耳塞插孔,以提供外设耳机与终端800的通信。
WiFi属于短距离无线传输技术,终端800通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块870,但是可以理解的是,其并不属于终端800的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是终端800的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行终端800的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理核心;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
终端800还包括给各个部件供电的电源80(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源80还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端800还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,终端800还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述方法实施例提供的数据渲染的指令。
本发明的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于终端之中以保存用于实现一种数据渲染方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的数据渲染方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据渲染方法,其特征在于,所述方法包括:
响应地图显示请求,显示目标地图;
确定所述目标地图中的可视区域,在所述可视区域的上方叠加透明的画布蒙层,构建所述可视区域与所述画布蒙层的映射关系;
获取所述可视区域所对应的目标待渲染数据;
根据所述映射关系,确定所述目标待渲染数据所对应的像素点集;
在所述画布蒙层中渲染所述像素点集,得到所述画布蒙层与所述目标地图的叠加显示结果。
2.根据权利要求1所述的数据渲染方法,其特征在于,所述获取所述可视区域所对应的目标待渲染数据包括:
确定位于所述可视区域中的目标网格;
基于预先建立的网格与待渲染数据的对应关系,确定所述目标网格对应的待渲染数据;
将所述目标网格对应的待渲染数据作为所述目标待渲染数据。
3.根据权利要求2所述的数据渲染方法,其特征在于,所述方法还包括建立网格与待渲染数据的对应关系的步骤;所述建立网格与待渲染数据的对应关系的步骤包括:
遍历所有待渲染数据,建立包含所述所有待渲染数据的最小外接矩形;
对所述最小外接矩形进行网格划分;
确定每个网格的位置信息,以及每个网格所包含的待渲染数据;
根据每个网格的位置信息以及所包含的待渲染数据,建立所述网格与待渲染数据的对应关系。
4.根据权利要求3所述的数据渲染方法,其特征在于,所述对所述最小外接矩形进行网格划分包括:
对所述最小外接矩形进行第一网格划分,得到多个第一网格;
遍历所述多个第一网格中的每一第一网格,在遍历时执行以下步骤:
确定所述第一网格所包含的待渲染数据的数量;
在所述待渲染数据的数量超过预设阈值时,对所述第一网格进行第二网格划分,得到多个第二网格;
将所述多个第二网格中的每一第二网格作为所述第一网格,执行所述确定所述第一网格所包含的待渲染数据的数量,在所述待渲染数据的数量超过预设阈值时对所述第一网格进行第二网格划分的步骤,直至所述第一网格所包含的待渲染数据的数量不超过预设阈值。
5.根据权利要求1所述的数据渲染方法,其特征在于,所述在所述画布蒙层中渲染所述像素点集以得到所述画面蒙层与所述目标地图的叠加显示结果包括:
建立对应于在所述画布蒙层中渲染所述像素点集的渲染任务;
将所述渲染任务划分为多个子任务;每个子任务对应渲染指定数量的所述像素点集中的像素点;
在任一子任务执行完时,判断任务列表中是否有高优先级的新任务;所述高优先级的新任务的优先级高于任一所述子任务;
在判断的结果为是时,执行所述高优先级的新任务。
6.根据权利要求5所述的数据渲染方法,其特征在于,所述高优先级的新任务至少包括以下之一:移动所述地图、缩放所述地图。
7.根据权利要求5所述的数据渲染方法,其特征在于,在所述判断任务列表中是否有高优先级的新任务之前,所述方法还包括:
在所述子任务的执行过程中,判断是否有接收到所述高优先级的新任务;
在判断的结果为是时,将接收到的所述高优先级的新任务存入所述任务列表。
8.一种数据渲染装置,其特征在于,所述装置包括:
响应模块,用于响应地图显示请求,显示目标地图;
叠加模块,用于确定所述目标地图中的可视区域,在所述可视区域的上方叠加透明的画布蒙层,构建所述可视区域与所述画布蒙层的映射关系;
获取模块,用于获取所述可视区域所对应的目标待渲染数据;
第一确定模块,用于根据所述映射关系,确定所述目标待渲染数据所对应的像素点集;
渲染模块,用于在所述画布蒙层中渲染所述像素点集,得到所述画布蒙层与所述目标地图的叠加显示结果。
9.一种终端,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1~7中任一项所述的数据渲染方法。
10.一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1~7任一项所述的数据渲染方法。
CN201910802229.XA 2019-08-28 2019-08-28 一种数据渲染方法、装置、终端及存储介质 Active CN110796725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910802229.XA CN110796725B (zh) 2019-08-28 2019-08-28 一种数据渲染方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910802229.XA CN110796725B (zh) 2019-08-28 2019-08-28 一种数据渲染方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN110796725A true CN110796725A (zh) 2020-02-14
CN110796725B CN110796725B (zh) 2022-09-23

Family

ID=69427502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910802229.XA Active CN110796725B (zh) 2019-08-28 2019-08-28 一种数据渲染方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110796725B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111489429A (zh) * 2020-04-16 2020-08-04 诚迈科技(南京)股份有限公司 一种图像渲染控制方法、终端设备和存储介质
CN112036810A (zh) * 2020-08-11 2020-12-04 广州番禺电缆集团有限公司 基于智能设备的电缆监测方法、装置、设备及存储介质
CN112182130A (zh) * 2020-09-27 2021-01-05 上海亚新建设工程有限公司 场地环境调查中场地数据内业可视化方法、装置及介质
CN113267192A (zh) * 2021-05-26 2021-08-17 海南太美航空股份有限公司 提高交叉航线渲染效率的方法及系统
CN113360708A (zh) * 2021-05-31 2021-09-07 北京达佳互联信息技术有限公司 视频播放方法、装置、电子设备及存储介质
WO2022105641A1 (zh) * 2020-11-20 2022-05-27 华为云计算技术有限公司 渲染方法、设备以及系统
CN116541111A (zh) * 2023-04-06 2023-08-04 上海数聚软件系统股份有限公司 画布图形渲染方法、装置、电子设备和计算机可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103295255A (zh) * 2013-04-02 2013-09-11 深圳市瑞云科技有限公司 一种提供用户进行远程渲染的装置
CN104978357A (zh) * 2014-04-10 2015-10-14 阿里巴巴集团控股有限公司 一种数据可视化展现方法和装置
CN106898245A (zh) * 2015-12-18 2017-06-27 北京四维图新科技股份有限公司 一种地图注记的标注方法及装置
CN108573008A (zh) * 2017-06-15 2018-09-25 北京金山云网络技术有限公司 一种电子地图中的海量点展示方法及装置
CN108920462A (zh) * 2018-06-29 2018-11-30 北京奇虎科技有限公司 基于地图的兴趣点poi检索方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103295255A (zh) * 2013-04-02 2013-09-11 深圳市瑞云科技有限公司 一种提供用户进行远程渲染的装置
CN104978357A (zh) * 2014-04-10 2015-10-14 阿里巴巴集团控股有限公司 一种数据可视化展现方法和装置
CN106898245A (zh) * 2015-12-18 2017-06-27 北京四维图新科技股份有限公司 一种地图注记的标注方法及装置
CN108573008A (zh) * 2017-06-15 2018-09-25 北京金山云网络技术有限公司 一种电子地图中的海量点展示方法及装置
CN108920462A (zh) * 2018-06-29 2018-11-30 北京奇虎科技有限公司 基于地图的兴趣点poi检索方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111489429A (zh) * 2020-04-16 2020-08-04 诚迈科技(南京)股份有限公司 一种图像渲染控制方法、终端设备和存储介质
CN112036810A (zh) * 2020-08-11 2020-12-04 广州番禺电缆集团有限公司 基于智能设备的电缆监测方法、装置、设备及存储介质
CN112182130A (zh) * 2020-09-27 2021-01-05 上海亚新建设工程有限公司 场地环境调查中场地数据内业可视化方法、装置及介质
WO2022105641A1 (zh) * 2020-11-20 2022-05-27 华为云计算技术有限公司 渲染方法、设备以及系统
CN113267192A (zh) * 2021-05-26 2021-08-17 海南太美航空股份有限公司 提高交叉航线渲染效率的方法及系统
CN113360708A (zh) * 2021-05-31 2021-09-07 北京达佳互联信息技术有限公司 视频播放方法、装置、电子设备及存储介质
CN116541111A (zh) * 2023-04-06 2023-08-04 上海数聚软件系统股份有限公司 画布图形渲染方法、装置、电子设备和计算机可读介质
CN116541111B (zh) * 2023-04-06 2024-02-27 上海数聚软件系统股份有限公司 画布图形渲染方法、装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
CN110796725B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN110796725B (zh) 一种数据渲染方法、装置、终端及存储介质
US10269160B2 (en) Method and apparatus for processing image
CN110795666B (zh) 一种网页生成方法、装置、终端及存储介质
CN109062467B (zh) 分屏应用切换方法、装置、存储介质和电子设备
CN109059955B (zh) 电子地图导航中绘制指示标识的方法及装置
CN108984064B (zh) 分屏显示方法、装置、存储介质和电子设备
CN105975190B (zh) 一种图形界面的处理方法、装置及系统
CN106780684B (zh) 一种动画效果实现方法及装置
CN104571979B (zh) 一种实现分屏视图的方法和装置
CN104881844B (zh) 一种图片组合的方法、装置以及终端设备
CN105989572B (zh) 图片处理方法及装置
CN110750189B (zh) 一种图标显示方法及装置
CN107749046B (zh) 一种图像处理方法及移动终端
CN108984066B (zh) 一种应用程序图标显示方法及移动终端
CN108984142B (zh) 分屏显示方法、装置、存储介质和电子设备
JP6862564B2 (ja) 画像合成のための方法、装置および不揮発性コンピュータ可読媒体
CN110806826A (zh) 一种信息显示方法、装置及电子设备
CN110784672B (zh) 一种视频数据传输方法、装置、设备及存储介质
CN105635553B (zh) 一种图像拍摄方法和装置
CN110262713B (zh) 图标显示方法及终端设备
CN106302101B (zh) 消息提醒方法、终端及服务器
CN111275607B (zh) 界面显示方法、装置、计算机设备及存储介质
CN106204588B (zh) 一种图像处理方法和装置
CN110780795A (zh) 一种截屏方法及电子设备
CN110717486B (zh) 文本检测方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40022042

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant