PopcornFX v2.19

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
  1. Home
  2. Docs
  3. PopcornFX v2.19
  4. Debugging
  5. Nodegraph stats panel

Nodegraph stats panel

Overview

The nodegraph contains a Stats/Info Panel (collapsed by default) also referred to as the IR Panel (legacy name from PopcornFX v2 alpha versions where the panel mainly contained IR information).

This panel now also contains general information on the effect (when viewing the layer graph) or a layer (when inside a layer). Its UI is subject to change in future PopcornFX versions.

IR Panel overview

Effect & layer information

Summary

The Summary tab displays general information on an effect or layer. It displays particle counts, memory usage, renderers… The UI morphs into an “effect” or “layer” view depending on what part of the nodegraph is visualized.

IR Panel Summary tab

  1. Effect summary (when in the layer graph)
  2. Layer summary (when in a layer)

Additional data is displayed when in Developer Mode.

Note: timings and memory usage greatly differ when in ‘Editor’ mode compared to ‘Shipping’ (what gets loaded in the game engine).

Renderers

The Renderers tab displays effect or layer renderers information.

Renderer batches are displayed and can be selected with the mismatching properties highlighted in red in the property grid.

Some renderers are batched even though some of their properties mismatch, this is defined by PopcornFX Editor rendering code. The following shows an example of several renderers being batched while their Billboarding mode property differs (this is handled by the rendering code without breaking batching, but might differ depending on the target engine):

IR Panel Renderers tab

Additionally, geometry generation time (also referred to as “billboarding”) is displayed.

This panel is subject to UI improvements in future PopcornFX versions to possibly also display resources used by the effect and their layers.

Pipeline

Coming soon.

Layer information

The following IR panel tabs only display information when in a layer.

Events

The Events tab displays layer input and output events along with payload information.

IR Panel Events tab

Compiler

The Compiler tab displays the layer’s IR spawn / evolve instructions and low-level execution detail.

IR Panel Compiler tab

Instructions can be hovered to highlight the node responsible for emitting these instructions in the graph. Selecting a node in the graph also highlights associated instructions in the Compiler tab. Opening templates will also only display instructions emitted by that template:

IR Panel Compiler tab instructions highlight

This panel is mainly used by PopcornFX developers for detecting optimizer leads, regressions and for technical artists / programmers to understand the final result of a graph.

Note: to visualize the final number of instructions, make sure to switch to ‘Shipping’ to apply all effects optimizations. It is possible for SDK integrators to hook simulation interfaces with custom constant folding implementations that can modify the final instruction count.

To get a better understanding of PopcornFX graph compiler & optimzer, check out GDC18’s talk powerpoint available here. Although additional compiler optimizations were added since then, most of what is described in that talk is still valid.

Backend

The Backend tab displays backend bytecodes / source depending on the layer’s specified backend (a layer set to ‘GPU’ will display the associated graphics API generated compute shaders).

This panel is currently one of the main places to troubleshoot GPU sim layers that fallback to CPU sim.

IR Panel Backend tab

  1. CPU VM backend
  2. D3D12 backend generated compute shaders

Externals

Coming soon.

Storage

The Storage tab displays particle storage information (memory cost of particles storage-wise and internal storage metadata details).

Note: to preview the final storages, make sure to switch to ‘Shipping’.

IR Panel Storage tab

Was this article helpful to you? Yes No

How can we help?