The illusion of speed

Anybody doing 3D printing wants to minimize the amount of time a print takes. New users try “tweaking” speeds by making changes to printer speeds on the front panel, or by increasing slicer speeds, often without understanding what really affects print times. The results can prove disappointing on several levels. Here’s why.

Apologies up front for my sense of humor. I’m going to channel the Dude for this one. If you like your paradigms shifted, you might like this…

Note

These notes are based on my experiences with the Prusa i3 Mk3 and Artillery/Evnovo Sidewinder X1 printers. If you are using a different printer, please verify the hardware details are similar.

Speed is an illusion, man! That’s all just about how fast you move from point A to point B. We’re living in a 3D reality! What makes the difference in actual print times is the amount of plastic laid down as you make that move. The more plastic you lay down, the sooner the print finishes. That’s measured in cubic mm per sec (mm3/s).

The E3D V6 hotend used on the Prusa printers can process (heat and move) PLA filament at approximately 11.5 mm3/s through a 0.4mm nozzle. (It’s advertised as 15 mm3/s, but reality puts it lower. Bummer.) Other manufacturers don’t say what their hotend can handle. Heat increases throughput slightly, but at the cost of other issues. Thus your upper limit of filament shoved through the hotend should not exceed roughly 11.5 mm3/s starting out. If you do exceed this limit, you may encounter extruder clicks and skips, and very possibly jams as filament is not fully melted before you attempt to shove it through that tiny nozzle opening. This can contribute to extruder motor and feed heat.

The volumetric rate is calculated as:

Max. Volumetric Rate = Layer Height \times Extrusion Width \times Speed

Working backwards, we can calculate our maximum speed as:

Max. Speed = \frac{Max. Volumetric Rate}{Layer Height \times Extrusion Width}

This means that our maximum linear speed goes down as we use a larger nozzle. But get this, man… You rarely print at your maximum speed anyhow. Those “speed” settings are only for maximum linear speeds moving from one point to another. The actual amount of time it takes to get up to those speeds is determined by acceleration and jerk settings.

Not to mention, there’s an upper limit on speed imposed by hardware. The Prusa hardware has a maximum speed of something like 200mm/s. Other printers vary, but are usually close to that range.

There’s also a throttle in the form of max volumetric speeds (MVS) on your filament settings. On smaller prints, you may never approach your set speeds.

So how fast can we go in order to maintain a MVS of < 11.5 mm3/s?

  • Using a 0.25mm nozzle with a 0.30mm extrusion width (120%), you can print up to 200mm/s (printer max) at 0.15mm layer height, and 191mm/s at 0.20mm layer height.

  • Using a 0.40mm nozzle with a 0.48mm extrusion width, you can print up to 159mm/s at 0.15mm layer height, and 119mm/s at 0.20mm layer height.

  • Using a 0.60mm nozzle with a 0.72mm extrusion width, you can print up to 106mm/s at 0.15mm layer height, and 79mm/s at 0.20mm layer height.

  • Using a 0.80mm nozzle with a 0.96mm extrusion width, you can print up to 79mm/s at 0.15mm layer height (below the 25% recommended minimum) and 59mm/s at 0.20mm layer height.

At first glance, larger nozzles suck man. They’re so slow. But think about it: For every mm a larger nozzle moves, it’s pushing through several times the amount of filament as a smaller nozzle at the same linear speed 1. Remember, on smaller prints you’re not going to be moving at your maximum speeds for most of the print anyhow. If our average speed is closer to 50mm/s, the larger nozzle has a real edge:

  • Using a 0.40mm nozzle at 0.48mm extrusion width and 0.20mm layer height at 50mm/s: .48 X .2 X 50 = 4.8 mm3/s

  • Using a 0.80mm nozzle at 0.96mm extrusion width and 0.20mm layer height at 50mm/s: .96 X .2 X 50 = 9.6 mm3/s

While our 0.80mm nozzle is limited to linear speeds that are roughly half those of the 0.40mm nozzle, it can lay down twice as much plastic in the same amount of time. Even if we constrain the larger nozzle to half the speed of the smaller nozzle, it will move just as much plastic:

  • Using a 0.40mm nozzle at 0.48mm extrusion width and 0.20mm layer height at 100mm/s: .48 X .2 X 100 = 9.6 mm3/s

  • Using a 0.80mm nozzle at 0.96mm extrusion width and 0.20mm layer height at 50mm/s: .96 X .2 X 50 = 9.6 mm3/s

If we don’t constrain the larger nozzle to the same layer heights and extrusion widths as the smaller nozzle, it really comes into its own. Here are the results of using both nozzle sizes as their maximum settings (rounding speeds down to the closest mm/s):

  • Using a 0.40mm nozzle at 0.48mm extrusion width and 0.32mm layer height at 74mm/s: .48 X .32 X 74 = 11.36 mm3/s

  • Using a 0.80mm nozzle at 0.96mm extrusion width and 0.64mm layer height at 18mm/s: .96 X .64 X 18 = 11.06 mm3/s

So if we max out all of the settings, the larger nozzle puts out the same amount of plastic moving at half the speed. No real gain, right? But wait a minute, man. The larger nozzle has just put down extrusions that are twice as wide. You can produce a much stronger part, or completely eliminate the need for a perimeter wall! Your smaller nozzle moving twice as fast is going to take longer than a larger nozzle printing the same wall thickness.

Let’s check out some real-world examples. This is a chance to try using the Preview function in PrusaSlicer to fine tune your print selections before committing to a long print. Let’s start with a typical functional print. In this case, we’re printing 8 GoPro extension arms using PLA.

First, we’ll slice using typical 0.40mm nozzle parameters:

0.40mm Nozzle Print Times

Fig. 72 0.40mm Nozzle Print Times

Notice that print time of nearly 11 hours. Next, let’s slice that same print using typical 0.80mm nozzle parameters:

0.80mm Nozzle Print Times

Fig. 73 0.80mm Nozzle Print Times

Notice that our print time is now below 8 hours. Of course, slicer estimates are rarely spot-on, but you can expect to see proportional gains. Just for fun, let’s slice the same print using a 1.00mm nozzle:

1.00mm Nozzle Print Times

Fig. 74 1.00mm Nozzle Print Times

Whoa. Print time drops to just below 7 hours. That’s not even the best part. Check out what our 0.40mm nozzle produces on the inside:

0.40mm nozzle features

Fig. 75 0.40mm nozzle features

OK, yeah, it looks nice enough. We’ve got our 20% infill and our 2 perimeters. Now look inside the same print with a 0.60mm nozzle:

0.80mm nozzle features

Fig. 76 0.80mm nozzle features

Talk about a functional part! Our 2 perimeters are thick and strong. Our infill is rock solid. Those wimpy 2 perimeters are filled in on the long hollow spans providing significantly more strength. Now let’s amp this baby up with a 1.00mm nozzle:

1.00mm nozzle features

Fig. 77 1.00mm nozzle features

5 hours less print time. Significantly stronger parts. All on a stock Prusa i3 Mk3 with zero modifications. End of discussion. Why would you use a nozzle any smaller than you absolutely have to?

Theory is great, but let’s look at some actual print results. Here’s an open-top cube showing the internals of our print using a 0.40mm nozzle:

0.40mm nozzle print results

Fig. 78 0.40mm nozzle print results

And here’s the same cube printed with the same parameters using a 0.80mm nozzle:

0.80mm nozzle print results

Fig. 79 0.80mm nozzle print results

You can also use thicker layer heights, which will further improve print times, though at the expense of vertical finish quality. You can use wider extrusion widths which will greatly improve part strength. You can really see this come into play when printing in vase mode with one single extrusion making up the entire part. Here’s a print using a 0.40mm nozzle in vase mode at maximum extrusion width (120% = 0.48mm) and layer height (80% = 0.32mm):

0.40mm Nozzle vase mode

Fig. 80 0.40mm Nozzle vase mode

And here’s the same print done with a 0.80mm nozzle in vase mode at maximum extrusion width (120% = 0.96mm) and layer height (80% = 0.64mm):

0.80mm Nozzle vase mode

Fig. 81 0.80mm Nozzle vase mode

The walls are twice as thick and it prints in about 2/3 of the time.

Try firing up PrusaSlicer, slicing your typical models and saving the gcode file. Then spend some time in preview mode. Check out the speed and volumetric flow rate view settings. See just how often you hit maximum speeds on your typical prints. Notice that speeds will always be limited by the lower of the max volumetric speed set for either the filament or the printer. Try the same with different filaments and nozzle sizes. You’ll see that spinning that front knob up to higher speeds doesn’t really do anything beyond a certain point. If you’re not using PrusaSlicer, you may be able to set speed settings that are far too high for the hardware’s capacity. You can go slower, but you can only go so fast! It’s pretty far out. Let’s take a look at what’s going on inside:

Let’s look at the actual speeds being produced when printing with a 0.40mm nozzle:

0.40mm Nozzle Speeds

Fig. 82 0.40mm Nozzle Speeds

While we’ve got our infill speed set to 180mm/s, we’re never actually hitting that speed. Our perimeter speeds are a fraction of that (per our settings), but even infill is printing somewhere nearer 150mm/s. The reason for this is a combination of time required to come up to full speed due to acceleration and jerk settings, and most of all, MVS:

0.40mm Nozzle MVS

Fig. 83 0.40mm Nozzle MVS

Speeds are being throttled to maintain our MVS setting (11.5 mm3/s) on infill. Now compare to our 0.80mm nozzle results:

0.80mm Nozzle Speeds

Fig. 84 0.80mm Nozzle Speeds

Speeds have dropped off, but we’re spending a lot less time printing narrow perimeters. Every pass lays down twice as much plastic, which reduces lines to be printed. Printing a line faster will never be faster than 0! You can really see the effect when viewing MVS:

0.80mm Nozzle MVS

Fig. 85 0.80mm Nozzle MVS

Fewer lines, and proportionally a lot more time extruding at maximum.

In slicers like PrusaSlicer and Kisslicer that allow using max volumetric speeds, MVS is the easiest setting to change. In other slicers, you have to reverse-engineer the speeds to use based on your extrusion width and layer height.

If you really want to go down the rabbit hole, consider how this impacts prints when you use adaptive layer heights. Layers between 0.05 and 0.48mm could be used in the same print. It’s pretty trippy, man. Far out stuff.

Why else does nozzle size matter? The Prusa PLA preset has the max volumetric speed (under Advanced) set to 15 mm3/s. Prusa’s preset for PETG is 8 mm3/s. The E3D V6 limit is generally considered around 11.5 mm3/s. Read through many of the posts on extruder problems and you’ll see many in which PLA is a problem, but PETG works well. Think about it!

Getting your nozzles right really ties the printer together.

I think the quote from Star Trek: The Wrath of Khan summed it up best…

He is intelligent, but not experienced. His pattern indicates two dimensional thinking. – Spock in Star Trek: The Wrath of Khan

Or to paraphrase the Secret of Steel from Conan the Barbarian…

Ah. It must have been when I was younger. There was a time, boy, when I searched for [speed], when [speed] meant more to me than gold or jewels. […] Yes! You know what it is, don’t you boy? Shall I tell you? It’s the least I can do. [Speed] isn’t [fast], boy, [volumetric throughput] is [faster]! […] That is [speed], boy! That is power! What is [speed] compared to the [nozzle] that [extrudes] it? - Thulsa Doom in Conan the Barbarian after a long night in the MakerSpace

I’ve put more notes on nozzle sizes and their impact on print times here.

Footnotes

1

The Square–Cube Law

Contact and feedback

You can find me on the Prusa support forums or Reddit where I lurk in many of the 3D printing-related subreddits. I occasionally drop into the Official Prusa 3D discord server where I can be reached as bobstro (bobstro#9830). You can email me directly at projects@ttlexceeded.com.

Last edited on Apr 03, 2021. Last build on Apr 03, 2021.