Perf: frame rate degrades after moving between sims (leaks / leftover per-frame work) #169
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#169
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The same scene runs at >150 FPS right after a fresh login. After the session had moved between sims earlier, it measured ~88 FPS (11.35 ms/frame), with the GPU busy for ~11.2 ms of that. Something from regions we left, or from the teleport/region-crossing path, keeps costing time or memory.
What to look for
Compare a fresh login with a session that has visited N sims, in the same spot and on the same camera:
LLCleanInstanceStore/ mesh slots, and are no longer submitted to the cull or ingest (vk_ingestTick,vk_syncFromStores,sweep_total, instance count in the cull push).c_cull/c_shadows/c_preskin/c_tlas/c_blas_refitagainst the live instance count; shadow casters and RT BLAS/TLAS entries for objects that are gone; avatars (skin palettes, GPU animation slots, joint-table slots) from earlier regions.bwf_lights,bwf_probes, probe capture cost).cpu texin the VKMem line).LLViewerRegion/LLSurface/ water objects, terrain patches, sim-surround meshes for regions no longer connected.Method
RenderVKSectionLog+RenderVKGpuTimers), plus the VKMem line and instance and light counts.Related: #163 (per-release RAM/VRAM tracking), #157 (CPU cost in busy sims).
First measurement: same spot and camera, same build family, occlusion off. Session A had visited other sims. Session B is a fresh login. 30 s each.
c_cullc_shadowsc_stream_instc_tlas/c_blas_refitc_preskinvk_syncFromStoresvk_texUploadvk_ingestTickbwf_lightsLL_updateUIpass1is the same in both (~2.3 ms): what's on screen didn't change. Everything that scales with registered scene size grew several-fold: cull, shadow casters, instance streaming, RT, lights, probes. That points to instances, lights and probes from regions we left staying registered. Next step: log the instance, light and probe counts before and after a teleport.