Skip to content

Performance and profiling

The four volumes use CPU Niagara simulation. The optimized analytic systems retire cubes after their own visible layer finishes. Initial density, silhouettes, palettes and authored timing are preserved. The legacy simulated effects retain their original simulation logic.

The September 2026 comparison used UE 5.8.1, Windows Development, D3D12 SM6, 1920 × 1080, an RTX 4090 and a Core i5-12600KF. All 128 systems were measured in three runs at each concurrency level. Negative changes indicate lower cost.

Simultaneous impacts Median game-thread change Median GPU change
1 +0.4% -1.8%
16 -4.2% -4.6%
64 -5.9% -10.0%

These are medians across systems, not promises for every effect or PC. Download the per-system before/after CSV for absolute timings, run ranges, p95 and maximum values, activation costs, live-particle counts and process working set.

Several small-effect CPU slowdowns in the broad sweep did not reproduce in a longer alternating before/after/after/before check. Their run ranges overlap, so no substantial CPU gain is claimed for those small effects. The dense Solar Branch Star and Ink Curl Puff pilots repeated roughly 20% lower game-thread cost and 18% lower GPU cost at 64 impacts. The six-run confirmation data preserves those follow-up results; the original CSV retains the unfavorable sweep measurements too.

A further low-load render-thread check also showed drift in the empty scene and unchanged legacy controls. Single-instance and low-density CPU/render improvements are therefore unverified, rather than inferred from noisy percentages.

The test advances simulation at a fixed 60 Hz while measuring actual CPU and GPU cost independently. It warms each case for 120 frames and measures 240 frames, including synchronized replays. Activation cost measures reinitializing existing components; cold asset loading and component construction are outside that window. The working-set measurement includes the engine and resident assets; it is not exclusive effect memory. Results near the empty-scene baseline are sensitive to scheduling noise. Midrange hardware has not been certified.

Use the CSV’s baseline p95 and peak at the intended concurrency as a starting comparison envelope. Profile the packaged game with its real camera, materials, lighting and gameplay. An isolated effect benchmark cannot establish whole-game 60 FPS.

Large overlapping effects can still be expensive. Pool frequently reused components where appropriate and avoid spawning components that will never be shown. Do not change the authored layer counts or bounds to chase a number without checking the full lifecycle and viewing angles.

AnimationFrameStep is an appearance control, not a guaranteed performance multiplier. Analytic effects use a quantized pose clock; legacy effects still simulate their motion while holding rendered poses. Cleanup and replay continue to use the proper lifecycle. See animation stepping.

The supplied galleries replay using one-shot Blueprint timers. They do not poll each effect actor every Tick. All original examples and three additional presets remain visible together. In gameplay, use the one-shot Blueprint workflow and keep ownership of pooled components explicit.

The optimization preserves all public parameter names, defaults, limits and preset overrides. Disabled layers and total lifetime caps retain their documented behavior; see layer controls.