The image collector runs after every completed guest submission as well as at each flip, and every run advanced the age it compares against. A title submits dozens of command buffers per frame, so "unused for 16 ticks" meant a fraction of a frame: every texture sampled once a frame was deleted and recreated, and Superliminal uploaded 3,591 textures (2.2 GB) every 5 seconds. Deleting a GPU-written image the cache cannot read back also dropped its contents. Only a flip now advances the age. Collection after a submission still runs, so memory pressure is relieved during long stretches without a flip. Superliminal's per-frame uploads went from ~55 to none, and its intro scene from 12 to 45 fps. |
||
|---|---|---|
| .. | ||
| Buffers | ||
| GpuCommands | ||
| Images | ||
| Metal | ||
| Pipelines | ||
| Rendering | ||
| Scheduling | ||
| Vulkan | ||