3
\$\begingroup\$

A wide gamut screen displays more than the sRGB color space.
So why, with softwares that do not deal with ICC profiles, with a given color that has it's own place / value in the global color space, is rendered differently on a wide gamut screen than on a standard screen.

I mean, the color that corresponds for example to the #E58C4E color, is at the same place on a reduced color space, or an extended color space. So a monitor that can display a large color space should be able to display correctly a color that is in a color space that is inside it, whatever the way it is adressed to it.

\$\endgroup\$

4 Answers 4

6
\$\begingroup\$

Actually, #E58C4E, if you mean the web color, is defined to be in sRGB. However, if you didn't mean that particular convention but rather "red:229, green:140, blue:78", it's a different matter, because the extremes (the "primaries") of each channel are different in different color spaces, so those numbers actually do represent something different in each space. (Arguably, that's what a color space is.)

The monitor has its own primaries (the native color space of the monitor), and a color managed system translates between a known profile for a given image and the native output. If the color space of the original isn't known, there's no way to guess at the proper translation.

So, another way of asking the question might be: why aren't colors from un-color-managed-applications just assumed to be sRGB and translated on the fly? From the monitor's point of view, that's easy: it has no idea about which pixel came from which application, so it wouldn't know what to translate and what to leave alone. The graphics driver level has the same basic problem. Going from the other side, un-aware applications can't do it, because they're unaware. So, that leaves the operating system's display manager to do it, and that's hard.

So here we are.

\$\endgroup\$
3
  • \$\begingroup\$ Do you mean that Windows Vista / 7 and the more recent nVidia drivers do not manage color spaces ? I mean, if Windows icons are too saturated on a wide gamut monitor, I assume if I understand what you say that Windows do not tell the driver it is in sRGB color space, nor the driver asume that it is sRGB by defaut, converting those value to a correct color for the monitor display ? \$\endgroup\$
    – Oliver
    Feb 21, 2013 at 19:12
  • \$\begingroup\$ I'm not an expert on Windows, but yeah, if that's how it looks, that's probably why. It's some overhead to do so and most people don't care about the color accuracy of their icons, so I'm not surprised. \$\endgroup\$
    – mattdm
    Feb 21, 2013 at 20:32
  • \$\begingroup\$ @Oliver The latest Windows and AMD/ Nvidia do manage colour spaces. Usually under Color Management in Control Panel. As "mattdm" indicates, there is a "digital" representation of RGB (8-bit or 10-bit) and a "physical" result ie. what light actually comes out from the computer screen. The most practical way for this to make sense (sRGB looks like sRGB, P3 looks like P3 etc) is to use a colorimeter eg. Colormunki or Spyder and create one or more .ICM profiles. What happens is the colorimeter creates this profile then Windows, graphics drivers etc use this profile for best color representation. \$\endgroup\$
    – SaltySub2
    Jul 15, 2018 at 7:30
4
\$\begingroup\$

[afaik] Unless the display driver or application being used applies a color profile or similar to compensate for the wider gamut, the color codes you use in your application will be sent to the display as-is. And in the display a specific color value (say E5) is no longer interpreted in the srgb scale but in the wider gamut scale.

So why does the display not interpret E5 in the srgb scale? This is because the values that the display adapter can send out are (typically) in the range 0-255 so in order for the wider gamut to be achievable the value 255 means maximum intensity in the wider gamut rather than the maximum intensity in the srgb gamut.

Should the display driver or application use a color profile, it can map the srgb values to the appropriate (smaller) wide gamut values and thus look "normal" on the display. Unless a wider scale is used than the typical 0-255 however then you will lose resolution in the process since a subset of the 0-255 scale will be used for srgb, for example 0-160.

\$\endgroup\$
4
\$\begingroup\$

There is no global color space. A color as you specify is just a triplet of Red, Green and Blue. Each component has a value between 0 and 255 (0 and FF in hex) which indicates how much power to give each LED for a given pixel (or phosphor in the days of CRTs).

The scale is relative to your monitor and its current settings. This is why monitors need to be calibrated. On a wide-gamut monitor the values are just spread along a wider color-space.

If you expected the color to display to be transformed into the display's color-space then you need to have at least a monitor profile for your monitor and tag your images with an ICC profile so that the operating system knows how to do the transformation. This of course will result in banding artifacts since precision is lost.

\$\endgroup\$
1
\$\begingroup\$

As Raymond Chen would put it, developers hate to pay taxes. Colour management is a very big tax on Windows. Developers are expected to ask Windows what colour profile to use and then do all the RGB conversions themselves. (And let's not even get started on the added challenges of multiple monitors!)

Most developers don't know any better so they just draw the image without any conversion, so the raw RGB numbers get sent to the monitor without any correction. It looks good on their screen so they don't care.

Now, the monitor HAS to interpret the RGB colours in the widest possible gamut it supports, or else you can't use those colours at all, defeating the purpose of the wide gamut monitor, so you're left with oversaturated colours. (Most wide gamut monitors do, in fact, include an sRGB mode out of necessity.)

On Mac OS X, everything is colour managed and sRGB profiles are assumed unless the program opts into something else, so it avoids this problem.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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