Q:

Marlin acceleration issue on corners

I use Simplify3D to slice my prints, and I've set it to print everything with 4000 Acceleration and 50 Acceleration for outer perimeters only.
Everything works fine, Marlin changes acceleration settings without issues, but with low accelerations my corners are bigger than they should:

The object I'm printing is this one: https://www.thingiverse.com/thing:2478785
As you can see in the model, highlighted parts in the picture should have 90° corners with perfect straight lines.
It seems that Marlin adjusts acceleration just for print speed, without adjusting it too for the extruder, so the extruder extrudes a constant amount of filament, which on slow speeds (corners) results in an overextrusion and on high speeds (lines) results in an underextrusion, causing bad corners and inaccurate prints.
This happens with acceleration between 50 and 300. If I use 1000 as acceleration for perimeters the problem is gone, but I need to use small numbers in order to have clean corners and avoid ghosting.
Am I the only one experiencing this? What could be causing the issue?

A:

It seems that Marlin adjusts acceleration just for print speed, without adjusting it too for the extruder, so the extruder extrudes a constant amount of filament, which on slow speeds (corners) results in an overextrusion and on high speeds (lines) results in an underextrusion, causing bad corners and inaccurate prints.

This is not the case. Marlin accelerates the extruder perfectly in sync with the printhead, and the speed of the extruder is perfectly proportional to the movement speed. However, the extruder itself has a certain amount of "lag": as you feed in filament, pressure builds up. As you stop feeding filament (or slow down), the built up pressure causes the extrusion to continue for a while. Thus, even with "correct" control of the extruder, you don't necessarily get the desired amount of extrusion.
Marlin has a feature, that you can enable in the advanced configuration file, called "extruder advance". It looks at the acceleration/deceleration of the extruder, and advances the extruder a few extra steps when the speed increases, and backs it off again as the speed decreases. You will need to tune this feature to get rid of the overextrusion at the corners.

