【问题标题】:OxyPlot: SkiaSharp vs SharpDXOxyPlot:SkiaSharp vs SharpDX
【发布时间】:2020-08-19 14:03:45
【问题描述】:

我正在尝试将 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; }

非常感谢任何帮助。

【问题讨论】:

    标签: c# performance sharpdx oxyplot skiasharp


    【解决方案1】:

    以防万一其他人也面临这个问题。

    在深入研究之后,我决定继续使用 SkiaSharp,因为它显示(至​​少在我们的测试中)比 SharpDX 稍快。

    对于这些测试,我们绘制了 5000 条线,每条线都有 300 个点。

    使用 SkiaSharp 进行 3 次测量的平均时间为 23.91 秒。同时,使用 SharpDX 的平均时间为 25.8 秒。

    此外,SkiaSharp 案例的开发似乎更加活跃。

    这两个事实导致我们做出了这个选择。

    我希望这个答案可以帮助其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多