24vs32 bit...

Ive noticed that with generic vid cards, (Like the one I use ) the highest color setting avaliable is 24 bit. (A tad more than 16 million colors) While on other name brand cards, (Nvidia, ATI) will go up to 32 bit... (More than a billion colors if Im not mistaken) Can you tell the difference between 24 and 32 bit? (Like between 16 and 24...Color-banding shows up a lot with 16, but not with 24) And is 32 necessarily better than 24?
7,007 views 24 replies
Reply #1 Top
I often wondered that myself, I have used both though I usually run 32 bit. Not sure if I can tell the difference as the eye is only capable of seeing just so many colors.



Powered by SkinBrowser!
Reply #2 Top
It is but it makes the file bigger.IMO



Powered by SkinBrowser!
Reply #3 Top
The human eye cannot tell a difference between 24-bit color and 32-bit color. I do see a difference between 24-bit display and 32-bit display. There must be other factors involved in the two different displays because one does not seem more colorful than the other. One just seems to have more detail or can display details more clearly than the other.
Reply #4 Top
Colour Setting Colours on Screen at Once Description

16 Colour 16 Colours Display's pictures in almost two tones that look very rough and pixely

256 Colour 256 Colours Displayed pictures that look grainy and photos look like cartoons

16bit High Colour 65,536 Colours Most people use this setting. Pictures look real and only slight banding appears in smooth shaded areas such as sky photos.

24bit True Colour 331,776 Colours Gives a much better image than 16bit, and shows pictures without any artefacts. Some computers only display 24bit and not 32bit colour.

32bit True Colour 1.6 Million Colours The best image quality for displaying images on computers. Some computers only display 32bit and not 24bit colour.




Powered by SkinBrowser!
[Message Edited]
Reply #5 Top
24bit does 16.8 million colors.

32bit does billions of colors.



Powered by SkinBrowser!
Reply #6 Top
I just want to see color number 407,281,834,101


Powered by SkinBrowser!
[Message Edited]
Reply #7 Top
I figure you know what you're saying Brad, and now, I can't find the page where I got that info.................... but I can find conflicting information concerning 32 bit color. 



Powered by SkinBrowser!
Reply #8 Top
The simplest way to test it visually, is create a multi-colored gradient going from one end of the screen to the other, and look at the picture in different color depths. You will notice a difference between 16, 24 and 32-bit color depths.
Reply #9 Top

Bits has to do with how much color can be dsiplayed at once.  It's 2^N. Where N is the # of bits.

 

N^15 is 32k colors. N^16 is 65,535.  N^24 is 16.8.

256 color is also referred to as 8 bit color (N^8).

Reply #10 Top
Yea, thats another funny thing. 15bit color...The only place Ive seen it was our old P166 MMX runnin' Mandrake Linux 8.2. I said it could display both 16 and 15 bit color... Whats up with that? Is it an alternative to 16bit incase 16bit is too hard on the vid-card? Or is it some standard in some other country?
Reply #12 Top
24bit color and 32bit color look exactly the same. There is more data in 32bit color which has to do with image format. 8bits of extra binary code in the header for computers to manipulate, like exposure data, transparency etc.
Reply #13 Top
I was told before that the 32 bits was 24 bits + 8 bits alpha channels. But I found that 8 bits transparency (such as XP icons) also work in 24 bits mode, so I'm not sure anymore.
Reply #14 Top

The way I understood it is like what paxx says, there is no 32bit 'color' in RGB. 24bit and 32bit color both have 16.8 million colors. 32bit RGB has an extra 8bits for alpha levels and other header data. I've also heard that CMYK uses the extra 8bits for color, so all 4 channels have 8bits.  I'm not sure if any of this is true though...

I hear they're developing 48bit and 64bit color systems. That will be interesting.

Reply #15 Top
The problem arises when 'physics' declares an infinite colour range exists, as does an infinite audio frequency variation, or volume increments....but human physiology will only determine definable gradations of any of these.....eg, the eye cannot distinguish 16.7 million colour variations, nor can your brain/perception benefit from their use.....the benefit from going from 8 bit to 16 bit is about as useful as it gets. A computer can tell 'magic pink' is 255,000,255....but the human eye will never see that 255,000,254 is any different...except the proggy it's used in will spit a dummy and show it as 'pink' instead of 'invisible/transparent'...
Reply #16 Top
Another thing...(With the mention of 48bit color) Why do many scanners boast 48bits of color perception? (Also, the cheaper models have 'only' 42bits of color perception)Who needs that many colors? As stated earlier, the eye cannot define between magic pink and its nearest neighbor, so, whats the point of 42 or 48bits of color? Is it just hype? Or is there some real use for billions upon billions of colors*?




*Color not colour. (Brits and Aussies are excused from this correction as their dialect has not yet matured to the point of removing the unnecessary vowel) Just kidding, Jafo.
Reply #17 Top
Oh...why not call it 'kuller' or 'kullah' and be done with it....philistines....
Reply #18 Top
Paxx is right. In 32-bit colors only 24-bits are used. 8 bits per channel for Red, Green and Blue. The 8 remaining bits are not used.

32-bits can have a significant advantage in speed. 32-bits are handled much faster than 24-bits when handling pixels individually, because 32-bit pixels can be accessed in one "aligned" read or write operation. On the other hand 24-bit pixels can only be accessed 8-bits at a time or need to be accessed by one or two 32-bit aligned accesses with a lot of bit shifting.

Games engine coders are very aware of these issues and when true colors are used they rather use 32-bit modes than the slower 24-bit modes. The same goes for DesktopX. Internally DX works with 32-bit bitmaps for the same reason. Games and DesktopX are using the fourth channel for per pixel alpha blending (translucency) information.

In graphics drivers it may make a difference too, but some hardware has specialized 24-bit manipulation hardware. Chances are that 32-bit is still faster, because not all graphics opertions are done by graphics hardware.

The Matrox Parhelia is a special case. That graphics card is using 10-bits (!) per channel to increase the quality of the color. So, they can use 1024 values per channel. That allows the Parhelia to use 1,073,741,824 instead of 16,777,216 colors.

Why does it make a difference to have that many colors? Assume you have a picture of a white teapot. In 256 color modes you will not see nice gradients in the picture but bands of colors instead. Looks rather ugly. In true color that effect will be less obvious and the image looks much smoother. The Parhelia clearly wins when showing a lot of different grades of the same color. It looks more natural.

On a monitor 8 or 10-bits per channel is enough, but for (professional) high quality printing there are a lot more colors. 48-bit (16-bit per channel) scanners are able to scan and to save these high quality images without losing much color information. Note that high quality printing also uses 2400 and often more than 4800 DPI in which the number of colors is much more important than on a monitor.

The same is true for ultra high resolutions used by movies. On such systems 8 or 10 bits per channel would cause these ugly bands to appear again. Such systems use 16-bit per channel or more.

Graphics programs are able to use 24-bit color formats. Also, some software is able to use 32-bit formats (which is good news for games programmers). These days 48, 64, 96 and 128-bit formats start to appear in professional software.

In todays graphics cards we also see high precision color being used for real time 3D rendering. Nvidia not only supports 8-bits per channel pixel and vertex shaders, but also 16-bits per channel and even a 32-bit floating point modes. And yes, other brands have similar capabilities, although ATI's R300 is using a maximum of 24-bits per channel (96-bits per pixel) which is expanded to 128-bits per pixel when written to the frame buffer.
Reply #19 Top
Koasati and Frogboy are a bit off. For the PC and simple graphics we have the following formats:
1-bit (2 colors)
4-bits (16 colors)
8-bits (256 colors chosen from a palette of 16,777,216 colors)
15-bits (32,768 colors)
16-bits (65,536 colors)
24-bits (16,777,216 colors)
32-bits (16,777,216, because 8-bits are not use for color information)
The extra 8-bits (the Alpha channel) can be used for per pixel alpha blending (translucency).

In DirectX we have a lot more variations, like a 16-bit format with 4-bits color channels and a 4-bits Alpha channel or a 16-bit format with 5-bit color channels and a 1-bit Alpha channel. In DirectX the Alpha channel is sometimes used to store Z-buffer information.

[Message Edited]
Reply #20 Top
After doing a google search, on the subject, and reading this thread, I have no idea what is what. There seems to be many conflicting opinions on the subject. I do know that 16 bit is not about as useful as it gets. You only have to view the simple wallpaper on my desktop in 16 bit, to mode to see that. You get the banding Madice talks about.



Powered by SkinBrowser!
Reply #21 Top
Koasati, let's make it simple and concentrate on the PC and BMP bitmaps. The list at post #19 is the way it is. As a games engine programmer those are the actual color depths one works with. In short: 24-bits is using the same amount of colors as 32-bit. The 8 bits difference are use for the Alpha channel. Some numbers you have shown are wrong. Sorry about that. It is like Frogboy said a matter of powers of 2. You can calculate these values. But his error was that he assumed that all 32 bits are used to store color information. That is nonsense.

What happens with the 8-bits when they are not used? They just take an extra byte (containing 0). WOM is right about that. In TGA or PNG bitmaps that extra byte is used to store Alpha information. BTW in W2K/WXP there is support for 32-bit BMP bitmaps that actually use the Alpha channel. That allows programs like DesktopX to use per pixel alpha blending.

If you read somewhere that 32-bits contains more color information than 24-bits then that information is likely to be incorrect. Maybe some odd hardware or odd graphics format will use the extra 8-bits for color information, but I don't know any.

Anyway. Like I said, the numbers of colors you gave in 24 and 32-bit color depths are incorrect. Even the 256 color format needs explanation. In 8-bit color formats there are 256 colors used, but these colors are actually 24-bits and stored in a table. The color value is just an index in that table.

If you want more information about this then the only reliable sources are the Platform SDK from Microsoft, the reference manuals of the various graphics cards and the programmers reference manuals of the various file formats.

BTW: Don't believe everything Google comes up with.

[Message Edited]
Reply #22 Top
About the different opinions: Programmers cannot work with things that can be interpreted differently. They are consistent, otherwise software and hardware won't work.
Reply #23 Top

What you say makes sense MadIce, and a few of the pages I pulled up last night, agree with you.     It's just odd, how many conflicting things you can read on the subject. Take Brad's post, I assumed he knew what he was talking about, since he makes a living with pixels.  





Powered by SkinBrowser!
Reply #24 Top
eg, the eye cannot distinguish 16.7 million colour variations, nor can your brain/perception benefit from their use.....


To complicate matters further, anyone over 35 will have trouble with 'correct' colour perception as the retina of the human eye begins to degrade and tends to give a 'yellow' cast to one's colour vision.
Now we know why Jafo is hooked on dark grey .....