描述
我注意到,当绘制高频正弦的OxyPlot与低频正弦的LineSignal时,在性能上存在显著差异。)不管是正弦信号还是其他信号。我只是用了一个正弦。)
当我使用低频(你可以清楚地看到正弦波)渲染时,摇摄和缩放速度非常快。然而,当我使用高频(在那里你无法识别一条曲线,整个绘图区域被信号覆盖)渲染,摇摄和缩放明显缓慢。
显然,点数的数量并不是问题的根源,因为我在每个场景中都使用100_000点。看起来被颜色覆盖的区域是至关重要的。反应范围越大,反应时间越长。
使用ScreenPoint抽取器有点帮助,但差别仍然很大。
我无法用OxyPlot.SkiaSharp测试这种行为,因为鼠标操作在那里似乎不起作用。
如何繁殖
https://github.com/chriglburri/OxyPlotRenderingPerformanceDemo
的性能
有没有人知道我如何提高渲染性能?
(这个问题基本上是一个重复的github问题,我没有得到任何答复:https://github.com/oxyplot/oxyplot/issues/1895)
发布于 2022-06-30 11:43:00
使用XamlRenderContext显着地提高了性能。您可以像这样创建自己的PlotView类
public class XamlPlotView : PlotView
{
protected override IRenderContext CreateRenderContext()
{
return new XamlRenderContext(this.Canvas);
}
}然后在视图的xaml文件中使用它,如下所示:
<local:XamlPlotView x:Name="Plot">
</local:XamlPlotView>https://stackoverflow.com/questions/72787251
复制相似问题