VIVIA โ Performance
Benchmarksโ
| Operation | Time | Notes |
|---|---|---|
| Frame target | 16.6 ms | 60 FPS |
| AI forward pass | 0.01 ms | Per prediction |
| AI training epoch | 5-10 ms | 100 samples |
| Chunk generation | ~2 ms | Async, rayon-parallel |
| GLB decimation | ~50 ms | Once, cached |
| Mesh cache load | 0.3 ms | From disk |
| Cold start | 2.4 s | Including mesh bake |
| Cached start | 0.3 s | Meshes on disk |
Memoryโ
| Component | Size |
|---|---|
| MeMLP model | ~14 KB JSON |
| Per chunk | ~256 KB (16ร512ร16 ร 1 byte/block) |
| Texture atlas | ~4 MB |
| GLB models | 230-285 KB each (cached) |
| Instance buffer | 2048 cubes ร 64 bytes = 128 KB |
| AI mesh buffer | 256 models ร variable |
GPUโ
- Instanced rendering โ one draw call per shape per chunk
- No per-frame allocations โ hot path is allocation-free
- Deterministic cache โ GLB meshes cached by content hash
- Bilinear upscale โ texture filtering for close-up detail
- Low-end auto-detect โ reduced render radius for old GPUs
Scalabilityโ
| Metric | Value |
|---|---|
| Render radius | 4-8 chunks (configurable) |
| Max creatures | 24 animals + 10 hostiles per frame |
| Max instances | 2048 cubes + 256 AI meshes |
| Chunk height | 512 blocks (double standard) |
| World size | Unlimited (procedural) |