fnarf
January 21st, 2026, 23:07
Fantasy Grounds Unity - Critical Performance Bug Report
System Specs:
- OS: Ubuntu Linux (kernel 6.8.0-90-generic)
- RAM: 15 GB
- GPU: Intel UHD Graphics 620 (integrated)
- Display: 2560x1440 @ 60Hz
- FGU Version: v5.1.0 (2026-01-21), Unity 6000.0.64f1
---
The Problem
FGU consumes extreme CPU even when minimized and idle, progressively worsens
over a session, and eventually becomes completely unresponsive.
---
Evidence
1. Baseline CPU usage (campaign loaded, app minimized):
87% CPU - while minimized and doing nothing visible
Expected: <5% when minimized.
2. CPU progression over ~3 hour session:
┌──────────┬───────────┬────────┐
│ Time │ CPU Usage │ RAM │
├──────────┼───────────┼────────┤
│ Start │ 80% │ 2.0 GB │
├──────────┼───────────┼────────┤
│ +1 hour │ 87% │ 2.4 GB │
├──────────┼───────────┼────────┤
│ +3 hours │ 267% │ 3.0 GB │
└──────────┴───────────┴────────┘
3. Thread breakdown - START of session:
Main thread: 33% CPU
Graphics: 12% CPU
Job.Workers 1-6: ~1% each
4. Thread breakdown - END of session (runaway state):
Main thread: 55% CPU
Graphics: 32% CPU
Job.Worker 1: 42% CPU
Job.Worker 3: 27% CPU
Job.Worker 4: 25% CPU
Job.Worker 2: 22% CPU
Job.Worker 5: 20% CPU
Job.Worker 6: 16% CPU
All worker threads went from idle (~1%) to maxed (20-42%). Something is
spawning runaway tasks.
5. Final state:
- Application unresponsive to window close button
- Had to kill -9 the process
- Main thread too busy to process UI events
---
Attempted Mitigations (none worked)
Fix Attempted: -force-opengl flag
Result: Helped during startup, no effect with campaign loaded
────────────────────────────────────────
Fix Attempted: vblank_mode=3 (vsync)
Result: No effect (doesn't apply to Vulkan)
────────────────────────────────────────
Fix Attempted: /vsync 2 chat command
Result: No effect - still 93% CPU (but seemed to make UI more responsive)
────────────────────────────────────────
Fix Attempted: Minimizing window
Result: No effect - 87% CPU while minimized
---
Conclusion
FGU has a runaway task/memory leak that:
1. Burns 80%+ CPU even when minimized (not rendering)
2. Progressively worsens over time
3. Eventually saturates all worker threads
4. Makes the application unresponsive
5. Cannot be mitigated with vsync or OpenGL mode
An application should not use 267% CPU while minimized and become unkillable via normal UI.
---
System state after killing FGU
RAM freed: ~3 GB instantly
System immediately responsive again
System Specs:
- OS: Ubuntu Linux (kernel 6.8.0-90-generic)
- RAM: 15 GB
- GPU: Intel UHD Graphics 620 (integrated)
- Display: 2560x1440 @ 60Hz
- FGU Version: v5.1.0 (2026-01-21), Unity 6000.0.64f1
---
The Problem
FGU consumes extreme CPU even when minimized and idle, progressively worsens
over a session, and eventually becomes completely unresponsive.
---
Evidence
1. Baseline CPU usage (campaign loaded, app minimized):
87% CPU - while minimized and doing nothing visible
Expected: <5% when minimized.
2. CPU progression over ~3 hour session:
┌──────────┬───────────┬────────┐
│ Time │ CPU Usage │ RAM │
├──────────┼───────────┼────────┤
│ Start │ 80% │ 2.0 GB │
├──────────┼───────────┼────────┤
│ +1 hour │ 87% │ 2.4 GB │
├──────────┼───────────┼────────┤
│ +3 hours │ 267% │ 3.0 GB │
└──────────┴───────────┴────────┘
3. Thread breakdown - START of session:
Main thread: 33% CPU
Graphics: 12% CPU
Job.Workers 1-6: ~1% each
4. Thread breakdown - END of session (runaway state):
Main thread: 55% CPU
Graphics: 32% CPU
Job.Worker 1: 42% CPU
Job.Worker 3: 27% CPU
Job.Worker 4: 25% CPU
Job.Worker 2: 22% CPU
Job.Worker 5: 20% CPU
Job.Worker 6: 16% CPU
All worker threads went from idle (~1%) to maxed (20-42%). Something is
spawning runaway tasks.
5. Final state:
- Application unresponsive to window close button
- Had to kill -9 the process
- Main thread too busy to process UI events
---
Attempted Mitigations (none worked)
Fix Attempted: -force-opengl flag
Result: Helped during startup, no effect with campaign loaded
────────────────────────────────────────
Fix Attempted: vblank_mode=3 (vsync)
Result: No effect (doesn't apply to Vulkan)
────────────────────────────────────────
Fix Attempted: /vsync 2 chat command
Result: No effect - still 93% CPU (but seemed to make UI more responsive)
────────────────────────────────────────
Fix Attempted: Minimizing window
Result: No effect - 87% CPU while minimized
---
Conclusion
FGU has a runaway task/memory leak that:
1. Burns 80%+ CPU even when minimized (not rendering)
2. Progressively worsens over time
3. Eventually saturates all worker threads
4. Makes the application unresponsive
5. Cannot be mitigated with vsync or OpenGL mode
An application should not use 267% CPU while minimized and become unkillable via normal UI.
---
System state after killing FGU
RAM freed: ~3 GB instantly
System immediately responsive again