-
Notifications
You must be signed in to change notification settings - Fork 985
Description
In my case I am plotting the values of measured particles. The amount of particles in a file can range from 1000 particles to 1.25 milion particles.
I am plotting these with a scatter series with logarithmic axes. When plotting around 10~30k points, this takes barely any time, about 0.05 seconds or less (render time). But the there seems to be a exponential factor to the render time. In my tests, 3k points took around 0.007 seconds, 30k 0.08 seconds, 300k 7.4 seconds. The initial render taking this long is one thing, but panning is also basically impossible, taking a similar time to update.
For alternatives I tried another open source plotting library we had on our minds at first: ScottPlot.
ScottPlot in normal mode experiences similar problems with similar render times, which makes sense given they also run skiaSharp under the hood.
But ScottPlot has also implemented an OpenGL version of the wpf plot through skiasharp. This plot can plot the 300k particles in less than a second and update with about 300 fps while panning and zooming.
We currently have our plots written completely in Oxyplot, so I have the following questions: Is there a way to improve the render/update time with these amounts of particles with the current version? Are there any plans to implement an SkiaSharp openGL version of PlotView in Oxyplot?
If not, would such a version be welcome if we attempted to implement it ourselves? And how feasable would this be?
- Oxyplot.SkiaSharp.Wpf plotview
- OxyPlot version: 2.2.0
- Edgerendering mode preferSpeed
- MarkerType Circle (other types do not privide significant improvement)
- markersize 1.2