Slim per-instance record for the world vertex shaders #1033

Closed
opened 2026-10-25 01:02:05 +00:00 by sky_line · 1 comment
Owner

Profiled with Nsight Graphics GPU Trace + shader profiler on an RTX 5090 (full GI scene, ~61 FPS, GPU ~16.3 ms/frame). Vertex shading is ~21% of GPU shader samples. The hottest vertex lines (clean_draw.vert, first use of inst / pinst) stall 97-99% on memory: every vertex loads the full 224-byte Instance record, and the motion prepass also loads the previous frame's record.

Have the cull pass write a compact vertex-shader instance stream (3x4 model matrix plus the ids and flags the VS actually reads, ~64 bytes) and read that in clean_draw.vert / clean_draw_rigged.vert instead.

Done when: identical image (including motion vectors, attachments and spin), with lower G-buffer / prepass timers.

Profiled with Nsight Graphics GPU Trace + shader profiler on an RTX 5090 (full GI scene, ~61 FPS, GPU ~16.3 ms/frame). Vertex shading is ~21% of GPU shader samples. The hottest vertex lines (clean_draw.vert, first use of `inst` / `pinst`) stall 97-99% on memory: every vertex loads the full 224-byte Instance record, and the motion prepass also loads the previous frame's record. Have the cull pass write a compact vertex-shader instance stream (3x4 model matrix plus the ids and flags the VS actually reads, ~64 bytes) and read that in clean_draw.vert / clean_draw_rigged.vert instead. **Done when:** identical image (including motion vectors, attachments and spin), with lower G-buffer / prepass timers.
sky_line added this to the Slipstream project 2026-10-25 01:02:05 +00:00
Author
Owner

Fixed in 1.5.0 Beta 1 (1997a3d2fd). Reopen if you still see it.

Fixed in 1.5.0 Beta 1 (1997a3d2fd). Reopen if you still see it.
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.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1033
No description provided.