Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve tessellator performance by delaying calls ofisIntersectingPolygon #11785

Closed
iverase opened this issue Sep 19, 2022 · 1 comment
Closed

Comments

@iverase
Copy link
Contributor

iverase commented Sep 19, 2022

Description

This method iterates over all the remaining edges of a polygons to check if a given edge intersects any of them .Currently the method is called when curing local intersections or splitting the polygon which is iterating over the polygon edges so it is potentially a O(n^2) on the edges of the polygon.

The calls are performed on a big conditional but currently the calls are not done in the last position. So just moving the call to the last position brings a very nice performance improvement. For example for the polygons shared on #11777:

FE-24544446.txt:
without change: 542.682 seconds
with change: 229.524 seconds

ORG-24132378.txt:
without change: too long, I did not have patience to let it finish.
with change: 1416.57 seconds

@iverase
Copy link
Contributor Author

iverase commented Sep 20, 2022

closed in #11786

@iverase iverase closed this as completed Sep 20, 2022
@iverase iverase added this to the 9.5.0 milestone Sep 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant