Skip to main content

Performance Monitoring

FXCanvas shows live performance meters so you can catch trouble before it shows up on stage. The status bar reports frame rate, CPU, and GPU load at a glance, and the Settings → Performance tab lets you set a target frame rate.


The Status Bar Meters

The status bar at the bottom of the window shows three live readouts, refreshed about once per second:

MeterShows
FPSCurrent frame rate against your target
CPUSystem-wide CPU load
GPUSystem-wide GPU load

Frame rate color

The FPS readout is color-coded against your target frame rate:

ColorMeaning
🟢 GreenAt least 95% of target — running smoothly
🟡 Yellow80–95% of target — noticeable but not critical
🔴 RedBelow 80% of target — frames are being dropped

CPU and GPU are similarly green when load is low, shading to yellow and then red as they approach 100%.

Hover for detail

Hover over the CPU or GPU meter for a tooltip that splits the load into:

  • Total Load — everything running on the machine
  • FXC Load — how much of that is FXCanvas itself

This tells you who is using the machine. If Total is high but FXC is low, something else on the system is the bottleneck; if FXC is high, FXCanvas is the one working hard.

Video decode details

When a video file is playing, the GPU tooltip adds decode information:

  • Decoder — the active hardware decoder (NVDEC, D3D11, QSV, AMF, or VideoToolbox) or Software if none is in use
  • Decode FPS — decoded frames per second vs. the source's frame rate, with a status of Keeping up, Slightly behind, or Falling behind
  • Dropped Frames — a count, shown in red, if the decoder can't keep up

If you see a Software decoder or Falling behind status, that media file is a likely cause of stutter — see Video Playback for hardware-decoding options.


Setting the Target Frame Rate

Open Edit → Settings → Performance.

OptionWhen to use
30 FPSLower CPU/GPU load — smoother on slower systems
60 FPSHigher quality — recommended for most systems

The same tab shows a Current Performance readout (FPS against target, plus CPU and GPU percentages) so you can test the effect of a change immediately.

note

The target frame rate also sets the reference point for the FPS color-coding — at a 60 FPS target, green starts at ~57 FPS; at a 30 FPS target, green starts at ~28.5 FPS.


Diagnosing Frame Drops

If the FPS meter is yellow or red, work down this list:

  • Reduce active effects — each enabled effect adds GPU work; disable ones you aren't using
  • Lower the render resolution — in Settings → Output; 4K costs far more than 1080p
  • Reduce simultaneous outputs — every NDI/Spout/Syphon/Display output adds encode/readback cost
  • Lower heavy effect parameters — e.g. Blur quality/radius, or effects with reflections/shadows
  • Check the decoder — a video on a Software decoder is expensive; prefer hardware decoding
  • Check Total vs FXC load — if Total is high but FXC is low, close other apps rather than simplifying your show
  • Drop to a 30 FPS target — on slower machines this is smoother than a 60 FPS target you can't sustain
Before a show

Run your most demanding cue and watch the meters for a minute. Aim to leave headroom — if you're already red at soundcheck, the show won't get easier. Green with room to spare is the goal.


How It's Measured

  • Metrics are sampled about once per second and kept as a short rolling history (~2 seconds).
  • On Windows, CPU and GPU figures come from the system performance counters (PDH), including per-process (FXC) load; GPU falls back to a frame-time estimate if those counters aren't available.
  • The status bar reports FPS, CPU, and GPU. Live memory usage isn't shown in the status bar.

Troubleshooting

FPS is red even on a simple source

  • Confirm the target frame rate matches your intent (Settings → Performance) — a 60 FPS target on a modest GPU may sit yellow
  • Hover CPU/GPU and check FXC Load vs Total — another application may be competing for the GPU

GPU sits near 100%

  • Reduce render resolution and the number of active effects/outputs
  • If a video is playing, confirm it's using a hardware decoder (GPU tooltip) rather than Software

A video stutters but FPS looks fine

  • Open the GPU tooltip while the video plays and check Decode FPS and Dropped Frames — the decoder, not the render, may be the bottleneck

  • Settings Overview — all settings tabs at a glance
  • Outputs — output count and render resolution both affect performance
  • Video Playback — hardware decoding for video files
  • Effects — effect count and quality affect GPU load