The collision check and the material removal run as one pass in a background thread. The listing, the axis-limit warnings and playback are available at once; collisions and the stock appear while the pass runs (section 2). Measured on this Mac (Intel i5-8600K, UHD 630, macOS 12, Chrome) by the iteration-3 tester, for the whole pass in the app:
| Program | Resolution | Time | Browser memory |
|---|---|---|---|
| 3-axis, 42,000 moves, 150×100×50 block | 0.2 mm (default) | 15 s | 1.2 GB |
| same | 0.1 mm | 57 s | 2.1 GB |
| 4-axis, 21,600 moves, Ø60×200 cylinder | 0.2 mm (default) | 35 s | 1.4 GB |
| same | 0.1 mm | 130 s | 2.9 GB |
| 100,000-move surfacing raster on the demo block | 0.15 mm (default) | 21 s | not recorded |
| 120 facing layers over the demo block, until the 1 GB stock limit | 0.1 mm | 128 s to the stop | 2.5–2.7 GB peak |
The demo programs take under 1 s each. These numbers were not re-measured in this documentation pass.
Default resolution. Without stock.resolution, the resolution is the finest of 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.4, 0.5, 0.75, 1, 1.5 and 2 mm that keeps the model within 1 million rays:
| Blank | Default resolution |
|---|---|
| 10×10×5 block | 0.05 mm |
| Ø40×150 cylinder | 0.15 mm |
| 100×60×40 block (demo) | 0.15 mm |
| 150×100×50 block | 0.2 mm |
| Ø60×200 cylinder (demo-wrap), 400×50×40 block (demo-rotary) | 0.2 mm |
| 300 mm cube | 0.75 mm |
| 600×600 plate up to about 165 mm thick | 0.75 mm |
| 600×600×200 block | 1 mm |
A resolution that needs more than 8 million rays is refused at load, naming the finest allowed value, for example stock: resolution 0.1 mm needs 27.0M rays, more than the 8M limit — use 0.2 mm or coarser for a 300 mm cube. The suggested value can still reach the 1 GB memory limit on a heavy program (many layers over the whole stock).
Choosing a resolution.
- Start with the default. It is chosen for a reasonable time and memory on this machine.
- Going from 0.2 to 0.1 mm took 3.7 to 3.8 times as long and 1.75 to 2.1 times the browser memory in the measurements above.
- For collision checking, a coarse resolution is enough: material is exact along the rays at any resolution, and the rapid allowance is 0.1 mm regardless. What a coarse resolution loses is features thinner than it (7.7, item 4).
- For looking at small features (engraving, thin walls, fine 3D finishing), use a finer value such as 0.1 or 0.05 mm, preferably on a project whose blank covers only the region of interest.
- If the stock status reports the memory limit, or the browser becomes slow during a long program, go one step coarser (for example 0.15 → 0.2 or 0.2 → 0.25 mm).
- Set it in
setup.json:"stock": { …, "resolution": 0.2 }.