我正在开发一个 C# 应用程序,该应用程序必须绘制大量数据(数据集大小介于 100 万个数据点到 3000 万个数据点之间)。
在绘图之前,我会进行线性插值以均匀地间隔点(插值是软件要求的一部分,所以我无法避免)。这导致比原始集合更多的数据点(例如,100 万个点很容易变成 150 万个或更多)。
在(愚蠢的?)尝试节省内存时,我一直在插入和绘制块。例如,我将块大小设置为 100,000,因此我插入前 100,000 个点并绘制它们,插入第二个 100,000 点并绘制它们,依此类推,直到绘制完所有插入点。
我并行使用两个数组(代表 x 和 y 值)。数组在下一个块开始之前重新分配。不幸的是,对于最大的数据集(大约 3000 万),程序会抛出 OutOfMemory 错误。
我想知道是否可以简单地重用相同的两个并行数组,用每个块的新值覆盖旧值?这甚至是个好主意吗?
阅读更多关于线性插值:http ://en.wikipedia.org/wiki/Interpolation#Linear_interpolation