Particles blurry / pixelated at distance (possibly only alpha-blended ones) #879

Closed
opened 2026-10-19 20:18:08 +00:00 by sky_line · 1 comment
Owner

Particles look blurry / pixelated at distance. Possibly only alpha-blended particles (to confirm: compare additive / glow sprites with alpha ones).

Suspects (in order)

  1. Reduced-resolution particle pass (RenderVKParticleLowRes, default 2 = adaptive; RenderVKParticleResScale):
    • Blend-pair sprites (alpha, additive, premultiplied) are drawn into an offscreen target at a lower resolution, then composited with a nearest-depth upsample.
    • Distant particles are small on screen, so a half- or quarter-res target turns them into a few blocky texels. Nearest-depth upsampling against a downsampled depth can also pick the wrong texel at silhouettes.
    • This would also explain "only alpha ones": those are the blend pairs routed into the low-res target.
  2. Texture mip / residency for particle textures. Distance-based mip requests or residency (texture budget / pressure bias) can load a low mip, and BC compression can blur a small sprite texture. Check debug views 23 and 24 on a particle texture.
  3. Alpha-coverage / alpha mips (#766 kept alpha-coverage mips separate from blended uses). Check that particle textures take the blended-mip path with correct filtering.
  4. TAA / FSR reactive mask on composited particles: a low-res reactive mask smearing small, distant sprites.
  5. VRS on alpha, if particles are drawn under a coarse shading rate.

Steps

  • A/B on the same distant emitter:
    • RenderVKParticleLowRes 0 vs 2;
    • RenderVKParticleResScale;
    • TAA / FSR off;
    • texture compression off;
    • VRS off.
  • Screenshot each. Also compare with LL's viewer for the look of the same emitter.
  • If the low-res pass is the cause: make the adaptive mode keep small / distant sprites at full resolution (route by projected sprite size), or use a better upsample (bilateral / edge-aware instead of nearest).

Acceptance

Distant particles, alpha and additive, look as sharp as the full-resolution path. The low-res pass still pays off where particles cover a lot of the screen (smoke, fog sprites).

Particles look **blurry / pixelated at distance**. Possibly only alpha-blended particles (to confirm: compare additive / glow sprites with alpha ones). ## Suspects (in order) 1. **Reduced-resolution particle pass** (`RenderVKParticleLowRes`, default 2 = adaptive; `RenderVKParticleResScale`): - Blend-pair sprites (alpha, additive, premultiplied) are drawn into an offscreen target at a lower resolution, then composited with a nearest-depth upsample. - Distant particles are small on screen, so a half- or quarter-res target turns them into a few blocky texels. Nearest-depth upsampling against a downsampled depth can also pick the wrong texel at silhouettes. - This would also explain "only alpha ones": those are the blend pairs routed into the low-res target. 2. **Texture mip / residency for particle textures.** Distance-based mip requests or residency (texture budget / pressure bias) can load a low mip, and BC compression can blur a small sprite texture. Check debug views 23 and 24 on a particle texture. 3. **Alpha-coverage / alpha mips** (#766 kept alpha-coverage mips separate from blended uses). Check that particle textures take the blended-mip path with correct filtering. 4. **TAA / FSR reactive mask** on composited particles: a low-res reactive mask smearing small, distant sprites. 5. **VRS on alpha**, if particles are drawn under a coarse shading rate. ## Steps - A/B on the same distant emitter: - `RenderVKParticleLowRes 0` vs 2; - `RenderVKParticleResScale`; - TAA / FSR off; - texture compression off; - VRS off. - Screenshot each. Also compare with LL's viewer for the look of the same emitter. - If the low-res pass is the cause: make the adaptive mode keep small / distant sprites at full resolution (route by projected sprite size), or use a better upsample (bilateral / edge-aware instead of nearest). ## Acceptance Distant particles, alpha and additive, look as sharp as the full-resolution path. The low-res pass still pays off where particles cover a lot of the screen (smoke, fog sprites).
sky_line added this to the Slipstream project 2026-10-19 20:18:08 +00:00
Author
Owner

Fixed in 1.4.1 (8d29695839). Reopen if you still see it.

Fixed in 1.4.1 (8d29695839). 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#879
No description provided.