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

Hull building is very slow on embedded systems #16

Open
Jookia opened this issue Feb 23, 2023 · 1 comment
Open

Hull building is very slow on embedded systems #16

Jookia opened this issue Feb 23, 2023 · 1 comment

Comments

@Jookia
Copy link

Jookia commented Feb 23, 2023

Moonraker imports this package for preprocessing prints on embedded Linux boards like the Pi Zero. For the most part this is a great feature, but on large prints it's very very slow.

I did some profiling and the issue comes from the time spent parsing each G-code step to build a hull, even if the hull is just going to be a bounding box without shapely installed. Disabling this feature manages to cut around 100 seconds off the preprocessing time.

While having people do preprocessing in their slicer would be much better, it seems like people rely on this feature now.

Maybe a compromise would be to disable this hull building by default and falling back to any bounding box a slicer includes. I know that PrusaSlicer and friends provide this information.

@kozross
Copy link

kozross commented Feb 23, 2023

FWIW, Mainsail's own docs essentially suggest an on-board configuration. While in theory Moonraker could reside somewhere else, in practice, Klipper and Moonraker are almost always co-resident, and while an off-board option is mentioned, it's done only in passing.

This setup can make for intolerably slow times for double-digit MiB G-code on weaker boards. Even more powerful ones like the RPi 4b can choke once we hit triple digit MiB. If you have some of the more exotic slicer features (like avoiding perimeter crossing, or PrusaSlicer's new curl avoidance) or print detailed models (such as miniatures, which I do), those numbers are very easy to hit.

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

No branches or pull requests

2 participants