Max print speed from volumetric flow: the calculator slicers use

Published October 15, 20264 sources

What it calculates

Divide the volumetric flow limit by the cross-section of one extrusion line. PrusaSlicer and OrcaSlicer model that cross-section as a rectangle with rounded ends, height × (width − height × (1 − π/4)) [1, 2]. At 0.2 mm layers and 0.45 mm lines that is about 0.0814 mm², so 15 mm³/s allows roughly 184 mm/s.

Inputs
Calculate
mm³/s
mm
mm
mm

Only filaments whose maker publishes a maximum volumetric speed are listed. Measured limits on your hotend may be lower.

Result

Max print speed (Slic3r flow model)184mm/s
Same with a plain rectangle (w × h)167mm/s
Extrusion cross-section0.0814mm²
Filament feed into the extruder6.24mm/s

speed = 15 ÷ (0.2 × (0.45 − 0.2 × (1 − π/4))) = 184 mm/s

What the numbers mean

A hotend can only melt so much plastic per second. That ceiling is a volume rate, measured in cubic millimetres per second (mm³/s), and it is the same whether the plastic leaves as thin fast lines or thick slow ones. Print speed in mm/s is how fast the nozzle moves along a line. The bridge between the two is the cross-section of the line being laid down: volume per second = speed × cross-section.

That is why one hotend can run 300 mm/s at 0.12 mm layers but struggles at 150 mm/s with 0.3 mm layers and wide lines. The flow limit did not change; the cross-section did.

OrcaSlicer stores this limit per filament as Max volumetric speed (filament_max_volumetric_speed) and uses it to hold print speed down whenever a requested speed would need more flow [4].

The formula

Slicers derived from Slic3r do not treat an extrusion as a plain rectangle. In both PrusaSlicer and OrcaSlicer, the function Flow::mm3_per_mm() models a regular line as a rectangle with semicircular ends, which gives an area of height × (width − height × (1 − π/4)), or roughly h × (w − 0.215 h) [1, 2]. Bridges are different: the code treats a bridge extrusion as a circle with the line width as its diameter [2].

So the calculator computes:

  • cross-section A = h × (w − h × (1 − π/4))
  • max speed = flow limit ÷ A
  • flow needed = speed × A

It also shows the plain-rectangle result (w × h). The rectangle is larger, so it gives a slightly lower speed for the same flow. Use the rounded model when you want your number to match what the slicer will actually do.

Worked example

For 0.45 mm lines at 0.2 mm layers, A = 0.2 × (0.45 − 0.2 × 0.2146) = 0.0814 mm². With a 15 mm³/s limit, max speed = 15 ÷ 0.0814 ≈ 184 mm/s. The rectangle model gives 0.09 mm² and about 167 mm/s.

Where the flow limit comes from

There are three sources, in order of how much they tell you about your own printer:

  1. Your own measurement. OrcaSlicer’s max volumetric speed test prints a tower whose flow rises with height; the default runs from 5 to 20 mm³/s in 0.5 mm³/s steps, and you read the value from the height where the surface starts to fail: start + height × step [3]. The tower calculator does that conversion, and the calibration guide walks through the test.
  2. The filament maker’s figure. A few manufacturers publish a maximum volumetric speed for a specific filament and hotend. Those that do are listed in the preset menu above and on the max volumetric speed comparison. Most data sheets do not publish one.
  3. The slicer’s stock profile. A starting point, not a measurement of your hardware.

OrcaSlicer’s guide adds that the test is a best case that ignores retraction and other factors, and suggests reducing the measured value by 10–20% or more to protect print quality and strength [3]. It also notes that brand and color can change the limit within one material type [3].

Reading the result

The speed this calculator returns is a ceiling for continuous extrusion at that layer height and line width. Real prints rarely reach it everywhere: acceleration limits, minimum layer time and cooling slow many lines down. If you set outer walls slower than the ceiling for surface quality, that is expected.

When the result is far below the speed you hoped for, the levers are, in order of effect: thinner layers, narrower lines, a hotter nozzle within the filament’s published range (OrcaSlicer suggests the higher end of the range for high flow [3]), or a hotend with a longer melt zone. A filament sold as “high speed” or “high flow” is formulated to melt faster; see high-speed PLA.

Filament feed rate

The last readout converts flow into how fast filament enters the extruder, in millimetres per second: flow ÷ (π × (d/2)²). For 1.75 mm filament the strand cross-section is about 2.405 mm², so 15 mm³/s is about 6.2 mm/s of filament. This is the speed the extruder gears must grip and push, which matters when diagnosing under-extrusion at high speed.

Questions

Why does my slicer print slower than the speed I set?

OrcaSlicer caps print speed with the filament's Max volumetric speed setting so the requested flow never exceeds it [4]. If the speed you set needs more flow than that limit, the slicer lowers the speed for those lines.

Which number should I enter: the hotend's rating or the filament's?

The lower of the two. OrcaSlicer's wiki notes that the limit depends on the material, the machine, the nozzle and even the color of the same filament type [3], so the value you measured for your printer and spool beats a catalogue figure.

Sources

  1. Flow.cpp, Flow::mm3_per_mm(). PrusaSlicer source code, Prusa Research (GitHub). Source code. Extrusion cross-section: rectangle with semicircular ends. Accessed October 12, 2026.
  2. Flow.cpp, Flow::mm3_per_mm(). OrcaSlicer source code (GitHub). Source code. Same cross-section formula as PrusaSlicer; bridges use a circle of the line width. Accessed October 12, 2026.
  3. Max Volumetric Speed (FlowRate) Calibration. OrcaSlicer Wiki. Slicer documentation. Test procedure, default range 5–20 mm³/s, advice to back off 10–20%. Accessed October 12, 2026.
  4. Material Volumetric Speed Limitation. OrcaSlicer Wiki. Slicer documentation. filament_max_volumetric_speed limits print speed. Accessed October 12, 2026.