A Windows Vulkan 2D sprite rendering benchmark written in Rust.
Inspired by Jacob's gophermark (YouTube) and ebitengine-bunny-mark (Artem Sedykh). With sprite batching inspired by How I learned Vulkan and wrote a small game engine with it (Elias Daler).
Install on Windows 11 with winget:
winget install vulkansdk
To run with 1000 sprites:
cargo run --release 1000
With Git Bash on Windows:
./benchmark.shThis will:
- Build the app in release mode
- Test various sprite counts (1000, 2000, 3000, etc.)
- Summarize the results
Ryzen 9700X and Radeon 9070 XT running Radeon driver version 25.6.1.
| Sprites | FPS | Sprites/sec |
|---|---|---|
| 10,000 | 2026.2 | 20,262,404 |
| 20,000 | 1244.2 | 24,884,168 |
| 30,000 | 914.9 | 27,445,988 |
| 40,000 | 711.7 | 28,467,288 |
| 50,000 | 580.7 | 29,033,536 |
| 60,000 | 491.8 | 29,509,286 |
| 70,000 | 420.6 | 29,443,856 |
| 80,000 | 372.2 | 29,772,974 |
| 90,000 | 336.0 | 30,241,962 |
| 100,000 | 305.0 | 30,503,418 |
| 150,000 | 196.3 | 29,442,926 |
| 200,000 | 156.5 | 31,298,406 |
