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

Optimisation: ERS - Reduce redundant gcode commands from extrusion rate smoothing #7398

Conversation

igiannakas
Copy link
Contributor

@igiannakas igiannakas commented Nov 6, 2024

Extrusion rate smoothing (pressure equaliser) materially increases gcode size due to significant redundancies in the produced gcode.

This PR aims to reduce this, making the gcode smaller and hence, more easily printable due to reduced gcode commands / second issued to the printer.

The changes in this PR:

  1. Address a bug where even 0 change in flow rate would result in a line split
  2. Filters out inconsequential variances in flow rate (less than 5mm/sec speed for a 0.25 mm nozzle) which would have otherwise led to increased line splitting for no visual gain, as the flow delta is insignificant.

If merged, ideally they should be done in this order to reduce possibility of conflicts in GitHub:
#7398
#7399
#7400

Examples:

ERS splits continuous straight lines to segments irrespective of extrusion rate smoothing being applied or not.
image

This PR fixes this - lime splitting is significantly reduced:
image

Total Gcode volume reduction:
Before: - 157169 lines for the test cube
After: 65199 lines for the test cube

2.4x gcode volume reduction.
This gcode volume reduction should also help reduce stuttering in the visual preview of the model as the UI rendering is now much lighter.

Tests:
No regressions observed.

Before:
image

After:
image

@igiannakas igiannakas marked this pull request as ready for review November 6, 2024 19:32
@igiannakas igiannakas changed the title Optimisation: Reduce redundant gcode commands from extrusion rate smoothing Optimisation: ERS - Reduce redundant gcode commands from extrusion rate smoothing Nov 6, 2024
Copy link
Owner

@SoftFever SoftFever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.
Thank you

@SoftFever SoftFever merged commit 67cc143 into SoftFever:main Jan 5, 2025
16 checks passed
@igiannakas
Copy link
Contributor Author

Welcome! Hope all of you are well :)

@igiannakas igiannakas deleted the Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing branch January 5, 2025 17:57
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