Tell me more ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

The human eye can differentiate about 10 million colors. A 24-bit display mode can produce about 16 million. Why, then, do operating systems have 32-bit and higher display modes if the apparent quality is the same as a 24-bit mode?

share|improve this question
3  
My two guesses: Just because they can, or...marketing. – Virtuosi Media Dec 6 '12 at 2:32
A guess is that there are parts of the spectrum that the human eye can differentiate more precisely. Higher color-depth might not be noticable in parts of the spectrum but needed in others. – Fabian Zeindl Dec 10 '12 at 19:47

5 Answers

up vote 15 down vote accepted

This disparity is likely due to a variety of factors:

  1. It's not clear exactly how many colors humans can see. For example, the table at the top of this page about the number of colors distinguishable by the human eye cites various academic papers as saying anything from "more than 100,000" to "roughly 10 million." In any case, the number of colors visible to humans appears to be lower than the number of different colors which can be represented by a computer screen, although because the number of distinguishable colors is not known exactly, the people who made the screens probably decided to play on the safe side.
  2. The way memory is laid out in the computer, data is easiest to store and quickly access when the memory units are in powers of two. This physical constraint is why we have a full byte (2^3 bits) per color channel rather than just 6 or 7 bits. This preference for powers of two also plays a role in the decision to include the fourth (2^2-th) channel. It makes for a much more uniform layout in memory and thus significantly faster processing than would be the case if there were only three channels, especially given how optimized graphic cards are for specify types of parallel processing.
  3. Now I come to the crux of your question. You point out that the 24 bits used to store the red, green, and blue color channels would already be sufficient on their own to produce more colors than we can see. That makes the final byte (the alpha value) appear a bit superfluous. But the alpha channel has a great usability value to programmers. Adjusting it adjusts the brightness of the whole pixel simultaneously rather than having to write the code to adjust each of the three channels independently. Among other things, the alpha value drastically simplifies the math needed for greenscreening, blending images, and setting transparency. Fewer operations doesn't just mean that the code can be written faster; it will take less time to debug and run faster as well.
share|improve this answer
1  
In addition to all of the above there is some evidence that we see some frequencies better than others (e.g. we are better at differentiating greens than we are blues and reds because of the frequencies the rods and cones in our eye respond to). So the colours that we can differentiate are not spread evenly over the whole visible spectrum. – adrianh Dec 6 '12 at 9:29
These points are all valid, but the main reason is what MSalters described. – oefe Mar 6 at 21:25

You're incorrectly assuming that the distribution of those colors over the gamut matches the human eye. The distribution of the 16 million colors is chosen for technical simplicity, ignoring even the difference in sensitivity for red and green.

For the same reason, there's a sizeable part of the gamut which many monitors can't display at all (15% is usual)

share|improve this answer
never though about it, plus one for this one. – shabunc Mar 6 at 15:30

24 bit isn't really 16 million different colors. It 3 times a single color at different intensity which your eye/brain interprets as a single color, it isn't. So, try this exercise, show all the 256 different "reds" with the other colors at 0. Then you'll find out that 8 bits per color x 3 actually isn't that much...

share|improve this answer

Because if you used 7-bits instead of 8-bits per RGB component, you'd get 21-bits for all color space and that would sum up to about 2 million colors, much less than what we can see.

share|improve this answer

From graphics processing and system-programmers' point-of-view, 32-bit staffs are much easily manageable than 16-bit/24-bit/whatever-bit staffs ....

simple explanation, right?

share|improve this answer
1  
Could you elaborate on the answer a bit more and maybe enlighten us Why that is? – Benny Skogberg Dec 6 '12 at 8:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.