• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Is color banding a game, panel or driver issue?

nkarafo

Member
It's 2017, 32bit color is supported by graphics cards since the late 90's. And yet i still see this in many modern games

ALwPscG.jpg


The image above is from Dying Light. You can see the color transitions in the gradient as it's not smooth at all. It gets worse when it's sunset. Or when you are underwater. I also saw this in The Surge, in certain semi-dark areas. Looks very bad.

This is probably not a pane/monitor issue. If it was, the picture would appear correctly in other monitors. I also tested Dying Light on my older CRT monitor and the results were similar. I also enabled "full RGB" in the Nvidia settings because the default was always "limited".

Is it a driver/graphics card issue then? If people with other cards can see a smoother color transition in gradients then this should be the case.

Or is it a game problem thus we can do nothing about it? And if it is... why? I thought games use millions of colors (32bit) since decades now. Why is it so hard to have smooth color transitions today?
 

matthewuk

Member
Is 32bit colour the range of colours available. Or the range of colours outputted?

You can have a 32bit palette, but the output may only be 24bits, which means 8-bits red,8-bits blue and 8-bits green or 256 shades of each. So you will see banding if that's the case. If we jump up to 10 bits per colour you shouldn't see any banding. Mind you an LCD display needs to support 10-bit colour.
 

dr_rus

Member
Is it a driver/graphics card issue then? If people with other cards can see a smoother color transition in gradients then this should be the case.
No, you'll get the same result on any videocard / driver.

Or is it a game problem thus we can do nothing about it? And if it is... why? I thought games use millions of colors (32bit) since decades now. Why is it so hard to have smooth color transitions today?
This is usually a game issue which is a combination of engine and art issues.

Engine because engines tend to ignore monitor color profiles which means that in-game colors are displayed incorrectly to begin with. You can try using something like CPKeeper to see if it helps with the banding here.

Art because while games use 32 bit color *output* the art is more often than not stored in compressed formats - not only on disk but in the memory when being processed as well (DXTC is still used by most games for all textures to save on VRAM). This results in issues on big textures like skyboxes where you really need more than 32 bits usually while games are using what is essentially 16 bit in DXTC format.
 

nkarafo

Member
Is 32bit colour the range of colours available. Or the range of colours outputted?

You can have a 32bit palette, but the output may only be 24bits, which means 8-bits red,8-bits blue and 8-bits green or 256 shades of each. So you will see banding if that's the case. If we jump up to 10 bits per colour you shouldn't see any banding. Mind you an LCD display needs to support 10-bit colour.
Does this affect CRT monitors? I tested Dying Light on my CRT and it had the same issues. So i don't know.
 

KyleCross

Member
I have wondered this for years as it bothers the crap out of me. I always heard it's because of compression techniques.
 

nkarafo

Member
Engine because engines tend to ignore monitor color profiles which means that in-game colors are displayed incorrectly to begin with. You can try using something like CPKeeper to see if it helps with the banding here.

Art because while games use 32 bit color *output* the art is more often than not stored in compressed formats - not only on disk but in the memory when being processed as well (DXTC is still used by most games for all textures to save on VRAM). This results in issues on big textures like skyboxes where you really need more than 32 bits usually while games are using what is essentially 16 bit in DXTC format.
Thanks. At least i can sleep well knowing i'm not doing something wrong myself :p
 

matthewuk

Member
A CRT in theory has no limit to the colours that can be displayed, however the interface to the monitor needs to support higher colour depths.
 

Pooya

Member
That looks like poor game asset. Skybox is usually just a large texture. With last gen games, it was very common to have banding on there for saving memory I assume and that usually made its way to PC too. Assassin's Creed II I remember looked horrible with color banding.
 

pottuvoi

Banned
24 and 32 bit modes have only 256 values in each component. (RGBA)
It is simply not enough and this has been known for a long time. (At least from 90s)

This should give some idea.
Banding in Games: A Noisy Rant

So currently the best way to combat banding is well structured noise during conversion from high bit depth to low.
 

Ardenyal

Member
Does HDR fix this or only add more/less brightness/saturation at the ends of the spectrum?

I really have to focus to see banding on this. Maybe the same goes with developers of this game.

It goes from shades of olive green to brown to purple and blue, with that pattern repeating. Seems clear to me.
 

julrik

Member
Color banding drives me mad. GTA V is another offender of this - hate it.

There will be an end to it, right, when tech catches up?
 

Anarion07

Member
Does HDR fix this or only add more/less brightness/saturation at the ends of the spectrum?



It goes from shades of olive green to brown to purple and blue, with that pattern repeating. Seems clear to me.

AFAIK HDR can fix this, if the game supports a wider colour gamut.

Correct me if I'm wrong.
 

TSM

Member
Does HDR fix this or only add more/less brightness/saturation at the ends of the spectrum?

10 bit color will help fix this, which is a subset of HDR. It's ridiculous that we stayed with 8 bit color as long as we did. Luckily the HDTV industry is pushing HDR as it didn't seem like the monitor industry had any intentions of moving along otherwise.

AFAIK HDR can fix this, if the game supports a wider colour gamut.

Correct me if I'm wrong.

Banding is caused by an insufficient bit depth using the current primary colors. A wider color gamut just uses different primary colors. Using a wider gamut will still result in banding if you are using 8 bit color.
 
I also get this though on ps4 on quite a lot of games. Very obvious banding on a lot of games. This is on a brand new 65 inch Samsung 4k telly. I just assumed it was the games. Would it still be the games on console or TV?
 

tsundoku

Member
i assumed this was just because the assets like the skybox or large walls etc are just stored as massive textures
theyre not necessarily displaying transparent cloud blobs over a programmed gradient
 

kiyomi

Member
Isn't this simply a compressed skybox texture, essentially?

Speaking of banding, does anybody else's Steam client have heavy banding on gradients?

There is some slight banding/compression on some assets, yeah:

5BIE7Wu.png


I feel like I've seen it worse elsewhere but I can't remember where.
 

EvB

Member
Isn't this simply a compressed skybox texture, essentially?.

I think in the case of skyboxes this is often the case, maybe not just compression, but resolution too, which is making those bands of colour wider.

But then it could also be low precision atmospheric effects or lighting sitting in front of that texture
 
This is caused by compression and CA right?

Injecting minor Noise into your game can enable blending of the bands more.
 

EvB

Member
Does HDR fix this or only add more/less brightness/saturation at the ends of the spectrum?

HDR has little to do with color , HDR is there to provide extra brightness in situations where it is needed.

10bit colour or wide colour gamut is a separate thing, and would help
 
The picture (as in the Jpeg) will have gradients on every panel, as it is a 8-bit Jpeg. If you mean the picture coming out of your PC/console displayed by your tv/monitor then it's a colormanagement issue, if everything is set up correctly and what is displayed is also supposed to be a smooth gradient with enough informationen in it and not already something compressed then it should look fine. The entire chain must be set up correctly though and the source already has to be present in high enough quality/information. There are a million things that can compromise a smooth gradient too, a game puts another texture half transparent over it and that can introduse banding to an otherwise smooth gradient.
 

nkarafo

Member
Speaking of banding, does anybody else's Steam client have heavy banding on gradients?
Yes. The background gradient is literally a few stripes of different colors for me (in some sections).


But then it could also be low precision atmospheric effects or lighting sitting in front of that texture
I think this is the case. In most games that have this issue, it's not a static thing. Especially in The Surge, i get this effect in some foggy semi-dark areas where i can hardly see any textures anyway.
 

Mindwipe

Member
HDR has little to do with color , HDR is there to provide extra brightness in situations where it is needed.

10bit colour or wide colour gamut is a separate thing, and would help

Indeed, but it must be said the TV industry tends to band both elements under the "HDR" banner, simply because that's the name that UHD Blu-rays picked to describe the various combination of factors.
 
HDR has little to do with color , HDR is there to provide extra brightness in situations where it is needed.

10bit colour or wide colour gamut is a separate thing, and would help
Inaccurate. HDR is the wider range of contrast per channel being achieved, meaning more shades per color being possible to be displayed. So it goes hand in hand with a wide-color gamut, otherwise the display will still be incapable of representing the smoother gradation of color.
 

Peterthumpa

Member
I had a Sony TV a few years ago that had an option to eliminate banding. It worked even better than Reshade's debanding filter at no performance cost. Those were the times.

But yeah, try to play with Reshade's debanding. It was driving me mad in The Witness and the filter helped a lot.
 

nkarafo

Member
I had a Sony TV a few years ago that had an option to eliminate banding. It worked even better than Reshade's debanding filter at no performance cost. Those were the times.

But yeah, try to play with Reshade's debanding. It was driving me mad in The Witness and the filter helped a lot.
What kind of performance cost are we talking here?
 

Social

Member
Yeah, this has to do with the texture format used and the compression applied.

It can make your assets use half the amount of RAM in most cases.
 

M3d10n

Member
Millions of colors doesn't mean million shades of a single color. I'm sorry to break into you, OP, but 32-bit color (actually, 24-bit) does have banding as well. Each channel (green, red and blue) have only 8 bits, which mean only 256 unique intensity values for each.

This means that a vertical gradient from black to pure blue, for example, will repeat color values (causing banding) when displayed on a space taller than 256 pixels. Things such as dusk skies and dark areas have gradients between much closer color tones stretched over much larger distances, so they'll run out of unique color steps pretty quickly as well.

This is why many games implement some sort of noise, to break banding patterns.
 

Peterthumpa

Member
I have the same feature on my SONY and its just a couple of milliseconds onto the input lag. Not noticeable at all.
I think he meant with Reshade though.

Can't recall for sure, it's definitely negligible at 1080p, but I remember it tanking my FPS a bit at 4K.

Be aware that there's no magic though, you'll lose some fine detail from textures and so on, but since the setting is highly customisable, you may get the result you want if you dedicate a few minutes to it.

For me, the trade off was totally worth it.
 

Zaru

Member
When I wrote my first 3D engine, I was immediately hit by the banding problem. There was no easy way out so I just left it at that, and seeing how even games made by many more and much more experienced developers still have this issue, it can't be an easy problem to fix.
 

pottuvoi

Banned
When I wrote my first 3D engine, I was immediately hit by the banding problem. There was no easy way out so I just left it at that, and seeing how even games made by many more and much more experienced developers still have this issue, it can't be an easy problem to fix.
The link I posted above is one of the better sources on how to battle banding

Basically introduce noise before tone mapping to ldr/mdr. (With proper scale so its within couple of values in target format.
This allows detail to be visible which would otherwise be lost between bands.
 

Mokujin

Member
My highly uneducated guess is graphic engines using reduced color spaces as a trade off to get more performance.
 

EvB

Member
Inaccurate. HDR is the wider range of contrast per channel being achieved, meaning more shades per color being possible to be displayed. So it goes hand in hand with a wide-color gamut, otherwise the display will still be incapable of representing the smoother gradation of color.

That isn't correct.The HDR component is not mapped directly to the code value of each color channel
 
Interesting. I only seem to notice colour banding issues when it comes to purple gradients. Several Nintendo games will blast your screen with purple, and almost every single time they do it, this issue is visible. I assumed this was a way these games were optimised and squeeze out some extra performance. I don't think I've ever noticed it with other colours though.
 

Fuchsdh

Member
Until we get 10bits per channel monitors and TVs, we're still going to have the same issue; HDR generally just means more colors, but doesn't solve the banding issue. Traditionally it's been a high-end designer/creative application. Apple only just announced yesterday bringing those panels to its computers; it's going to take a while before we see the perfect storm of stuff like 10bpc 4K monitors and TVs with >60Hz refresh rates. And even then, there still may be pipeline issues in the game presentation that cause it to not even reach sRGB coverage.
 

matthewuk

Member
Yeah I've had a few Sony TV's, the feature is called "smooth graduation" it works quite well. It hardly effects gameing lag. But keep it on low or medium.
 

GLAMr

Member
24bit RGB colour is capable of denoting over 16 million distinct colours, which is more than the human eye can see. Banding is introduced when gamma correction is applied to an image.

E.g. Suppose you had a gradient with RGB of 2/2/2, 4/4/4 and 8/8/8 (out of a max of 255/255/255), which is a fairly smooth transition. Gamma correction then shifts the values in a non-linear fashion, as it is a curve, so your new colors might be 2/2/2, 8/8/8 and 32/32/32. You now have greater leaps in intensity between your bands, making them easier to distinguish. These values are of course entirely hypothetical to demonstrate the point.

HDR can potentially reduce banding by allowing more discrete, gradual values to be calculated when gamma correction is applied. However, the whole thing is contingent on hardware and software all talking together properly to calculate, encode, transmit, decode and display the colour information.
 

dr_rus

Member
Does HDR fix this or only add more/less brightness/saturation at the ends of the spectrum?

HDR displays won't fix this because it's not a problem of display (excluding the cases where this is a result of an improper display calibration), it's a problem of storage. Now, storing these textures in HDR image format will certainly help -- but you're looking at several times the increase of VRAM consumption for such storage compared to the regular non-HDR one.

But to be honest I can't say that I notice these artifacts very often in recent games. The worst offender of late here was TW3 which can produce some serious banding on the sky under different lighting conditions. But other than that - I can't really think of other examples.
 
I remember that there's a Dragon's Dogma mod that fixes the game's color banding. So I believe it's not panel nor driver issue in that case.
 
That isn't correct.The HDR component is not mapped directly to the code value of each color channel
Didn't say it was mapped to each color, only that the display technology itself makes it possible for the wide color gamut to be actually come through.
 
Top Bottom