A performance monitoring and optimization tool for DCS World with Pimax Crystal Light VR headset.
- Real-time Performance Monitoring: Track FPS, GPU/CPU usage, VRAM, and temperatures
- Multiplayer Server Tracking: Automatically detects which server you're playing on and player counts
- Aircraft Tracking: Monitors which aircraft you're flying with per-aircraft performance baselines
- Statistical Analysis: Variance-aware analysis with confidence intervals for multiplayer sessions
- Settings Management: View and track DCS and PimaxXR settings
- Performance Recommendations: Smart suggestions based on your data
- Windows 10/11
- Python 3.11+
- NVIDIA GPU (for GPU metrics via NVML)
- DCS World installed
- Pimax Crystal Light with PimaxXR (optional, for Pimax settings tracking)
-
Clone or download this repository
-
Create a virtual environment (recommended):
python -m venv venv venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
Launch the desktop dashboard:
python main.pyRun headless monitoring (useful for background data collection):
python main.py --cli- Start the monitor before launching DCS (or while DCS is running)
- The system automatically detects when DCS starts/stops
- Performance samples are collected every second while DCS is running
- Server and aircraft information is parsed from DCS.log
This tool is designed for real multiplayer testing:
- Tracks server name and player counts
- Accounts for variance from multiplayer sessions
- Reports confidence intervals instead of just averages
- Identifies when more data is needed for statistical significance
Different aircraft have different performance characteristics:
- Full-fidelity glass cockpits (F-16, F/A-18) are heavier
- FC3 aircraft are lighter
- The tool tracks performance per-aircraft for tailored recommendations
The analysis engine:
- Uses t-tests and Mann-Whitney U tests for comparisons
- Reports 95% confidence intervals
- Identifies outliers from thermal throttling or server issues
- Tracks GPU vs CPU bottlenecks
- Real-time FPS, GPU, CPU, VRAM metrics
- Current session info (server, aircraft, players)
- Immediate recommendations
- Data quality report (sample counts per aircraft)
- Flyability report (which aircraft run well with current settings)
- All aircraft you've flown
- Average FPS and sample counts per aircraft
- History of all monitoring sessions
- Server, duration, and sample counts
- View current DCS VR-relevant settings
- Reference presets for different performance/quality levels
All data is stored in a local SQLite database at data/performance.db.
Tables:
servers- Known multiplayer serversaircraft- Aircraft with complexity ratingssessions- Monitoring sessionssamples- Performance measurementssettings_snapshots- Settings at session start
Edit data/config.json to customize:
- DCS installation path (auto-detected by default)
- Sampling interval
- Confidence level for statistics
- Minimum samples for significance
- FPS estimation is approximate without OpenXR integration
- Settings changes require DCS restart
- AMD GPU metrics not yet implemented (NVIDIA only)
- Reprojection detection requires further OpenXR integration
- OpenXR frame timing integration for accurate FPS
- AMD GPU support via ADL
- Automated A/B testing workflow
- Export reports to CSV/PDF
- Mission-specific tracking
- VR overlay for in-game stats
- The monitor looks for
DCS.exeprocess - Try running as administrator if process detection fails
- Ensure NVIDIA drivers are installed
pynvmlrequires NVIDIA Management Library
- Verify DCS is installed in standard location
- Check that options.lua exists in Saved Games/DCS/Config/
MIT License - See LICENSE file for details.