Skip to content
AnimationStudiosBLUX Physics SuiteGet BLUX
Discord

Blaze performance

Only 8×8×8 bricks that hold gas are simulated. Empty space costs nothing. The brick pool is sized from the free GPU memory at the start of a run.

The sparse lattice is one of 64, 128, 256, 512 or 1024 cells per axis, set by the box’s longest side rounded up. The GPU kernels compile once per lattice, and are cached on disk. On a GTX 1060 that first compile took about 160 s. Every template fits the 128 lattice. Changing the voxel size within a lattice does not recompile. See Kernel cache and warm-up.

Live uses faster numerics (semi-Lagrangian smoke). Bake uses MacCormack advection. Their smoke agrees within about 10%.

Measured on a GTX 1060 (6 GB) with CUDA:

Case Time per frame
A 128³ plume, live preview about 87 ms
The same on the Vulkan driver of the same GPU about 180 ms, with a first compile of about 230 s

Vulkan runs the same solver and gives the same results within 1 to 2 percent. Newer GPUs will be faster.

The solver’s warnings name the setting to change, and the Fix button on the Blaze Solver node applies it:

Warning Fix
Brick pool full A larger Voxel Size, a higher Activity Threshold, or free GPU memory.
Live frame too slow A larger Voxel Size.
CFL cap reached A smaller Time Scale.
A moving domain leaves gas behind A larger domain box.

See Solver warnings.

  • For explosions, use a finer voxel size (the next lattice) or Bake + Upres.
  • The denoiser at low render samples softens smoke. Render volumes at 64 samples or more.