Performance Optimization in Foundry VTT

Speed, Smoothness, and Stability

The Need for Speed

Imagine you're in the climactic battle with the dragon. The music swells, dice are ready to roll, players lean forward in anticipation... and then everything freezes. The lag monster has struck! Nothing breaks immersion faster than technical hiccups. Performance optimization isn't about having the fastest computer - it's about making smart choices that keep your game flowing smoothly.

Think of Foundry like a theatrical production. You could have every special effect imaginable, but if the stage collapses under the weight, the show can't go on. Performance optimization is about building a stable stage that can support all your creative ambitions without breaking a sweat.

The Performance Ecosystem

graph TB A[Foundry Performance] --> B[Server Side] A --> C[Client Side] A --> D[Network] A --> E[Content] B --> B1[Hardware Resources] B --> B2[Foundry Settings] B --> B3[Module Load] B --> B4[Background Processes] C --> C1[Browser Choice] C --> C2[Graphics Settings] C --> C3[Local Resources] C --> C4[Extensions/Addons] D --> D1[Connection Speed] D --> D2[Latency] D --> D3[Port Configuration] D --> D4[CDN Usage] E --> E1[Scene Complexity] E --> E2[Asset Sizes] E --> E3[Token Count] E --> E4[Effect Density] style A fill:#2c3e50,stroke:#34495e,stroke-width:3px,color:#fff style B fill:#e74c3c,stroke:#c0392b,stroke-width:2px,color:#fff style C fill:#3498db,stroke:#2980b9,stroke-width:2px,color:#fff style D fill:#27ae60,stroke:#229954,stroke-width:2px,color:#fff style E fill:#f39c12,stroke:#d68910,stroke-width:2px,color:#fff

Performance Monitoring Dashboard

Scene Optimization Techniques

Your scenes are the biggest performance factor - optimize them well!

Image Optimization Guide

Images are often the heaviest assets - optimize them right!

flowchart TD A[Image Optimization] --> B[Resolution] A --> C[Format] A --> D[Compression] A --> E[Loading Strategy] B --> B1[Match display size] B --> B2[Max 4096x4096] B --> B3[Consider zoom needs] C --> C1[WebP for maps] C --> C2[PNG for tokens] C --> C3[JPG for backgrounds] D --> D1[85% quality usually fine] D --> D2[Lossless for text] D --> D3[Tools: TinyPNG, Squoosh] E --> E1[Lazy loading] E --> E2[Progressive loading] E --> E3[Preload critical] style A fill:#2c3e50,stroke:#34495e,stroke-width:3px,color:#fff style B fill:#e74c3c,stroke:#c0392b,stroke-width:2px,color:#fff style C fill:#3498db,stroke:#2980b9,stroke-width:2px,color:#fff style D fill:#27ae60,stroke:#229954,stroke-width:2px,color:#fff

Quick Image Optimization Checklist

Module Performance Impact

Network Optimization

A smooth connection keeps everyone in sync!

Network Performance Checklist

🌐 Server Side

  • ☐ Use wired connection for hosting
  • ☐ Close unnecessary applications
  • ☐ Disable Windows updates during games
  • ☐ Consider upload speed (minimum 5 Mbps)
  • ☐ Use port forwarding over UPnP

👥 Player Side

  • ☐ Recommend Chrome/Firefox
  • ☐ Suggest disabling browser extensions
  • ☐ Preload assets before session
  • ☐ Close other tabs/applications
  • ☐ Use ethernet over WiFi when possible

⚡ Quick Fixes

  • Reduce video quality in video chat
  • Disable animated backgrounds
  • Turn off token vision for NPCs
  • Limit simultaneous sounds
  • Use static instead of animated tokens

Performance Settings Deep Dive

Practice Exercise: Performance Audit

System Performance Baseline

  1. Measure Current Performance:
    • Open browser dev tools (F12)
    • Go to Performance tab
    • Record a typical combat round
    • Note FPS and memory usage
  2. Scene Audit:
    • Check map resolution (aim for <10MP)
    • Count dynamic light sources
    • Review wall complexity
    • Test with all players connected
  3. Module Impact Test:
    • Disable all modules
    • Test baseline performance
    • Enable modules one by one
    • Note FPS drop per module
    • Create priority list

Optimization Challenge

Take your heaviest scene and optimize it:

  • ☐ Reduce map size by 50%
  • ☐ Convert to WebP format
  • ☐ Simplify walls (merge segments)
  • ☐ Limit to 10 light sources
  • ☐ Disable NPC vision
  • ☐ Test load time improvement
  • ☐ Measure FPS increase

Troubleshooting Performance Issues

Common Problems and Solutions

Performance Best Practices

The Golden Rules

  1. Start Simple: Add complexity gradually
  2. Test Often: Check performance with players
  3. Profile First: Measure before optimizing
  4. Prioritize Experience: Performance serves gameplay
  5. Document Settings: Track what works

Session Preparation

Real GM Performance Stories

The Optimization Miracle

"My epic battle map was killing everyone's computers. 15 FPS, constant freezing. I spent an hour optimizing - reduced the image from 10K to 4K resolution, simplified walls, limited lights to key areas. Same visual impact, but now it runs at 60 FPS. Players didn't even notice the changes!" - GM Alex

The Module Diet

"I had 47 modules running. FORTY-SEVEN. Foundry took 2 minutes to load. I did a module audit, kept only 12 essential ones. Load time: 15 seconds. Lesson learned - less is more!" - GM Bharati

The Network Navigator

"One player always lagged 5 seconds behind. Turns out they were on WiFi, streaming Netflix, with 20 browser tabs open. We did a 'performance intervention' - ethernet cable, closed everything else. Now they're synced perfectly. Sometimes it's the simple things!" - GM Carlos

What's Next?

You've learned to tune Foundry like a performance engine, balancing beautiful features with smooth gameplay. Your games now run like silk, letting technology fade into the background while stories take center stage.

In our next lesson, we'll explore Advanced GM Techniques - the master class tricks that separate good GMs from legendary ones!