Open
Description
Prusa Slicer generates G1 Fxxx moves with no axis ior extruder movement. These can be very frequent (e.g. every other line) under some conditions, e.g. when Dynamic Overhang Speed is enabled. Currently these moves are passed to the Move task, which discards them when it realises there is no movement. We could make the code in DoStraightMove more efficient as follows:
- If variable axisLettersMentioned is empty, we can skip all processing related to axes, and most processing related to the move type
- After we have called LoadExtrusionFromGCode, if no axes have been mentioned and this is not the first move after skipping an object, we can store the feedrate (if not already done by LoadExtrusionFromGCode) and quit. This avoids having the Move task process the command.
We also need to consider how we process a G1 Sxxx move with no axes mentioned when in laser mode, and likewise a G1 Pxxx move.