【2506修订】Win11 24H2 ACM全局色彩管理应用笔记
楗宽
编辑于 2025年06月02日 16:18

在经历了两个大版本更新后,微软终于在24H2实装了ACM(Auto Color Management)这个系统级别的全局色彩管理,总的来说效果其实还不错,算是基本解决了Windows祖传的广色域显示器日常过饱和的问题,我的显示器也终于不用来回切sRGB模式了。

终于看到了MacOS的背影

作为一个摄影佬,这篇专栏主要分享我这几天折腾ACM发现的一些情况,以及在这个过程中踩中的一些坑,希望可以帮到有需要的人。如有因个人知识储备及能力范围外导致的一些错误,也欢迎各位朋友在评论区中指出。


使用

在全新安装的Win11 24H2上,ACM会以“自动管理应用的颜色”的开关直接显示在“系统-屏幕-颜色管理”中,一般情况下此开关默认关闭。

默认情况下,打开ACM的这个开关一般来说有两种情况:

1.未添加ICC(设备配置文件)

此时Windows会通过识别显示器EDID信息中的色域信息来进行处理,如果显示器的EDID信息正确,在广色域显示器的原生模式下(一般在显示器OSD中显示为标准、预设这类模式),Windows会以识别到的色域信息为目标,把包括桌面UI在内的大部分sRGB内容经过转换后输出,从而实现在广色域显示器上正确显示sRGB内容。

非广色域的显示器(即色域覆盖≤100% sRGB)打开与关闭ACM在理论上没有区别,除非显示器的EDID信息与显示面板本身不符合。

至于某些厂商会把色域标为100+%sRGB且无sRGB缩限模式,或自己DIY组装的这一类显示器,其驱动板EDID信息本身五花八门,我强烈建议此类屏幕在校色后开启ACM使用,以避免长期观看过饱和显示造成色彩观念畸形。

过饱和≠鲜艳!

过饱和≠鲜艳!

过饱和≠鲜艳!

2.添加ICC(设备配置文件)

当前版本的24H2(26100.4061)在使用没有MHC2标记的ICC文件时不会识别ICC文件中的色域信息,但可以识别文件中的VCGT信息,因此如果在下图“添加用户配置”中直接加载普通的ICC文件的话,输出的伽马和白点可能会有变化,但色域信息仍旧会读取显示器的EDID信息,因此在色准方面可能会有影响。

而使用具有MHC标记的ICC文件,ACM则会根据ICC文件中的色域信息来做sRGB映射。

目前可以使用由dantmnf提供的MHC2Gen工具来进行转换:

https://github.com/dantmnf/MHC2?tab=readme-ov-file


校色

基于DisplayCAL的整体校色流程总体上变化不大,由于使用ACM时可以一直常驻在显示器的原生色域下,对于一些具有多种色域缩限模式的显示器反而能简化一些。

主要变化在以下几点:

1.兼容性管理

DisplayCAL安装时勾选“Let the operating system handle calibration loading”,把色彩管理交由系统接管。

安装完成定位好ArgyllCMS的执行文件后,进入“ArgyllCMS所在文件夹\bin”下,打开在内的全部exe文件属性中的兼容性选项卡,勾选“使用旧版显示器ICC颜色管理”

随后建议到安装目录下找到“DisplayCAL.exe”做相同操作。

以上操作是为了解除ACM对DisplayCAL的接管,否则在整个校色流程中,DisplayCAL输出的色块都会被ACM限制在sRGB色域下,无法准确校准广色域的显示器,当然,校准时也可以直接关闭ACM,但不太建议,ACM在一些细节方面尚未太完善,我会在后文统一归纳。

2.校准设置

按dantmnf在MHC2Gen中readme文档的使用建议,使用DisplayCal来生成校准的ICC文件时,为了获得一个更好的结果,可以考虑创建一个具有大量中性色块的测试图表,同时,除非你的显示器在RGB增益控制和灰阶控制这两方面比较差,灰阶校准是不太必要进行的(“灰阶校准”:即校准页面处“色调曲线”设为“已测量”以外的任何值),但需要提及的是,在此类显示器上进行灰阶校准可以提高准确性。

此外,“配置”页面中的“配置文件类型”设置为“曲线+矩阵”,并关闭黑点补偿也应该能获得比使用XYZ LUT配置文件更低的平均误差。

3.MHC转换

校准完成后取消安装,使用MHC2Gen进行转换后再到设置的颜色管理页面添加用户配置。

MHC2Gen目前没有图形界面,下载后在exe所在文件夹右键在终端中打开,使用PowerShell按以下格式进行转换:

代码块
clike
自动换行
复制代码
.\MHC2Gen sdr-acm --calibrate-transfer "X:\...\input.icm" "X:\...\output.icm"
//如输入输出的icc文件均在MHC2Gen.exe的文件夹内,可不带路径,即:
.\MHC2Gen sdr-acm --calibrate-transfer "input.icm" "output.icm"
复制成功

MHC2Gen工具的一些其他功能可在Github上查看范例。

4.验证

如果需要使用DisplayCAL验证在ACM接管下sRGB内容的色准,记得取消勾选ArgyllCMS和DisplayCAL相关exe的兼容性选项。(如果你确实要这么干我建议把ArgyllCMS复制一份没开启兼容性管理的以方便重定位切换)

校色后的色准在原生色域和经由ACM转换后的sRGB色域都验证过了一次,总体上还不错,MHC转换后的ICC并由此映射到sRGB的色准都没有太大的问题。

2506修订注释:

1.在进行MHC转换时,[--calibrate-transfer]是一个可选参数,其对转换后ICC文件的影响按目前我测试下来主要在伽马值与RGB灰平衡(校准时忽略灰阶校准的情况下)。

在ACM接管下的sRGB进行验证区别如下:

添加[--calibrate-transfer]参数

未添加[--calibrate-transfer]参数

开启ACM兼容性管理原生色域校准验证如下:

添加[--calibrate-transfer]参数

未添加[--calibrate-transfer]参数

2.关于校色流程中“灰阶校准”是否应该忽略的问题,在本文的评论区中@Stat_Headcrabbed 有提到关于当前Windows在ACM上的一个实现Bug,在其影响下“色调曲线”设置为sRGB或许会有更好的结果,详细情况可参考他在MHC2Gen项目中所提交的issue:

https://github.com/dantmnf/MHC2/issues/32

时间所限,本人暂无法对开启“灰阶校准”(即“色调曲线”设为“已测量”以外的任何值)的情况下所产生的ICC文件,进行相对应MHC转换后的验证测试,因此如各位有条件测试的话欢迎在评论区中反馈!


“九转大肠”

其实这才是正文

微软:“我有意保留了一点旧版ICC颜色管理的味道。”

1.10bit锁定

ACM在当前Windows版本与10bit的输出强制相关,从N卡的控制面板开启10bit输出会自动开启设置中的ACM开关,反之亦然。

手动关闭ACM开关后,虽然无论是N卡控制面板还是设置中的显示器信息都显示10bit,但此时Photoshop无法正常显示10bit的灰阶。

以上原因也是上文我不太推荐关闭ACM来进行校色的原因,尽管校色时使用的色块理论上在8bit和10bit中没有区别。

2506修订注释:

也是经由评论区@Stat_Headcrabbed 反馈该10bit锁定问题疑似为英伟达当前显卡驱动产生的Bug,A卡驱动暂无此现象,鉴于本人目前暂无其余显卡硬件,欢迎各位进行测试后在评论区反馈!

2.兼容性

①Adobe2025的全家桶

我做了些简单测试,与现时版本的ACM可以说是完全未适配,在ACM管理下,虽然UI是正常不过饱和了,但是无法读取到系统中正在加载的ICC文件,颜色设置中的显示器ICC会被设置为一个标准sRGB ICC,工作区也自然被限制在了sRGB下,无法显示比sRGB范围更大的颜色。

②达芬奇19

达芬奇在色彩管理上有自己基于LUT的管理方法,但开启ACM后仍旧会被强制限制在sRGB下,有广色域监看需求的用户需要开启兼容性管理,无广色域监看需求则建议让其处在ACM的接管下,此时相当于在sRGB色域下的屏幕来进行监看。

因此,除非你很明确你的处理对象不需要sRGB范围外的内容,否则对于原本就有完善色彩管理的软件,我建议还是要开启兼容性管理后按原有的方式进行色彩管理。

3.日常

其余的一些游戏和日常程序目前看下来没有什么问题,浏览器方面用Edge在Webkit测试了下(https://webkit.org/blog-files/color-gamut/),在默认情况下只有部分图片能正常看到区别,例如红色背景的logo要去flag设置强制开启P3显示才会出现,但强制P3显示此时网页上大部分sRGB的内容会欠饱和呈现,考虑到网上本来也没什么sRGB以外的内容,目前也就默认用了。

Win11自带的照片目前算是最完美支持ACM的应用了,AdobeRGB、P3和sRGB的都能正确显示,但Win的资源管理器缩略图还是会被统一限制在sRGB内。

截图会自动砍掉>sRGB的内容转换为sRGB图片,截出来的图片不会像以往那样欠饱和,无论被截软件是否开启兼容性管理:

屏摄

截图

需要注意的是,当前版本的ACM在长时间息屏后唤醒时,有很大几率出现色彩管理掉线,睡眠后唤醒则必出现色彩管理掉线,右键进显示设置即可恢复。

三哥的原味料理,不得不尝


人话

总的来说,目前Windows这套全新的全局色彩管理体系的基本逻辑就是通过识别显示器的EDID信息,或通过配置具有MHC2标记的ICC的文件,来获取对应目标显示器的色域信息,然后把包括桌面UI在内的大部分sRGB内容转换到目标色域的来显示。

从Photoshop获取到的显示器ICC文件来看,没做ACM适配的软件在ACM的接管下无法获取到系统中正在加载的ICC,并且会被分配到一个标准的sRGB ICC,导致其显示内容也就被限制在sRGB内,因此,如我上文所述,除非你很明确你在使用这类软件时不需要处理sRGB范围外的内容,否则对于这类原本就有完善色彩管理的软件,我建议还是全部开启兼容性管理。

至于更麻烦的HDR问题,我手头上实在没有可以正确显示的硬件,无法涉及。

以上。