Quick answer: Volumetric fog, god rays, and clouds are computed in a low-resolution froxel volume with temporal accumulation, so their bugs are banding, flicker, light leaks, and steep performance costs that depend on sample counts, volume resolution, and hardware. The artifact rarely reproduces from a screenshot because it is settings and motion dependent. Capture the volumetric quality settings, resolution, sample count, GPU, framerate, and camera, then group reports to see which setting or hardware tier is to blame.
Volumetric effects sell atmosphere better than almost anything: fog catching light, god rays through trees, clouds you can fly into. They also hide a thicket of bugs that are hard to reproduce because they live in a low-resolution simulation volume that updates over time. A player reports stripey bands in the fog, or flickering light shafts, or fog leaking through a wall, or a framerate that collapses the moment they step into the mist. Each is a known volumetric artifact tied to sample counts, volume resolution, and temporal accumulation. This post covers what to capture so volumetric bugs become diagnosable instead of vanishing the moment you load the scene on your dev machine.
How volumetrics actually render
Understanding the bugs starts with how volumetrics are computed. Most engines voxelize the view frustum into a coarse 3D grid, often called froxels, march light through it, and accumulate the result over several frames to hide noise. This means volumetric output is low-resolution by design and temporally smoothed, so its artifacts are the artifacts of a cheap, blurred, time-averaged simulation. Banding comes from too few depth slices, flicker from unstable temporal accumulation, and leaks from the grid being too coarse to respect thin geometry. The visuals are emergent from the volume, not painted into the frame.
That framing tells you what a volumetric report must carry. The froxel resolution, the number of depth slices, the per-froxel sample count, and the temporal accumulation length are the levers behind nearly every artifact. A banding complaint is almost always a slice-count or depth-distribution issue. A flicker complaint is almost always a temporal or sample-count issue. If your report records these values, you can often guess the cause before opening the scene, which is exactly the head start you want when the bug refuses to reproduce at your high-quality default settings.
Banding, flicker, and leaks
The three classic volumetric artifacts each point at a different setting. Banding shows as visible steps in the fog density, usually because the froxel volume has too few depth slices or distributes them poorly, so the fog quantizes into layers. Flicker and crawl come from temporal accumulation that cannot keep up with motion or lighting changes, so the fog shimmers as the camera or a light moves. Light leaks happen when the volume resolution is too coarse to capture a thin wall, so fog or a god ray bleeds through geometry that should occlude it.
Tagging each report with which artifact it is collapses a vague atmosphere complaint into a targeted fix. Banding sends you to slice count and depth distribution. Flicker sends you to accumulation length and reprojection. Leaks send you to volume resolution and the occlusion path. Without the tag you average them together and might raise sample counts globally, paying a performance price to fix the wrong thing. With the tag and the settings attached, you can confirm the banding only appears below a certain slice count and fix it precisely, on the preset that actually exhibits it.
The performance cost is the point and the problem
Volumetrics are expensive because cost scales with volume resolution, slice count, and sample count, all multiplied together, and the bill lands hardest exactly when the effect is most visible: dense fog filling the screen. So a very common volumetric report is not a visual glitch at all but a framerate that halves when the player walks into the mist or a foggy arena. Players report this as a slowdown in a specific area, disconnected from the fog, which means it will never reach the rendering work unless the report captures both the volumetric settings and the framerate together.
Because the cost is settings-driven, the fix usually lives in the same fields that cause the artifacts. Lowering volume resolution or sample count recovers framerate but can reintroduce banding or flicker, so you are always trading image quality against cost. That tradeoff is only manageable if your reports tell you, per hardware tier, where the cliff sits and which settings the player ran. Capturing the framerate, the volumetric quality preset, and the location lets you decide whether to cap the volume in that arena, lower slices on low-end presets, or simply move the dense fog somewhere cheaper.
Hardware, resolution, and motion context
Volumetric artifacts and costs both depend on hardware and on dynamic resolution, so the GPU and the effective render resolution belong on every report. An integrated GPU may run the volume at a lower internal resolution to keep up, which produces banding and leaks that never show on your discrete card. Dynamic resolution scaling changes the volume's effective fidelity mid-game, so an artifact can come and go with load. Without the GPU and the actual resolution stamped on the report, you will test at full quality, see clean fog, and wrongly dismiss the player.
Motion is the other half of the context, because temporal artifacts only reveal themselves in movement. A flicker report needs to know whether the camera was turning, whether a light was animating, and what the framerate was, since low framerate weakens temporal accumulation and worsens crawl. Capturing the camera transform also matters because god rays and banding are angle dependent, strongest when you look toward the light through the fog. With GPU, effective resolution, motion state, framerate, and camera attached, a volumetric report becomes a recipe you can reload and watch the same bands shimmer on cue.
Setting it up with Bugnet
Bugnet grabs the volumetric context automatically so these settings-and-motion-dependent bugs stop slipping through. When a player hits the in-game report button inside flickering fog, the report carries the volumetric quality preset, froxel resolution, slice and sample counts, temporal accumulation length, GPU, effective render resolution, framerate, and the camera transform. You add custom fields for those volume parameters and a category for banding, flicker, leak, or performance. Rather than a screenshot of gray haze you cannot reproduce, you get the exact configuration that produced it, which is the whole fight with volumetrics.
Occurrence grouping then turns a pile of atmosphere complaints into counted issues you can rank. The flicker reports that all share one preset and a turning camera become one issue with a count, distinct from the performance reports clustered in the foggy arena. You filter by GPU and preset to confirm the banding is a low-slice fallback on integrated hardware, prioritize the performance cliff that the most players hit, and after lowering sample counts there you watch that count drop while image-quality reports hold steady. One dashboard makes the quality-versus-cost tradeoff legible per tier.
A volumetric test and tuning loop
Bake the failure modes into a repeatable pass. For each quality preset, walk through your foggiest scenes facing toward and away from key lights, move the camera and animate a light to provoke temporal flicker, and stand near thin walls to check for leaks. Watch the framerate as fog fills the screen so you catch the cost cliff before players do. Run it on an integrated GPU and with dynamic resolution forced low, because that is where banding and leaks first appear. Save reference shots so you can diff future builds and catch regressions early.
Then close the loop with the report stream so your tuning targets reality. Each new banding cluster on a particular preset becomes a permanent test case, and each accumulation fix gets a moving-camera regression check so flicker cannot creep back. Over a few releases you learn precisely how far you can push volume resolution and sample counts on each hardware tier before either the artifacts or the framerate give way. That knowledge is what lets you keep the atmosphere that sells your game while staying inside the performance budget your players actually have.
Volumetric bugs live in a low-res, time-averaged volume. Capture its settings plus hardware, framerate, and motion, and banding and flicker stop disappearing on your dev machine.