Skip to content

Conversation

@VisualMelon
Copy link
Contributor

@VisualMelon VisualMelon commented Jul 4, 2020

The rendering performance of rectangle markers is currently poor, as CanvasRenderContext.DrawRectangles does not batch the rectangles. This addresses that by instead passing them off to DrawPolygon which is significantly faster for large numbers of rectangles. The primary goal is to improve performance of markers.

In addition:

  • Enables streaming geometry: though this does not have a noticeable performance impact, in theory it puts less load on the property engine
  • Replaces ellipses and rectangles with paths with specific geometry: again, this does not noticeably affect performance, but should reduce load on the property engine.
  • Fixes a bug where streaming polygons would not be closed
  • Fixes dash offsets (noticeable in the example Performance > Line Series, 100k points (dashed line) due to the maximum geometry count)

@arakis
Copy link

arakis commented Apr 10, 2021

I can confirm, with this MR, it works MUCH faster, and even Zoom and Panning of simple graphs is more fluent.

@VisualMelon
Copy link
Contributor Author

This seems to degrade the performance of line series without markers; I'll have to take another look at this.

@VisualMelon VisualMelon mentioned this pull request May 6, 2021
BobLd added a commit to BobLd/oxyplot-avalonia that referenced this pull request Dec 19, 2021
@BobLd BobLd mentioned this pull request Dec 19, 2021
8 tasks
@VisualMelon
Copy link
Contributor Author

Closing, largely covered by @BobLd in #38.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants