4 ms·
They answered the question in the first two sentences: We don't need it, it's just an aesthetic nowadays.
by abstractspoon 1y ago
They answered the question in the first two sentences: We don't need it, it's just an aesthetic nowadays.
- debugnik 1y agoIt's not just aesthetic, I keep seeing games with color banding because they don't bother to dither before quantizing.
- amelius 1y agoFrom the article: > We don't really need dithering anymore because we have high bit-depth colors so its largely just a retro aesthetic now. By the way, dithering in video creates additional problems because you want some kind of stability between successive frames.
- dTal 1y agoYeah, the article is wrong about that.
- amelius 1y agoIt would be nice if you had some examples.
- nofriend 1y agosee eg https://xcancel.com/theo/status/1978161273214058786?s=46 https://xcancel.com/theo/status/1978161273214058786?s=46
- slabity 1y agoAcerola recently made a video about how Silk Song has banding with dark colors due to poor dithering (and how to fix it): https://www.youtube.com/watch?v=au9pce-xg5s https://www.youtube.com/watch?v=au9pce-xg5s Highly recommend for any graphics programmer that might think dithering is unnecessary or simply a "aesthetic choice".
- knollimar 1y agoTo lend more credibility, the devs added more dithering in the next patch.
- dTal 1y agoA great many can be found here: https://en.wikipedia.org/wiki/Dither https://en.wikipedia.org/wiki/Dither (also a very nice explanation of why dithering is a fundamental signal processing step applicable to many fields, not just an "aesthetic".)
- amelius 1y agoInteresting!
- Dylan16807 1y agoThe average desktop computer is running with 8 bit color depth the vast majority of the time, so find or generate basically any wide basic gradient and you'll see it.
- doormatt 1y agoI think you mean 24 bit. 8 bit would only be 256 colors total.
- recursive 1y ago8 bits for each of R G and B. So a grey-scale gradient indeed has only 256 colors available. Any gradient also will have about that many at most.
- kragen 1y agoIn most gradients, the transitions in R, G, and B are at different places.
- recursive 1y agoTrue. Also, in most gradients, the full range of R G and B is not used. In rgb(50, 60, 70) to rgb(150, 130, 120), there are only 200 total transitions.
- kragen 1y agoTrue!
- mrandish 1y agoIn terms of color spaces, SRGB (the typical baseline default RGB of desktop computing) is quite naive and inefficient. Pretty much its only upsides are its conceptual and mathematical simplicity. There are much more efficient color spaces which use dynamic non-linear curves and are based on how the rods and cones in human eyes sense color. The current hotness for wide color gamuts and High Dynamic Range is ICTCP (https://en.wikipedia.org/wiki/ICtCp https://en.wikipedia.org/wiki/ICtCp) which is conceptually similar to (https://en.wikipedia.org/wiki/LMS_color_space https://en.wikipedia.org/wiki/LMS_color_space).
- electroly 1y agoA very simple black-to-white gradient can only be, at most, 256 pixels wide before it starts banding on the majority of computers that use SDR displays. HDR only gives you a couple extra bits where each bit doubles how wide the gradient can be before it starts running out of unique color values. If the two color endpoints of the gradient are closer together, you get banding sooner. Dithering completely solves gradient banding.
- deleted 1y ago[deleted]
- Sesse__ 1y agoYou can do with a static dither pattern (I've done it, and it works well). It's a bit of a trade-off between banding and noise, but at least static stuff stays static and thus easily compressable.
- TinkersW 1y agoThe article is simple wrong, dithering is still widely used, and no we do not have enough color depth to avoid it. Go render a blue sky gradient without dithering, you will see obvious bands.
- mrandish 1y agoYep, even high quality 24-bit uncompressed imagery often benefits from dithering, especially if it's synthetically generated and, even if it's natural imagery, if it's processed or manipulated - even mildly - it'll probably benefit from dithering. If it's a digital photograph, it was probably already dithered during the de-bayering process.
- jchw 1y agoDithering can be for aesthetic reasons, I presume especially old-school dithering that is especially pronounced. However, dithering is actually still useful in all sorts of signal processing, particularly when there are perceptible artifacts of quantization. This occurs all the time: you can trivially observe it by making gradients that go between close looking colors, something you can see on the web right now. There are many techniques to avoid banding like this, but dithering lets you hide banding without needing increased bit depth or choosing strategic stop colors by trading off spatial resolution for (perceived) color resolution, which works excellently for gradients because it's all low frequency. And frankly, it turns out 256 colors is quite a lot of colors especially for a small image, so with a very good quantization algorithm and a very good dithering algorithm, you can seriously crunch a lot of things down to PNG8 with no obvious loss in quality. I have done this at many of my employers, armed with other tricks, to dramatically reduce page load sizes.
- matja 1y agoDithering isn't only applied to 2D graphics, it can be applied in any type of spatial or temporal data to reduce the noise floor, or tune aliasing distortion noise to other parts of the frequency spectrum. Also common in audio.