Blaze performance
Memory follows the gas
Section titled “Memory follows the gas”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.
First run per lattice
Section titled “First run per lattice”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 and bake
Section titled “Live and bake”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.
When it is slow
Section titled “When it is slow”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.
Detail
Section titled “Detail”- 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.