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:
| Meter | Shows |
|---|---|
| FPS | Current frame rate against your target |
| CPU | System-wide CPU load |
| GPU | System-wide GPU load |
Frame rate color
The FPS readout is color-coded against your target frame rate:
| Color | Meaning |
|---|---|
| 🟢 Green | At least 95% of target — running smoothly |
| 🟡 Yellow | 80–95% of target — noticeable but not critical |
| 🔴 Red | Below 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.
| Option | When to use |
|---|---|
| 30 FPS | Lower CPU/GPU load — smoother on slower systems |
| 60 FPS | Higher 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.
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
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
Related Topics
- 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