Track RAM + VRAM per release (baseline 2026-09-29) so regressions are caught #163

Open
opened 2026-09-29 05:49:03 +00:00 by sky_line · 1 comment
Owner

We had VRAM strongly optimized before, and users are now complaining about RAM. Keep an eye on both with a fixed measurement.

Baseline (vulkan-port-tb @ b346870984, busy two-sim view, ~45 avatars, RT projector shadows on)

VRAM (process 9,175 MiB per nvidia-smi; viewer tracked 8,997 MB = 7,915 device + 1,790 host-visible):

category MB
textures 3,381 (20,041 images; all-full would be ~95 GB)
ray tracing 1,990 (AS 944 / aux 643 / rt 403)
geometry 1,569 (vbo 709, ibo 291, skin out 317, wgt 89, tables 163)
upload staging 1,476 (regression, separate ticket)
probes / shadow / cull / particles 281 / 139 / 101 / 60
untracked (swapchain, UI, driver) ~700

RAM: RSS 28.3 GB (anon 26.2, file 2.1, swap 0):

  • CPU texture copies 16.7 GB (separate ticket)
  • mesh store 0.85 GB (33,688 assets)
  • geometry CPU mirrors ~0.93 GB
  • ~7.7 GB not broken down

Do

  • Before each release, capture the same numbers in a standard busy spot. The VKMem line plus /proc/<pid>/smaps_rollup plus nvidia-smi --query-compute-apps is enough; a make memcheck-style script would help. Put them in the release notes / this ticket.
  • Add a CPU-side breakdown to the VKMem line for the "not broken down" 7.7 GB: object / avatar data, LL decode caches, mesh repo, CEF host.
  • Flag any category growing > 10% between releases.

Refs #157.

We had VRAM strongly optimized before, and users are now complaining about RAM. Keep an eye on both with a fixed measurement. ## Baseline (vulkan-port-tb @ b346870984, busy two-sim view, ~45 avatars, RT projector shadows on) **VRAM** (process 9,175 MiB per nvidia-smi; viewer tracked 8,997 MB = 7,915 device + 1,790 host-visible): | category | MB | |---|---| | textures | 3,381 (20,041 images; all-full would be ~95 GB) | | ray tracing | 1,990 (AS 944 / aux 643 / rt 403) | | geometry | 1,569 (vbo 709, ibo 291, skin out 317, wgt 89, tables 163) | | upload staging | 1,476 (regression, separate ticket) | | probes / shadow / cull / particles | 281 / 139 / 101 / 60 | | untracked (swapchain, UI, driver) | ~700 | **RAM**: RSS 28.3 GB (anon 26.2, file 2.1, swap 0): - CPU texture copies 16.7 GB (separate ticket) - mesh store 0.85 GB (33,688 assets) - geometry CPU mirrors ~0.93 GB - ~7.7 GB not broken down ## Do - Before each release, capture the same numbers in a standard busy spot. The VKMem line plus `/proc/<pid>/smaps_rollup` plus `nvidia-smi --query-compute-apps` is enough; a `make memcheck`-style script would help. Put them in the release notes / this ticket. - Add a CPU-side breakdown to the VKMem line for the "not broken down" 7.7 GB: object / avatar data, LL decode caches, mesh repo, CEF host. - Flag any category growing > 10% between releases. Refs #157.
Author
Owner

Part of #405 (RAM/VRAM management epic).

Part of #405 (RAM/VRAM management epic).
sky_line added this to the Slipstream project 2026-10-06 15:04:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
sky_line/Slipstream#163
No description provided.