47 lines
1.1 KiB
Markdown
47 lines
1.1 KiB
Markdown
# Sand Benchmarks
|
|
|
|
This project measures both the dense reference backend and the experimental chunk backend.
|
|
|
|
## Modes
|
|
|
|
- `dense-baseline`
|
|
- `chunk-baseline`
|
|
- `app-sized`
|
|
- `snapshot-scenes`
|
|
|
|
## Main workloads
|
|
|
|
- `empty`
|
|
- `sparse_rain`
|
|
- `dense_pile`
|
|
- `gas_pocket`
|
|
- `tool_stress`
|
|
- app-sized `sand_fill`
|
|
- app-sized `mixed_pile`
|
|
- app-sized `paint_stress`
|
|
|
|
## Metrics
|
|
|
|
- average `Step` time
|
|
- average `BuildRgbaFrame` time
|
|
- app-sized FPS-equivalent comparison numbers
|
|
- chunk workload counters (`loaded`, `active`, `stepped`, `dirty`, `field_cells`)
|
|
- estimated storage footprint
|
|
|
|
## Run
|
|
|
|
```powershell
|
|
dotnet run --project Sand.Benchmarks/Sand.Benchmarks.csproj -c Release -- --mode app-sized
|
|
```
|
|
|
|
```powershell
|
|
dotnet run --project Sand.Benchmarks/Sand.Benchmarks.csproj -c Release -- --mode snapshot-scenes
|
|
```
|
|
|
|
## Promotion gate
|
|
|
|
- sparse step speedup must be `>= 25%`
|
|
- sparse memory reduction at `1024x1024+` must be `>= 40%`
|
|
- dense `512x512` regression must stay within `10%`
|
|
- deterministic snapshots must be reviewed after `120` and `300` steps before storage promotion
|