Articles › Tools and safety

OpenSCAD with Manifold: how much faster parametric toys really render

Manifold, OpenSCAD's new geometry engine, renders far faster, but most speed-up figures come from users. What is confirmed, what is anecdotal, how to measure.

Intermediate 5 min read October 23, 2026 New maker tricks worth trying in 2026 · lesson 20/20

What you will learn
  • Manifold has been the default engine in OpenSCAD development snapshots since August 2025; the stable release on the download page is still 2021.01.
  • The official word is just 'much faster', with no figure. The 'N times faster' numbers come from Manifold's author and individual users, and vary by model.
  • Measuring is easy: the console prints Total rendering time after every F6. Compare both engines on the same file.
  • Circle resolution affects fit: with default settings a small hole can come out several tenths of a millimetre tight. Set $fn or $fs yourself.

OpenSCAD is CAD you write as code, great for toys you want to resize: wheels, boxes, connectors. Its old weak spot was rendering (F6), which crawled once a model had lots of overlapping shapes. A new geometry engine called Manifold fixes much of that. This lesson covers which versions have it, how to switch it on, and which “N times faster” figures are confirmed versus one person’s experience.

If you haven’t picked a CAD tool yet, read choosing CAD for 3D printing first; this picks up from its OpenSCAD section.

Which versions have Manifold

  • 17 August 2025: OpenSCAD’s lead maintainer announced on the mailing list that Manifold would be the default engine in development snapshots from the next nightly.
  • Official download page: the stable release is still 2021.01, which has no Manifold. The nightly section suggests enabling Manifold in Preferences.
  • October 2026: a release candidate named 2026.10-TEST4 is available to try.

To go back to the old engine (CGAL), choose it in Preferences or run openscad --backend=cgal.

How much faster: who measured what

SourceFigureStrength of evidence
OpenSCAD announcement (2025)“significantly faster”, no figureOfficial, no data
OpenSCAD download page“huge performance boost”, no figureOfficial, no data
Manifold’s author (GitHub)100–1,000× vs baseline OpenSCADMeasured by the engine’s creator, models not named
A user in the GitHub discussion5–30× vs fast-csg modeUser measurement, models not named on that page
A user on the mailing list (2025)12 min 25 s → 51 sOne model, one machine

The honest summary: it is much faster, and several sources agree, but the multiplier depends on the model. The project has no standard benchmark suite, and the biggest numbers come from Manifold’s own author. Read them that way.

Don’t trust anyone’s “N times faster” until you’ve timed your own model. It takes under ten minutes.

Worked example: time saved across many sizes

Using the mailing-list figures (a model railway depot wall with stones, doors and windows; 12-core machine, 16 GB RAM, OpenSCAD 2025.07.17) as an illustration, not a prediction for your model:

  1. CGAL: 12 min 25 s = 745 s
  2. Manifold: 51 s
  3. Ratio = 745 ÷ 51 ≈ 14.6×
  4. Exporting 10 sizes: CGAL = 10 × 745 ÷ 60 ≈ 124 minutes; Manifold = 10 × 51 ÷ 60 = 8.5 minutes

That’s the difference between “leave it overnight” and “make a coffee”. It matters for parametric work precisely because parametric work means rendering again and again.

CGAL745 sManifold51 sone user's model from the mailing list, not a benchmark
About 14x faster on this model; measure your own before trusting it

Measure it on your own model

OpenSCAD’s console prints a Total rendering time line after every F6. For a fair comparison:

  1. Same .scad file, same $fn.
  2. Render with one engine and note the time, then flush the caches (Design → Flush Caches) or restart before trying the other engine, because OpenSCAD caches render results.
  3. Repeat three times and take the median.

Or use the command line, which suits batches of sizes:

# Render a 30 mm wheel with CGAL for comparison
openscad --backend=cgal -o wheel_30_cgal.stl -D d=30 wheel.scad
# Current snapshots use Manifold by default
openscad -o wheel_30.stl -D d=30 wheel.scad

Circle resolution: it affects fit more than speed

With faster renders, people feel freer to raise $fn, and that matters for fit. OpenSCAD draws a circle as a polygon inscribed inside it, so holes come out tighter than specified.

Defaults are $fa = 12 and $fs = 2. Number of sides = ceil(max(min(360 ÷ $fa, 2πr ÷ $fs), 5)).

Example: an axle hole for a wheel. Axle 5.0 mm, clearance 0.3 mm → hole 5.3 mm (r = 2.65).

  1. Defaults: min(30, 2π × 2.65 ÷ 2 ≈ 8.33) = 8.33 → rounded up to 9 sides
  2. How far each flat sits inside the circle = r × (1 − cos(180° ÷ 9)) = 2.65 × 0.060 ≈ 0.16 mm
  3. Across the flats the hole is up to 2 × 0.16 = 0.32 mm narrower: the 0.3 mm clearance is almost gone
  4. With $fn = 64: 2.65 × (1 − cos(2.81°)) ≈ 0.003 mm, negligible

For the right clearance on your printer, see dimensional accuracy and fits.

Example code: a parametric toy wheel

// Toy wheel: change the first four lines
d = 30;        // wheel diameter, mm
w = 10;        // wheel width
axle = 5.0;    // axle diameter
clear = 0.3;   // clearance
$fn = 64;
difference() {
  cylinder(h = w, d = d);
  translate([0, 0, -1]) cylinder(h = w + 2, d = axle + clear);
}

Open the Customizer panel and the top variables become input boxes, so others can resize the wheel without reading code.

Common mistakes

  • Using stable 2021.01 and wondering why it isn’t faster. You need a snapshot or release candidate.
  • Quoting “100× faster” as general fact. It depends on the model and was measured by the engine’s author.
  • Timing without flushing caches. The second run is faster because of the cache, not the engine.
  • Leaving $fn at default for small holes. Holes come out tight and parts won’t fit.
  • Not comparing with CGAL when geometry looks wrong. The new engine can still have bugs; the maintainer says so.

Sources

FAQ

Do I need to change my existing .scad code?

Mostly no; existing code renders with Manifold. The maintainer himself expects people to find new bugs, so if a result looks wrong, render with --backend=cgal to compare and report it.

Does the stable 2021.01 release have Manifold?

No. You need a development snapshot (nightly) or a newer release candidate. Snapshots older than August 2025 need Manifold switched on in Preferences.

Is Preview (F5) faster too?

The clear change is Render (F6), which builds the real geometry for export. On the mailing list a developer commented that preview is still a bit faster than Manifold for most models, and that Manifold's colour and transparency handling isn't complete yet.

Circuits and code were tested on sample boards. Boards differ in pin layout, so check your board's pinout before you power anything.