With the work of Robert Ellenberg Look ahead has been greatly improved. Originally the TP could only look 1 segment ahead. This worked well for most machining operations - but large gcode programs made up of short line/arc segments run poorly. This page is comparing Linuxcnc's current TP (on segment look ahead) with the new TP (Robs work) and also some other machine controls.
The new TP allows you to set the number of segments it looks ahead. Most of the testing here had the TP set to 50 segment look ahead. Here is a great ongoing thread that shows how to test the new TP.
Couple notes. There are some design changes at this time with the new TP.
exact stops between G0 and Feed moves (and vice versa..) In G64 - P and Q needs to be explicitly entered. (in the current TP if you don't have a Q then Q=P.)
Most testing on this page have done have been with a config setup with 500ipm and 30in/s^2.
Lets start with a simple program here.
% (1" square with 1/4"r corners) G90 G54 G20 G64 G0 X0 Y.25 Z.25 z0 G1 Y.75 F999 G2 X.25 Y1 I.25 G1 X.75 G2 X1 Y.75 J-.25 G1 Y.25 G2 X.75 Y0 I-.25 G1 X.25 G2 X0 Y.25 J.25 G0z.25 M30
This is what it looks like.
Here is the Current TP velocity plot.
Here is the New TP velocity plot. (notice the exact stops at the GO transitions)
Here is an actual logging of the step/dir signals though a mesa 7i80 board. (linuxcnc)
Here is a actual logging of Mach's step/dir signals. I have noticed mach seems to violate the set acceleration.. 40+in/s^2 (mach seems to exact stop at the begining - not the end of G0 transitions.)
This is an other profile. Here is the program upload:kafa5.ngc
This is the current TP strait G64. Notice the horizontal divisions. It had to be set to 1sec/div to fit the whole program
This is the New TP strait G64. Now set to 500msec/div (that is twice as fast...)
This is the current TP with G64P.1Q.1 (metric)
This is the new TP with G64P.1Q.1 (metric)