ScottPlot用于显示10,000多个数据点的实时时间图。
每秒钟添加一次数据点,因此需要更新图表。
计时器每秒钟执行一次刷新,但是,它会将整个UI冻结几毫秒,这是一个循环。
ScottPlot确实有一个非阻塞的Chart.RenderRequest();方法,但是图表仍然呈现在UI线程上,因此不能解决问题。
当然,如果我们试图从后台工作人员刷新它,就会发生线程异常。
var bg = new BackgroundWorker();
bg.DoWork += (s, e) =>
{
Chart.RenderRequest();
};
bg.RunWorkerAsync();有什么方法可以用WPF和ScottPlot在单独的线程中呈现图表吗?
编辑:
时间分析,刷新,渲染,RefreshRequest,RenderRequest都有相似的执行时间,尽管“请求”被认为是非阻塞的。
发布于 2022-10-24 15:07:48
不久前,我遇到了一个类似的问题。
我有大量的数据要显示在多个图表,我发现(在我的能力)一个可以接受的限制有一个令人满意的用户体验是限制的数据呈现约100万点。这里有一些建议,也许可以帮助你解决你的问题。
对我来说,这两个变化大大提高了渲染性能。希望这对你也有帮助。
https://stackoverflow.com/questions/74125844
复制相似问题