Perf: Beta 10 slower than Beta 8 on RX 6700 XT (GPU-bound in pass 1; ray-traced sun likely on) #210

Closed
opened 2026-09-30 20:02:41 +00:00 by sky_line · 1 comment
Owner

A user reports lower FPS on Beta 10 than on Beta 8. The logs are attached (logs.zip: Slipstream.log = Beta 10 / 0.12.0.36 with GPU timers and section timings; Slipstream.old = Beta 8 / 0.12.0.34, no timers).

Hardware: AMD RX 6700 XT (RADV NAVI22, Vulkan 1.4.354, 12 GB), Ryzen 7 3700X, Linux.

First read of the logs

Beta 8 (.old) Beta 10 (.log)
FPS (display_stats) 40-59 14-28 (mostly 15-23)
Draws emitted (CULLREASON) ~22.1k ~10.2k
Textures resident 1562 MB 2930 MB

Beta 10 is GPU-bound:

  • Sections: frame ≈ 50-57 ms, of which vk_acquireWait ≈ 35 ms (the CPU waiting on the GPU).
  • GPU timers (ms/frame): total 42-63. Of that, pass1 24-37, pass2 8-12, compute ≈ 5, probe 0.5-4.6 (spikes to 18), everything else under 1.
  • Pass 1 (sky + lit opaque / mask / rigged) is the outlier. The scene draws fewer objects than in the Beta 8 session, so the extra time is per-pixel lit-shader cost, not geometry.

Ray-traced sun is probably on:

  • The VKRT lines show the RT build (TLAS 63k instances, 13k static BLAS + 20 rigged groups) running every frame while projshadow=off (95 of 113 timer lines).
  • The RT build only runs when something consumes the TLAS. With projector RT off, that means RenderVKSunShadows = 2, the ray-traced sun that shipped in Beta 10. That's one ray query per lit pixel in pass 1 and pass 2.
  • On the 5090 that cost +2.4 ms. On RDNA2, where ray queries in a heavy fragment shader hurt occupancy, it could plausibly cost 15-25 ms.
  • The first minutes also had ray-traced projectors on (projshadow=rt proj_n=62-64).

To do

  1. Confirm with the user: Sun/moon shadows mode (Preferences > Graphics > Advanced), and whether Beta 8 had shadows on at all. An A/B on Beta 10 with Shadow maps vs Ray traced in the same spot would settle it.
  2. If it is the RT sun:
    • Its cost on RDNA2 is the bug. The priority move is to take the rays out of the lit fragment shader: a separate shadow-mask compute pass, at half resolution with temporal accumulation (#195 items 1-2).
    • Also consider defaulting Ray traced off on AMD / lower tiers, or showing its cost in the tooltip.
  3. If it isn't: compare the lit-shader variants (selectLitVariant) and texture residency (2930 vs 1562 MB is fine for 12 GB). Check TAA / upscaling and the new features on by default in Beta 9-10.
  4. Note: ~11-12k OctreeErrors insertion warnings appear in both logs. That's pre-existing log spam, unrelated here, but worth its own look.

Related: #185 (RT sun), #195 (RT sun optimization), #98 (low-end fixed costs).

A user reports lower FPS on **Beta 10** than on **Beta 8**. The logs are attached (`logs.zip`: `Slipstream.log` = Beta 10 / 0.12.0.36 with GPU timers and section timings; `Slipstream.old` = Beta 8 / 0.12.0.34, no timers). **Hardware:** AMD **RX 6700 XT** (RADV NAVI22, Vulkan 1.4.354, 12 GB), Ryzen 7 **3700X**, Linux. ## First read of the logs | | Beta 8 (`.old`) | Beta 10 (`.log`) | |---|---|---| | FPS (display_stats) | 40-59 | 14-28 (mostly 15-23) | | Draws emitted (CULLREASON) | ~22.1k | ~10.2k | | Textures resident | 1562 MB | 2930 MB | **Beta 10 is GPU-bound:** - Sections: frame ≈ 50-57 ms, of which **`vk_acquireWait` ≈ 35 ms** (the CPU waiting on the GPU). - GPU timers (ms/frame): total **42-63**. Of that, **pass1 24-37**, pass2 8-12, compute ≈ 5, probe 0.5-4.6 (spikes to 18), everything else under 1. - Pass 1 (sky + lit opaque / mask / rigged) is the outlier. The scene draws *fewer* objects than in the Beta 8 session, so the extra time is per-pixel lit-shader cost, not geometry. **Ray-traced sun is probably on:** - The `VKRT` lines show the RT build (TLAS 63k instances, 13k static BLAS + 20 rigged groups) running every frame while `projshadow=off` (95 of 113 timer lines). - The RT build only runs when something consumes the TLAS. With projector RT off, that means **RenderVKSunShadows = 2**, the ray-traced sun that shipped in Beta 10. That's one ray query per lit pixel in pass 1 and pass 2. - On the 5090 that cost +2.4 ms. On RDNA2, where ray queries in a heavy fragment shader hurt occupancy, it could plausibly cost 15-25 ms. - The first minutes also had ray-traced projectors on (`projshadow=rt proj_n=62-64`). ## To do 1. **Confirm with the user:** Sun/moon shadows mode (Preferences > Graphics > Advanced), and whether Beta 8 had shadows on at all. An A/B on Beta 10 with Shadow maps vs Ray traced in the same spot would settle it. 2. **If it is the RT sun:** - Its cost on RDNA2 is the bug. The priority move is to take the rays out of the lit fragment shader: a separate shadow-mask compute pass, at half resolution with temporal accumulation (#195 items 1-2). - Also consider defaulting Ray traced off on AMD / lower tiers, or showing its cost in the tooltip. 3. **If it isn't:** compare the lit-shader variants (`selectLitVariant`) and texture residency (2930 vs 1562 MB is fine for 12 GB). Check TAA / upscaling and the new features on by default in Beta 9-10. 4. **Note:** ~11-12k `OctreeErrors` insertion warnings appear in *both* logs. That's pre-existing log spam, unrelated here, but worth its own look. Related: #185 (RT sun), #195 (RT sun optimization), #98 (low-end fixed costs).
1.1 MiB
sky_line added this to the Slipstream project 2026-10-06 15:04:15 +00:00
Author
Owner

Closing as stale: this Beta 10 vs Beta 8 comparison predates many performance changes (rigged LOD #561, shadow culling #564, geometry/VRAM work #573/#584, LL perf batches). If the RX 6700 XT is still slower on the current beta, please file a fresh report from Help > Report Bug and we'll compare against that.

Closing as stale: this Beta 10 vs Beta 8 comparison predates many performance changes (rigged LOD #561, shadow culling #564, geometry/VRAM work #573/#584, LL perf batches). If the RX 6700 XT is still slower on the current beta, please file a fresh report from Help > Report Bug and we'll compare against that.
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#210
No description provided.