色彩管理就好像绕不出去的迷宫。
前一次和fivestone讨论色彩管理之后,认为比较好的解决方案是将图片转换为带srgb色彩配置的文件,这样唯一不能正确显示颜色的情况是用户校准了显示器,但是不使用支持色彩管理功能的浏览器(比如windows用户校准了显示器但是仍然使用IE浏览器)。
但是昨天发现一件很奇怪的事情,往网站上传了一个带有srgb配置文件的jpg图片,该图片在Safari里和photoshop里面显示不一致。Safari是支持色彩管理的浏览器,显示带有srgb的图片应该没有问题。经过实验,发现在Safari和Preview里面显示是一致的,但是和Photoshop、Bridge里面显示不一致,这样看来,就不是浏览器的问题,而是Apple的一系列软件和其他(包括Adobe以及其他一些公司的软件)处理srgb文件的不同所致。
其实该问题也并不是第一次出现。使用LX2的时候,相机产生的带有srgb配置文件的图片,在Aperture和xee里面显示也不一致,当时以为是xee色彩管理的问题,现在明白是Aperture的问题。通过网络搜索相关案例,发现该问题其实相当普遍,而且都是外接显示器的问题。我外接的显示器是Dell 2007FPW,和Apple的Cinema 20″ Display使用同一块LG IPS面板,因此Apple软件显示srgb图片的偏色问题,和Cinema是一样的,都是蓝色偏为紫色。因此就得到了很多reference。
这个问题的解决方法是:
1、打开Color Sync,位于/Applications/Utilities;
2、点击Devices图标;
3、点击Displays左边的三角,打开更多选项;
4、选择外接显示器;
5、点击Make Default Display按钮;
这样做以后,重新启动Safari、Preview等Apple软件,在外接显示器上就显示正确了。Mac OS X里面每个Display可以设置自己的色彩配置文件,但不知道是软件bug还是系统bug,Apple系列的软件总是使用系统默认的色彩配置文件,而没有更改的情况下系统默认的是内置显示器的,于是在外接显示器上还是使用内置显示器的色彩配置文件,这样就造成了显示的错误。而Photoshop等软件可以使用每个显示器相应的色彩配置文件,这样在外置显示器上就能够显示正确。
当然这样解决之后就带来了新的问题,在内置显示器上使用Apple系列软件就会有错误的色彩。不过这已经是能够得到的最好的结果了,如果要彻底解决这个问题,只能期望Apple升级操作系统或者软件。但是至少Leopard到10.5.8都没有修正这个bug,Snow Leopard在路上,过几天装了再试试看。
虽然这次srgb显示的问题并不是Safari自己的错(我认为很可能是Mac OS X),但是并不代表Safari就是完美的浏览器。正如上一篇文章所说的,Safari对于没有内置色彩配置文件的图片,都会按照显示器的色彩配置文件来解释,而因为srgb的流行,这些文件其实应当按照srgb来显示,于是Safari就显示错误了。在搜索以上问题的解答过程中,看到一篇文章把软件分为四类,感觉很有道理,兹介绍如下:
1、(色彩上)傻的:完全没有任何色彩管理功能,完全忽略内置配置文件,将所有文件按照显示器的配置文件来解释;目前在Windows上,除了Safari和打开色彩管理的Firefox 3,所有浏览器在色彩上都是傻傻的。
2、笨的:有色彩管理功能,能够正确处理内置色彩配置,但是对于没有配置文件的图片,按照显示器的配置文件来解释,可是当前的趋势(微软曾经对srgb的推广所致)是,这些没有配置文件的图片其实是srgb的图片。这样,这类笨笨的软件,他们虽然能够正确显示内置色彩配置文件的图片,但是对于互联网上绝大多数不带有配置文件的srgb图片,都显示错误。Safari虽然不傻,但是是笨的代表。
3、固执的:忽略所有内置色彩配置文件,全部按照srgb来解释。这类软件是微软对srgb推广的忠实追随者。
4、聪明的:对于有内置色彩配置文件的图片,按照其内置的色彩配置文件来解释;对于没有的,按照srgb来解释。这样在最大范围内可以正确显示互联网上的图片。令人惊讶的是,唯一色彩聪明的浏览器是Mac上的IE浏览器!同样令人遗憾的是,IE for Mac早已经停止开发,早期版本虽然现在勉强也能跑,但是缺乏实用性。
下面的表格可以直观看到这些的区别:
|
类型
|
自带配置文件
|
不带配置文件的sRGB图片
|
不带配置文件的按照显示器配置文件编码的文件*
|
|
傻
|
✕
|
✕
|
❍
|
|
笨
|
✓
|
✕
|
❍
|
|
固执
|
✕
|
✓
|
✕
|
|
聪明
|
✓
|
✓
|
✕
|
*:这类文件显示不正确,不是浏览器的错,是发布者的错。把文件转换到自己显示器的色彩空间,然后不带色彩配置文件发布出去,基本上可以属于头脑不清醒。
✓:正确显示 ✕:不正确显示
❍:如果碰巧你的显示器和发布者的显示器一样(概率几乎为0…),可能显示正确
技术问题常常是很困扰人的,我想这也是我不太愿意继续留在计算机的原因之一,因为一个很琐碎的技术细节就可能需要很长时间来解决,而这个过程很可能是没有什么意义的纠错,相信有debug经验的人都有这样的体会(算法级别的debug还是有趣的,可以发现自己思维的漏洞,但是应用性的debug是很没有意义的,往往是发现别人开发的系统中一些自己无法改编的漏洞)。
既然罗唆了这么多,不妨把近来试图弄明白的几个技术问题谈一谈。
一个是Dell 2007FPW用VGA线连接Acer Aspire One 751h netbook,显示分辨率只能是800×600或者1024×768。操作系统是Vista Home Basic。
这个问题非常令人有挫败感。经过一个晚上的文献调查,得出的结论大致如下:
1、该问题是显示器的EDID数据没有传送至电脑所致,导致操作系统不明白显示器能够使用什么分辨率;
2、XP可以使用自定义分辨率,即忽略EDID;但是Vista不可以;
3、PowerStrip可以覆盖EDID数据,让操作系统支持更多的分辨率,但是该软件只支持少数显卡,不支持Intel的显卡。
4、Intel显卡目前还没有方便使用自定义分辨率的方法,网络上介绍的几种复杂方法,我并没有测试成功。
所以最后的结果就是这个问题无法解决…
从使用了几天的经验看来,Vista确实有点垃圾。显示器的分辨率,在显示器驱动的inf文件里面明明写明了,但是Vista就是不用这个数据,非要去弄什么EDID,很无语。
谈到这个,干脆再跑题远一些,谈一下Aspire One 751h这个上网本。本来想买一个轻量、便宜的笔记本负责联络和娱乐事项,提高工作效率。这个型号基本上是我认为最好的型号,原因如下:
1、11.6″ 1366×768高分辨率LED背光屏。相比与10寸系列的1024×600屏,这个确实有很大的优势;
2、全大小键盘,而10寸一下的本大多数是缩小的键盘;
3、使用Intel GMA 500显示芯片,支持硬件解压H.264文件;
4、价格较好,本地Walmart有2GB内存、250GB硬盘的版本,和普通1GB、250GB的价钱一样;
不过两周之后我还是决定退掉这个本,原因如下:
1、屏幕不满意:分辨率和大小我是比较满意,LED背光相比与荧光背光,确实显示更加均匀,但是色彩不怎么样。刚拿回来的时候偏蓝严重,使用i1 pro校准后和IPS屏乃至Macbook的TN屏都尚有差距。有听说使用LED背光之后TN屏的性能大大提高,但是我在这个屏上并没有感觉出来。另外也听说i1对于LED背光的校准不是很准确,这一点我尚不能确认。不论怎样,因为专业的缘故,我对于色彩要求是较高的,这个本和我现有的设备环境无法得到我满意的色彩;
2、外接显示器的分辨率问题:即使达不到显示器的自然分辨率,若是有一个16:10的分辨率可供选择,那么也可以勉强使用;小本本来就是作为娱乐用,如果不能接外显,11.6寸屏分辨率再高也是无用;
3、速度实在太慢:该本用的是Intel Atom Z520处理器,大约是为了避免Intel对N270处理器只能使用10寸及一下屏的限制。处理器的频率只有1.33GHz,速度可想而知。评测结果来看,Z520的性能大约有N270的四分之三。虽然GMA 500硬件解压H.264看高清的效果不错,但是在别的应用上都太慢。(顺便说一下,N270的本也不行,虽然处理器强一点,但是没有硬解高清。总体上说,现在流行的N270、N280、Z520、Z530、Z540性能都很有限;等双核的N330出来不知道是否会好转)。
退掉AO751h之后,将Macbook切换成扩展屏幕显示,效果也较好。不过近来Macbook电源管理有点问题,有的时候关机但是不断电,网络上提供的解决方案如下:
1、重设SMC和PRAM,这个基本上是一切Macbook问题需要解决的第一步;
2、2005年以后Macbook的默认Sleep Mode改为Hibernate(mode 3),即既把RAM存在硬盘里,又保持内存不断电。这样的优点是启动快,并且关机状态不插电源线换电池不会造成内存信息丢失,下一次启动变慢。缺点是关机变慢,浪费硬盘,并且可能造成关机不断电。
可以将Sleep mode改为原来的模式(mode 0),即内存信息不存在硬盘里,关机后电池继续为内存供电,保持电池信息。这样关机速度加快。问题是如果不插电源线又还电池,内存信息会丢失,下一次启动变慢。不过这种现象很少出现。
网络的解决方案是建议将Sleep Mode从3改为0。但是我认为这只会加快关机不会解决不断点的问题。
查询当前模式:pmset -g | grep hibernatemode
更改模式:sudo pmset -a hibernatemode 0
更改模式后节省硬盘空间:
cd /var/vm
sudo rm sleepimage
以上操作我均未验证过,不保证正确性。
3、某些软件不能正常退出所致。
4、系统bug。
1我试过无用;我认为3比较合理,但是目前还不能确定是哪个软件出问题。或许升级到Snow Leopard后会自然好转,到时候再看看。
好了,流水账写了很长,总结一下这篇文章谈到的一些问题:
1、Macbook在外接显示器显示srgb文件不正确
解决方案:在Color Sync里面更改默认显示器;
副作用:内置显示器将显示不正确;
2、各种软件按照色彩管理能力的分类
结论:Safari处理没有色彩配置文件的图片有误,但仍是色彩管理最好的软件;
3、某些外接显示器在Vista下不能显示最佳分辨率
结论:EDID信息传输问题,在Vista和Intel芯片的条件下基本无解;
4、为什么我不要Acer Aspire One 751上网本
结论:慢,不支持我的外接显示器最佳分辨率;
5、Macbook关机不断电的问题
结论:可能是Sleep Mode的问题,但暂无确切消息。
(本文原发“落枫居·陈阳文存”,地址:http://blog.photocy.org/?p=611)