针对数据可视化的性能优化制造技术

技术编号:15529917 阅读:68 留言:0更新日期:2017-06-04 17:09
提供了对用于数据可视化的存储器成本进行减少和限界的性能优化。性能优化包括:数据筛除,几何结构筛除,以及将“可视化”克隆到后台线程用于布局。性能优化利用数据可视化架构,用于经由分开的阶段的单向链建立数据可视化,其中在每个阶段处的数据可以被筛除或私有化,以减少数据量或简化数据的本质,以在后续阶段被处理,从而改善整体系统性能和用户体验。

Performance optimization for data visualization

Performance optimization is provided for reduction and clearance of memory costs for data visualization. Performance optimizations include data sieving, geometric structure screening, and the \visual\ cloning to the background thread for layout. Performance optimization using data visualization framework for establishing data visualization via a one-way chain separate stage, which can be screened or privatized at each stage of the data, in order to reduce the amount of data or data to simplify the nature, to be processed in subsequent stages, so as to improve the overall system performance and user experience.

【技术实现步骤摘要】
【国外来华专利技术】针对数据可视化的性能优化
技术介绍
数据可视化是用于在可视化(例如,图表、信息图、地图、计量图(gauge)等)中图形表示数据的过程。大的数据集的可视化要求显著的系统资源(包括处理器时间和存储器)来制备或存储所述可视化,这可能引起系统卡死(lockup)或慢下来。实施例将是关于这些和其它考量而做出的。
技术实现思路
提供该“
技术实现思路
”以引入在后续“具体实施方式”部分中进一步描述的简化形式的概念选集。该“
技术实现思路
”并不意图识别所要求保护主题的所有特征,且也不打算限制所要求保护主题的范围。本公开的方面通过从数据可视化筛除数据以减少存储器需求来提供性能优化。根据一个方面,在布局时间期间筛除数据,以智能地跳过不会实质影响可视化的呈现的数据;在保存呈现的同时减少复杂度。根据另一方面,筛除在布局期间产生的几何结构,以使得几何结构向量被减少或被简化/修剪(trimmed)以减少布局后处理(例如,渲染)。根据另一方面,每个序列布局使用私有优化数据结构来存储抽象形式的几何结构用于减少存储器使用。本公开的各方面还提供了通过将可视化克隆并在后台线程上执行布局而将布局的成本委托(defer)给后台线程,然后将计算出的布局接近持续地(near-constant)转移到前台线程。例子可以实现为计算机过程、计算系统或作为制品(例如,计算机程序产品或计算机可读介质)。计算机程序产品可以是计算机系统可读的且编码有用于执行计算机过程的计算机程序指令的计算机存储介质。在附图和下文描述中阐述了一个或多个方面的细节。根据阅读后续具体实施方式和查看相关联附图,其它特征和优点将变得明显。应该理解的是,下文的具体实施方式只是说明性的,而非对本公开进行限制。附图说明附图被并入本公开并构成本公开的一部分,示出了本公开的各个方面。在附图中:图1示出了数据在单个方向上流动的流水线架构;图2示出了用于优化对可视化进行创建和布局的性能的系统的框图;图3是示出在用于提供数据可视化平台性能优化的方法中涉及的一般阶段的流程图;图4是示出计算设备的示例性物理部件的框图;图5A和5B是移动计算设备的框图;以及图6是分布式计算系统的框图。具体实施方式后续具体实施方式涉及附图。在图中以及后续描述中尽可能地使用相同的附图标记来指代相同或类似的元件。虽然描述了本公开的各方面,但是也可以进行修改、适配和其它实现方式。例如,可以对附图中示出的元件进行替换、添加或修改,并且可以通过对公开方法进行替换、重排序或添加阶段来修改本文描述的方法。因此,后续具体实施方式并不限于本公开,相反地,本公开的正确范围是通过随附权利要求来定义的。例子可以采用硬件实现方式、完全软件实现方式、或者组合软件和硬件方面的实现方式的形式。因此,后续具体实施方式并不应被当作是限制意义的。如在本领域所公知的,存储器通常是应用性能的瓶颈。各方面允许通过对所使用的存储器的量进行限界并通过将数据存储于单个连续分配(single,contiguousallocation)中而优化应用性能。如下所述,当通过布局引擎计算几何结构时,可以将几何结构缓存在限界的序列对象内。各方面提供了基于每布局的数据筛除和私有化(privatization),用于存储抽象几何结构来优化性能。本公开的例子致力于经由从数据可视化中将数据筛除来提供在数据可视化平台内的性能优化。根据一方面,所述架构使得能够经由分开的阶段(separatestages)的单向链建立数据可视化(例如,图表、信息图、地图、计量图等),每个阶段具有简单的输入接口和输出接口。图1示出了其中数据在单个方向上流动的流水线架构100。如图1所示,数据从原始数据105流动到抽象几何结构115、到序列对象125、到可视化135。可以在流水线的每个阶段(stage)处对数据进行私有化和筛除,这减少了用于对可视化135进行布局和创建的存储器。因此,更有效率地执行可视化生成。原始数据105包括将在可视化135中标绘(plot)的数据点集合。在各个方面,通过行(row)、向量、阵列(array)、表格(table)、矩阵等组织原始数据105。在一个例子中,从Redmond,Washington的MICROSOFTCORPORATION提供的电子表格软件的一组单元(cell)中取出原始数据105。可视化135例如包括图表、信息图、地图、计量图等,其用于图形显示原始数据105。抽象几何结构115包括基元(例如,线、Bezier曲线、Bezier曲面等)的有限集,其可以被直接传递给适当的渲染应用程序接口(API)或传递给额外的模块或引擎用于进一步的处理。根据这些基元(primitive),可以近似任意几何结构。根据各方面,将抽象几何结构115以被裁剪以适应布局的每种类型的压缩形式存储为序列对象125。在若干方面,将抽象几何结构115组装成为序列对象125,其存储于在存储器中作为连续块的单个分配(allocation)中,这提高了取回的速度。根据各方面,序列对象125是私有化存储的形式,其可操作以提供组成该序列对象的所有的抽象几何结构115,而无需被针对个体抽象几何结构115而询问;在一个同步操作中提供全部序列对象125来产生可视化135。根据各方面,缓存在序列对象125中的抽象几何结构115的量被可视化135的显示器尺寸限界,并且被计算为具有固定的存储器成本。当序列对象125的尺寸被限界时,一些方面使用多个序列对象125来创建可视化135的部分。序列对象125的一个例子是由抽象几何结构115组成的圆圈(例如,四个三次Bezier曲线,每个组成圆圈的四分之一),其可以作为圆圈的半径的函数在可视化135中呈现原始数据105。根据各方面,抽象几何结构115以各种形式存储。根据一个方面,抽象几何结构115存储为主要和实例压缩形式(例如,三角形、圆圈、菱形、线条、扇形等的列表)。主要和实例压缩形式(masterandinstancescompactform)使能了具有重复形式的几何结构的可视化类型(例如,散点序列,其中每个数据点都是菱形),来通过压缩待提供的序列对象125的体积而改善性能。各方面使能可视化135使用主要/实例形式中的几何结构,由此序列对象125的主要几何结构(例如,菱形)被一次性地以全部细节来描述,并且实例参考该主要几何结构并被描述为在可视化135中围绕其构造该主要几何结构的单个点(例如,菱形的中心)。根据另一方面,抽象几何结构115可以存储为路径几何结构(例如,面积图表、表面图表、雷达图表、趋势线等)。根据另一方面,抽象几何结构115可以存储为公式。例如,在绘制供需曲线的商业图表中,描述所述曲线的函数被存储。因此,在渲染期间可以合成抽象几何结构115。例如,在简单布局(其计算不昂贵且数据是本地的)的情况下(例如,线条图表、柱状图等),可以直接根据原始数据105合成抽象几何结构115。图2示出了用于优化对可视化135进行创建和布局的性能的系统200的框图。在系统200中,在对可视化135进行创建的布局阶段(layoutphase)期间,将数据从客户端240传递给布局引擎210并进行处理,并且将抽象几何结构115传递回客户端240来提供可视化135。从客户端240接收到的数据包括原始数据105和表本文档来自技高网...
针对数据可视化的性能优化

【技术保护点】
一种用于提供针对数据可视化的性能优化的方法,包括:接收数据,所述数据包括原始数据和用于可视化的表面描述,所述原始数据由经由图形表示在所述可视化中显示的多个数据点组成;处理所述原始数据以确定是否从所述多个数据点中筛除第一数据点,其中所述第一数据点是在所述表面描述指示所述第一数据点的图形表示将实质地受到第二数据点的图形表示的影响时被筛除的;生成抽象几何结构,其由基元组成,所述基元在所述数据可视化中图形表示未筛除的数据点;处理所述抽象几何结构以确定是否筛除抽象几何结构,其中筛除所述抽象几何结构使组成所述抽象几何结构的基元减少而不实质影响所述可视化,由此改善渲染效率;以及将所述抽象几何结构作为序列对象存储在存储器的连续块中,所述序列对象被配置为用于针对所述可视化的接近持续的取回。

【技术特征摘要】
【国外来华专利技术】2014.10.14 US 62/063,741;2015.04.09 US 14/683,0911.一种用于提供针对数据可视化的性能优化的方法,包括:接收数据,所述数据包括原始数据和用于可视化的表面描述,所述原始数据由经由图形表示在所述可视化中显示的多个数据点组成;处理所述原始数据以确定是否从所述多个数据点中筛除第一数据点,其中所述第一数据点是在所述表面描述指示所述第一数据点的图形表示将实质地受到第二数据点的图形表示的影响时被筛除的;生成抽象几何结构,其由基元组成,所述基元在所述数据可视化中图形表示未筛除的数据点;处理所述抽象几何结构以确定是否筛除抽象几何结构,其中筛除所述抽象几何结构使组成所述抽象几何结构的基元减少而不实质影响所述可视化,由此改善渲染效率;以及将所述抽象几何结构作为序列对象存储在存储器的连续块中,所述序列对象被配置为用于针对所述可视化的接近持续的取回。2.根据权利要求1所述的方法,其中,所述方法的步骤在后台线程中执行,以使得执行所述方法的客户端不会体验到由于执行所述方法而引起的在用户界面中无响应的时段。3.根据权利要求1所述的方法,其中,所述表面描述还指示,当表示组成所述多个数据点的数据点的抽象几何结构超出所述可视化的显示区域时,筛除所述第一数据点。4.根据权利要求1所述的方法,其中,确定筛除所述第一数据点是基于与所述可视化的类型相对应的定制筛除逻辑的。5.根据权利要求1所述的方法,其中,使组成所述抽象几何结构的基元减少还包括:描述主要几何结构,其能够操作以被存储和取回一次来描述若干实例;基于所述表面描述,确定所述多个数据点中的一个数据点是否为将具有重复所述主要几何结构的对应抽象几何结构的若干实例中的实例;以及当所述数据点是实例时,将所述实例的所述抽象几何结构设置为在所述可视化中将围绕其建立所述主要几何结构的点。6.一种用于提供针对数据可视化的性能优化的系统,包括:处理器;以及包括指令的存储器存储设备,所述指令当被处理器执行时使得所述系统提供:序列布局模块,其能够操作以创建包括基元的抽象几何结构以图形表示根据可视化中的序列来组织的原始数据;以及布局引擎,其能够操作以接收表面描述和所述原始数据,还包括:数据筛除器,其能够操作以处理所述原始数据来基于所述表面描述确定是否筛除所述原始数据,其中在所述表面描述指示所述原始数据的第一数据序列的图形表示将实质地受到所述原始数据的第二数据序列的图形表示的影响时,筛除所述第一数据序列;以及几何结构筛除器...

【专利技术属性】
技术研发人员:B·C·阿林M·伍尔夫
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1