Yesterday, I posted some of my frustrations with how color display behavior got a bit wacky when I hooked up a non-Apple external monitor to my MacBook Pro.
Responses varied from, “I’ve seen this too and I feel your pain” to “Hey noob, don’t expect different monitors to display colors the same.” Thanks to all of you who have shared helpful suggestions on calibration and so forth.
But I failed to convey what was happening, and as I set about clarifying it, things got weirder.
So, here’s a PNG image that shows what I occasionally see: Terminal.app rendering what should be the same color differently on the same display:
I included this image in my original blog post, and “Lew Z” posted this comment:
When I mouseover your 2 terminal text examples, in DigitalColor Meter I get:
Red: 0
Green: 65535
Blue: 0For *both*. As far as the OS knows, and what is displayed on your webpage, they are the same color. If you (and maybe I) perceive color differences between the two, it is a physiological issue of how the eyes and brain perceive color when surrounded by different colors (in this case, your window title bars).
This confused me greatly as when I sampled the image, the colors came out as #00FF00 and #7EF41D. Fortunately, right next to me is another identical hardware configuration I can replicate this on: MacBook Pro (15″ instead of 17″, but ordered weeks of each other and same generation, etc.), same OS X version, same Dell display with the same color profile, same versions of the web browsers. So I pulled the image up on that machine and…
…the colors were identical!
It appears that the PNG has some color profile information in it that’s interfering here, so I saved out a GIF version of what I see on my system:
Obviously, the GIF format will dither the colors, etc. but it does convey that the colors are significantly different. On Dion’s system, the GIF appears exactly as it does on mine.
So here’s what has me profoundly confused:
Why would the same image display differently on the same hardware and the same software with the same settings? I understand why the entire image could display uniformly different to the eye, but why does just part of the image change its actual content?
Anyone know?
What happens when you put both windows into the background?
Here’s my theory….
Apple monitors contain information inside of the monitor about their color profiles. This EDID info is sent down the video cable to the display hardware and then the Mac OS software acts on it.
You non-Apple monitor doesn’t contain this info. (On Windows it is in a monitor profile file distributed on CD with the monitor). When OSX doesn’t get this data, it does random things since it was never tested on monitors that didn’t supply the data.
@Myk Melez: Same thing
@Jon Smirl: Intriguing… the color glitches certainly seem random.
Regarding your Terminal example, the window on the right is a bit translucent and appears to be atop a white background. The window on the left looks like it could be opaque.
https://bengalbraith.files.wordpress.com/2009/04/terminalfortom1.png?w=384&h=110
That image for me looks like both colours are the same when viewed in Minefield, but are different when viewed in eog (Eye of Gnome) or GIMP. The 2 colours in the GIF look different, and are how I see the PNG in GIMP.
@Minh: They both have the same level of transparency, but there were different contents behind the windows.
Nevertheless, the green hue inconsistency persists.
Ah, I see that’s already been brought up in the last entry. Never mind.
Isn’t this just PNG gamma correction in the color profile? Your displays compensate based on their calibration data. When you do a screenshot, that gamma correction goes along with the file.
http://hsivonen.iki.fi/png-gamma/
For more background + tools to deal with it, check out:
http://delicious.com/limi/png
…or grab me at the Mozilla offices, and we’ll figure it out together. 🙂
Wow- so this only happens to windows when you have the external monitor plugged in? Are the problematic windows launching into the external monitor?
Maybe a good test would be to launch ColorSync and set both monitors to the same color profile?
You know, when I read your first post on this subject, on my MacBook Pro (15″ generation right before current one), I couldn’t actually perceive any difference in the two greens–I thought you were being hypersensitive. But now that I am on a Dell PC at the library, I can see quite clearly what you are talking about.
I did some Googling, and there are gripes by Mac users about the poor color range of their laptop displays compared to Dell displays.
http://forums.macrumors.com/showthread.php?t=677825
Tom’s Hardware examined the most recent MacBook Pros and noted that Apple only introduced RGB LED backlit displays with this most recent generation. The MacBook Pro’s one generation earlier (yours and mine), I’m assuming, have white LED backlit displays, which don’t produce as wide a range of greens and reds.
http://www.tomshardware.com/reviews/apple-macbook-laptop,2130-3.html
So, the relatively limited color range of the MacBook display compared to the Dell display may be the root of the problem: the MacBook’s display physically cannot produce those nuanced greens.
Uh, isn’t it supposed to be different? Since the left one is deactivated and the right one is activated (has the focus), i’d expect them to be different.
There is a profile in the .png image. When you open the image with Gimp, it asks you wether to convert the image to the RGB colorspace or keep it in the Dell 2408WFP colorspace. When you convert it, I suppose the colors run out of range and you end up with 0,255,0 full green only.
When you don’t, the cursors and text are all different colors.
Could it be something to do with optimisations in the window rendering.
As in … when the content behind the window is dark enough, the translucency code in the renderer isn’t used. But, when there is some potentially visible content behind the window, the renderer calls the translucency code, which is attaching a colour profile to it.
I’d guess it works on the Mac displays, because the system colour profile matches the target display, and any windows without colour management end up going through the same profile.
Where as, with the Dell, the target display profile is different, giving slightly different colours in the final render.
I have seen many similar issues and its a pain in the ass. Most of what is rendered on the Mac to a monitor is run though the monitors color profile. When you screen grab it just directly saves what is the the screen buffer so that is after it has gone though the monitors profile. So if you have 2 monitors with 2 color profiles and screen grab the same content on both you will get two images with different colors in them.
What the color profiles are trying to do is fiddle the input to the monitor so that your percived color is the same when you look at the same image on both monitors. Calibration with a tool like Huey Pro will help make that perception matching better but in my experance still poor and will most likly make the difference you see in the screen captures worse.
You can solve your issue of both monitors giving the same color by choosing a standard color profile like sRGB for both monitors. Then screenshots should match but the colors may look wrong when you look at the screen and when you compare what you see to what others see.
All this stuff drives me nuts, when I am designing user interfaces as I design somthing I think looks good with subtile gradients and contrast changes and then look on another computer and it is 30% or more different. A recent example is I was drawing a chart with a background of 250,250,250 with grid lines of 245,245,245 which looked subtile on my monitor which is what I wanted. On my wifes Vista PC with a HP glossy screen I had to change to 230,230,230 before I could see the grid lines on the background.
This reminds me of
http://www.neowin.net/forum/index.php?showtopic=752634
It also might be a problem with Safari vs FireFox – Safari color manages by default, FireFox doesn’t. If the reader taking color samples was using Safari, Safari may have use the the color profile information and displayed similar images, while FireFox won’t do this.
Thanks for all the comments. Lots of folks are pointing out that (a) PCs and Macs display colors differently, (b) different monitors display colors differently, and (c) different applications display colors differently. Totally get all that, and it is a pain.
But what I don’t get is how the same monitor on the same operating system with the same color profile settings on nearly identical hardware using the same application to display the same image file can yield different results–not visually (I understand the monitors can have different contrast/brightness/etc. settings) but when sampling pixels the OS reports different values from one machine to the other.
This seems bizarre and wrong.
Jon Smirl’s comment seems the most likely solution so far, but it is a touch too pessimistic to seem entirely possible as the explanation.
Watch out for monitors set to “thousands of colors”… they *force* rounding differences of 8-bit color channels, and those roundings can vary in different circumstances. (PNG can use palettes.) More:
http://www.adobe.com/go/14819
Could be many other causes, but after reading through your description twice, this felt like a likely unmentioned cause.
jd/adobe
Just to add a little bit of more information on this bizarre phenomenon that I’ve personally never experienced before, I have an external monitor hooked up to my MacBook with a mirroring setup, and the first time I saw the Terminal screenshot, I could immediately perceive the difference between the two colors. Just to be sure, I checked the LCD screen on my second generation MacBook; the greens were still different.
Just to thicken the plot, I adjusted the curves on the first image and there’s “hidden” text in the black area on the right window.
See: http://www.dontcallitart.com/HiddenText.gif
You should be able to try it for yourself. The screen grab shows the curve.
I wonder who Malte is? Maybe this is a mental game?
I had the same “bleaching” issue with my MacBook Pro and, to add more bizarreness, it would seem to clear itself up when I partially removed and reinserted the DVI connection.
After many months of searching forums, etc., I found my fix:
System Preferences > Universal Access > Display: Enhance contrast (set the slider all the way to Normal on the left)
For whatever reason, it seems my default “Enhance contrast” setting was just to the right of Normal which bleached the screen just enough to make #eee look like #fff on occasion.
Hi Ben, did you ever find a solution to this problem? I’m having a very similar experience with my MacBook and Dell 2408FPW.
It seems to me that I can reproduce the differently-colored Terminal windows most easily if I open one when I’m using my laptop in standalone mode and then later open another window when the laptop is in clamshell mode hooked up to the external monitor. TextMate syntax highlighting also goes wonky under the same conditions.
Great job! One quick qosetiun : can you estimate roughly what the total budget required to put this together was?
3kMdfx dkajusbtecie
FWIW, the source of my problems was (a) having Photoshop open and (b) having View -> Proof Setup set to Working CMYK. No idea why this affected other apps. Once I set the Proof Setup to Monitor RGB, life is great.