A simple FPS benchmarking tool that measures and analyzes frame times using PresentMon.
- Benchmarks FPS using Vulkan (lava-triangle) or D3D9
- Analyzes benchmark data from CSV files
- Supports customizable benchmark duration and cache warmup
- Detailed FPS metrics including percentiles and frame time analysis
- Stores benchmark history for comparison between runs
- Color-coded results highlighting best performance metrics
- Easy history management with clear function
To set up the environment, follow these steps:
- Clone the repository
- Install the necessary dependencies:
pip install -r requirements.txt
Run the program using:
python main.py
- Press
Enter
to start a new benchmark - Type
1
and pressEnter
to clear benchmark history - Results are automatically saved and compared with previous runs
Analyze specific benchmark results:
python main.py --analyze path/to/csv/directory
- Current and historical results are shown together
- Best results are highlighted in green
- Metrics include:
- Maximum, Average, and Minimum FPS
- Standard Deviation
- Percentiles (1%, 0.1%, 0.01%, 0.005%)
- Low percentages (1%, 0.1%, 0.01%, 0.005%)
Edit config.ini
to customize:
- Benchmark duration
- Cache warmup duration
- Display settings
- FPS cap
- API selection (Vulkan/D3D9)
- Triple buffering options
- Resolution settings
- Benchmark results are automatically saved to
benchmark_history.json
- View historical results alongside new benchmarks
- Clear history using the
1
command at startup - Best results are automatically highlighted for easy comparison
- Windows OS
- Python 3.6+
- Dependencies listed in requirements.txt
- PresentMon (included in the package)