Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses the slowness mentioned in #5016.
In the epic C++ refactor in ba40160, the line that determines whether to perform clipping of paths to the figure size in the Agg backend changed from:
to
Spot the problem? It means we were only clipping when there was a hatch, rather than when there wasn't a hatch -- effectively disabling it for most things.
This should have a major impact on panning and zooming performance of large time series.
I'm not exactly sure how to write a test for this -- the result, by its nature, isn't visible, and this is pretty deep into the C++ code to make a "unit test" out of it. I'll think on that some more, but in the meantime I thought it better to just address this very serious regression.