高性能图表控件LightningChart关于显示频谱图的过去数据问题解答

本文主要介绍了高性能图表控件LightningChart关于显示频谱图的过去数据的问题解答。

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据——超过10亿个数据点。LightningChart包括广泛的2D、高级3D、Polar、Smith、3D饼/甜甜圈、地理地图和GIS图表以及适用于科学、工程、医学、航空、贸易、能源和其他领域的体位功能。

LightningChart.NET重加入在线订购,SignalTools,12个月,WPF版本原价405元,现价3499元,现在抢购立享优惠!立即购买>>

LightningChart.NET最新试用版  LightningChart JS最新试用版  

Q:显示频谱图的过去数据

首先,我为我糟糕的英语感到抱歉。
我正在为 Spectrogram 开发软件。
正在通过参考演示应用程序的高分辨率频谱图进行实施。
此演示应用程序中的示例代码表明您正在使用 IntensityGridSeries 绘制光谱。
我想要开发的是让用户通过做一些事情(例如,使用鼠标滚轮等)来查看过去的数据。
下图显示了我目前正在实施的图表。我只添加了暂停数据显示的功能。演示应用程序的实现方式几乎没有区别。
在暂停数据的显示之后,需要使用特定动作查看过去数据的功能。
我附上更多图片以帮助您理解我的问题。

高性能图表控件LightningChart关于显示频谱图的过去数据问题解答 高性能图表控件LightningChart关于显示频谱图的过去数据问题解答

F:这应该可以做到,但可能有点棘手。问题是,由于技术原因,您不能拥有一个巨大的连续 IntensityGridSeries,您可以向后滚动。现在的标准 PC 使用 DirectX 11,最大纹理尺寸限制为 16384,可以防止这种情况。此外,dotNET 对数组大小有限制 – 每个数组 2GB(尽管通常可以通过设置 LargeAddressAware 标志来增加)。因此,您可能无法将所有当前和过去的数据点存储在单个数组中。此外,性能可能会显着下降。

一种方法是为过去的点设置一个单独的数据数组。例如,您可以将稍后要查看的数据存储在该数组中,然后通过将其分配为频谱图的数据来显示它。

_spectrogram.SetColorsData(_colorsDataPastPoints, IntensityGridValuesDataOrder.RowsColumns); 
_spectrogram.InvalidateColorsOnly(); 

您也可以以同样的方式切换回主(当前)数据。
当然,您为过去的点创建的每个新数组都会增加应用程序使用的内存。因此,您应该仔细考虑需要多少个单独的数组来存储过去的数据点,因为例如,如果您的应用程序应该运行数小时,那么将所有过去的数据存储在数组中很可能是不明智的。如果您只需要显示前几秒,这种方法应该可以正常工作。

如果有任何疑问,联系客服以获取更多信息。

如果您对该图表控件感兴趣,欢迎加入图表控件QQ交流群:

欲购买LightningChart正版授权,或了解更多产品信息请点击【咨询在线客服】

高性能图表控件LightningChart关于显示频谱图的过去数据问题解答

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月1日
下一篇 2021年6月1日

相关推荐

发表回复

登录后才能评论