如何解决OxyPlot:SkiaSharp vs SharpDX
我正在尝试将OxyPlot与.NET Core 3.0一起使用以显示具有数千个LineSeries的绘图,并且每个LineSeries都包含数百个点。
由于数据太多,因此我正在尝试SkiaSharp渲染器和SharpDX(https://github.com/oxyplot/oxyplot-sharpdx)。但是,我不确定该选择哪一个,因为oxyplot-sharpdx的开发似乎在几个月前就停滞了,而SkiaSharp还是很新的。
您会推荐我哪一个?有人在他们之间进行了性能比较吗?
举一些我想要达到的目标的示例,下面是一些代码:
public MainViewModel()
{
var model = new PlotModel { Title = "Hello SharpDX from WPF" };
model.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom });
model.Axes.Add(new LinearAxis { Position = AxisPosition.Left,Title="Left Axis Title" });
for (int i = 0; i < 5000; ++i)
{
var lineSeries = new LineSeries ();
for (int j = 0; j < 300; ++j)
{
lineSeries.Points.Add(new DataPoint(j,j * i % 2));
}
model.Series.Add(lineSeries);
}
this.Model = model;
}
public PlotModel Model { get; }
任何帮助都会非常感激。
解决方法
以防万一其他人也面临这个问题。
研究了这一点之后,我决定继续使用SkiaSharp,因为它(至少在我们的测试中显示)比SharpDX快一点。
对于这些测试,我们绘制了5000条线,每条线都有300点。
使用 SkiaSharp 进行3次测量的平均时间为 23.91 秒。同时,使用 SharpDX 的平均时间为 25.8 秒。
在SkiaSharp案中,开发似乎也更加活跃。
这两个事实使我们做出了选择。
我希望这个答案可以帮助其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。