外接屏色彩发灰

两种不同的抱怨,答案其实是同一个。「调暗之后画面发灰」和「调了色彩之后反而更糟」,都跟伽马表有关——而后者是一个真的很容易犯的错误,我们自己的代码也不例外。

为什么调光会改变颜色

当面板没有实现 DDC/CI 时,亮度只能在软件层做:重写显示器的伽马表。这是对「信号与输出关系」的真实改动,所以调暗后的画面不是同一张图的暗版——它会显得更平、更灰。这是软件调光固有的代价,不是某个应用的 bug。

陷阱:在你自己的改动之上再改

问题出在这里。「把伽马设成 2.3」最自然的写法是:读出当前的表、按参数重塑、写回去。做一次没事。做第二次时,这次调整是叠在第一次的结果上的;第三次又叠在第二次上。每一次微调都在累积上一次的偏差——这就是人们说的「颜色越调越偏,怎么看都回不去」。

解法只有一条纪律:把曲线读一次并留住,之后永远从这份留存副本换算,而不是从你上一次写进去的曲线出发。我们源码里那条缓存的注释写得很直白:「面板的原始 ramp,只读取一次,作为一切变换的基准,因此反复调节不会累积。」 第一百次调节的结果与第一次完全相同。

关于这个基准,一句诚实的话

「只读取一次」就是字面意思:我们在第一次接管某台显示器时读它的传递表,以此作为基准。在一台没有其它东西在改伽马的 Mac 上,这确实就是面板的原始曲线。但如果在我们启动时,已经有另一个控制伽马的应用在运行,那么我们捕获到的是那个应用的曲线,我们的换算就是相对它做的。所以我们在这里把话说清楚,而不是让更简短的市场用语暗示更多。

怎么回到你原来的状态

一条命令丢掉我们写入的全部内容并把显示器交还系统:把捕获到的曲线写回去、清掉我们自己的状态,于是 ColorSync 重新接管。在应用里这是一个按钮,操作后面板会显示「已交回系统 ColorSync 校准」。

它不是什么

它是观感调整,不是计量级校色。如果你的工作依赖可测量的颜色,那么任何伽马表工具——包括我们——都替代不了一台色度计和一台做过配置文件的显示器。这句话我们也写在许可条款里,而不是藏起来。

相关

休眠后亮度被重置 · DDC/CI 无响应 · 该用哪个 Mac 显示器工具?

文字发虚?先看你用的是哪种模式