Posted by Alan on 26/04/2022 10:41:40:
…
The bottleneck seems to be between Octoprint and the 3D printer.. So hopefully not a network bottleneck..
There's very little network traffic… only a small network!
This is why printing from the SD card is fault free..
I like the thinking, but it's unlikely the serial interface is a bottleneck. My version of the Cotton Reel gcode is 2.4 million characters in 75102 lines, one gcode instruction per line. (I think Alan is right to suggest there's a lot of gcode because the cotton-reel is so curvy.)
Sounds a lot but 3D printers usually connect with the USB serial link running at 115200 bits per second, or roughly 10000 characters per second. Therefore I'd expect the cotton reel gcode to transfer in 4 minutes, a bit over 300 instructions per second.
As the cotton reel takes 90 minutes to print, my printer obeys a little under 14 gcode instructions per second, which means the serial interface is 20x faster than the printer. And this is the worst case, assuming that the printer executes one gcode instruction at a time as each is received via the USB cable. More usual for programmers to buffer downloads by reading many lines at a time and reading ahead means the printer never waits for gcode to arrive. The average size of a cotton reel gcode instruction is 32 characters, so a tiny 4096 byte buffer would read 128 gcode instructions per gulp. Actually, the buffer could be big enough to read all 75102 instructions before the bed and extruder have finished heating up.
That said, could be a bug or configuration problem. I can't get my Ender3 Pro to print with USB at all. In theory, Cura is able to send gcode direct to the printer from Windows or Linux. Nope. Monitoring the serial interface shows the printer responds but chokes on gcode, whilst Cura doesn't recognise the printer for bed heating etc. pronterface not working either. Something ain't right with my USB, so I print with the memory card instead. The USB problem is on my ever growing 'To Do' list…
Dave