Performance Tuning Guide
This guide provides detailed instructions for optimizing mGBA performance on different hardware configurations. Follow these recommendations to achieve the best performance on your system.
Identifying Performance Issues
Performance Indicators
Signs that indicate performance issues:
- Low FPS: Frame rate below 60 FPS during gameplay
- Audio Stuttering: Audio crackling, popping, or skipping
- Frame Drops: Occasional frame skips or stuttering
- High CPU Usage: CPU usage consistently above 50-70%
- Slow Fast Forward: Fast forward not achieving target speed
Performance Monitoring
Monitor performance metrics:
- FPS Counter: Enable FPS display in View menu
- Frame Time: Monitor frame rendering time
- CPU Usage: Check CPU usage with system monitor
- Audio Latency: Monitor audio buffer status
Video Performance Optimization
Rendering Backend Selection
Choose the best rendering backend for your system:
- Windows: Direct3D 11 (best performance), OpenGL (better compatibility)
- macOS: Metal (best performance and recommended)
- Linux: Vulkan (best performance if available), OpenGL (fallback)
- Software: Use only if hardware acceleration is unavailable
Resolution Scaling
Adjust resolution scaling based on hardware:
- Low-End Hardware: 1x scaling (240x160) for best performance
- Mid-Range Hardware: 2x scaling (480x320) for balanced quality/performance
- High-End Hardware: 3x or 4x scaling (720x480, 960x640) for best quality
Filtering Options
Choose appropriate filtering:
- None: Fastest, no filtering
- Bilinear: Good balance of quality and performance
- LCD/Scanlines: Slower, better visual quality
- Custom Shaders: Performance varies by shader complexity
Threaded Rendering
Enable threaded rendering for multi-core CPUs:
- Enable Threaded Video: Run video rendering in separate thread
- Benefits: Better performance on multi-core systems
- Requirements: Multi-core CPU recommended
Audio Performance Optimization
Sample Rate Selection
Choose appropriate sample rate:
- 44.1 kHz (Default): Best quality/performance balance
- 48 kHz: Higher quality, slightly higher CPU usage
- 32 kHz or lower: Lower quality, better performance on low-end hardware
Audio Buffer Size
Balance latency and stability:
- Small Buffer (512-1024): Low latency, may cause audio glitches on slower systems
- Medium Buffer (2048): Default, balanced latency and stability
- Large Buffer (4096-8192): High latency, stable audio on all systems
Emulation Performance Settings
Accuracy vs. Performance
Trade-off between accuracy and performance:
- Normal Mode: Balanced accuracy and performance (recommended for most users)
- Accurate Mode: Maximum accuracy, higher CPU usage
- Custom Settings: Adjust individual accuracy options
Frame Skipping
Use frame skipping to maintain playable framerate:
- Automatic: Automatically skip frames when performance drops
- Manual: Manual frame skip control
- Max Frames: Maximum frames to skip (1-5 recommended)
System-Level Optimizations
Graphics Drivers
Keep graphics drivers up to date:
- Windows: Update NVIDIA, AMD, or Intel graphics drivers
- macOS: Update to latest macOS version
- Linux: Update Mesa drivers or proprietary drivers
Background Applications
Close unnecessary background applications:
- Close web browsers with many tabs
- Disable unnecessary startup programs
- Close resource-intensive applications
- Disable background antivirus scans while gaming
Power Management
Configure power settings for maximum performance:
- Windows: Set power plan to "High Performance"
- macOS: Disable energy saving modes
- Linux: Set CPU governor to "performance"
- Laptops: Plug in power adapter for full performance
Platform-Specific Optimizations
Windows
- Enable hardware acceleration in graphics settings
- Use Direct3D 11 backend for best performance
- Disable Windows Game Mode if it causes issues
- Update DirectX runtime libraries
macOS
- Use Metal rendering backend (default and recommended)
- Close unnecessary macOS apps
- Update to latest macOS version for best compatibility
- Check Activity Monitor for resource usage
Linux
- Use Vulkan backend if available (best performance)
- Use OpenGL as fallback
- Update Mesa drivers for Intel/AMD GPUs
- Install proprietary NVIDIA drivers if using NVIDIA GPU
Troubleshooting Performance Issues
Low FPS
If experiencing low FPS:
- Reduce resolution scaling (try 1x or 2x)
- Enable frame skipping
- Use software rendering if hardware acceleration fails
- Check if other applications are using CPU/GPU
- Update graphics drivers
Audio Stuttering
If experiencing audio stuttering:
- Increase audio buffer size
- Reduce sample rate
- Close other audio applications
- Check audio backend settings
- Update audio drivers
Frame Drops
If experiencing frame drops:
- Enable automatic frame skipping
- Reduce resolution scaling
- Disable unnecessary visual effects
- Check CPU/GPU temperature (overheating can cause throttling)
- Close background applications
Performance Benchmarks
Expected performance on different hardware:
- Low-End (Dual-core, Integrated GPU): 60 FPS at 1x scaling, may need frame skipping
- Mid-Range (Quad-core, Entry GPU): 60 FPS at 2x-3x scaling
- High-End (Multi-core, Mid-range GPU): 60 FPS at 4x+ scaling, can handle fast forward
- Mobile (Modern Flagship): 60 FPS at 2x-3x scaling with optimization
Related Articles
For more information about performance optimization and configuration:
- Advanced Configuration Guide - Deep dive into accuracy settings, performance options, and optimization techniques
- Troubleshooting Guide - Solutions to performance issues and common problems
- Configuration API Reference - Programmatic configuration options for performance tuning
- Getting Started Guide - Basic performance settings and configuration