這是用戶在 2024-8-17 19:37 為 https://devblogs.microsoft.com/directx/auto-color-management/ 保存的雙語快照頁面,由 沉浸式翻譯 提供雙語支持。了解如何保存?

Advancing the State of Color Management in Windows
在 Windows 中推進色彩管理的現狀

Ana Marta Carvalho 安娜·瑪塔·卡瓦略

If you’re an app developer who cares about color accuracy, this is the right place to learn about some changes we made in the Windows 11 2022 Update!
如果您是一位關注色彩準確性的應用程式開發者,那麼這裡是了解我們在 Windows 11 2022 更新中所做一些變更的正確地方!

Let’s start by talking about color management – it is the technology and practice of ensuring accurate and consistent color reproduction across devices. If you’re a creative professional/enthusiast or digital content creator, it is crucial to have fully accurate and calibrated colors all the time, and for the colors in your visual content to appear consistently and at its best quality on both your own display and on your audience’s wide variety of displays.
讓我們先來談談色彩管理——這是一種確保跨設備準確且一致的色彩再現的技術和實踐。如果你是創意專業人士/愛好者或數位內容創作者,擁有完全準確和校準的色彩是至關重要的,並且你的視覺內容中的色彩在你自己的顯示器和觀眾的各種顯示器上都能一致且以最佳品質呈現。

Windows has provided color management support APIs since Windows 2000 with the Image Color Management (ICM) and later Windows Color System (WCS) APIs. However, those APIs were only helpers for apps that wished/required to do color management, while most apps and digital content simply assumed the industry standard sRGB color space and were never color managed by the OS. That was a reasonable assumption in the past as sRGB is what most displays have used, but high-quality wide gamut displays are becoming much more common!
自 Windows 2000 起,Windows 就提供了色彩管理支持 API,包括影像色彩管理 (ICM) 和後來的 Windows 色彩系統 (WCS) API。然而,這些 API 只是為需要進行色彩管理的應用程式提供幫助,而大多數應用程式和數位內容只是假設使用業界標準的 sRGB 色彩空間,並且從未由作業系統進行色彩管理。過去這是一個合理的假設,因為大多數顯示器都使用 sRGB,但高品質的廣色域顯示器正變得越來越普遍!

 

Introducing Auto Color Management (ACM) – the power of Advanced Color on SDR (standard dynamic range) displays
介紹自動色彩管理 (ACM) – 高級色彩在 SDR(標準動態範圍)顯示器上的強大功能

The Windows 11 2022 Update supports Auto Color Management (hardware accelerated system level color management), which ensures that all colors across all Windows apps, whether or not they are color-managed, appear accurately and consistently on every supported display. With ACM, apps that don’t explicitly target a wider color gamut (or HDR) get mapped consistently into sRGB. Apps that explicitly do color management using ICM/WCS color management APIs can still target the display’s native gamut (see below for legacy ICC compatibility), and apps written to the latest advanced color APIs can mix and match wide gamut content with sRGB content.
Windows 11 2022 更新支援自動色彩管理(硬體加速的系統級色彩管理),確保所有 Windows 應用程式中的所有顏色,無論是否進行色彩管理,都能在每個支援的顯示器上準確且一致地顯示。使用 ACM,那些未明確針對更廣色域(或 HDR)的應用程式會一致地映射到 sRGB。那些使用 ICM/WCS 色彩管理 API 進行色彩管理的應用程式仍然可以針對顯示器的原生色域(請參閱下方的傳統 ICC 相容性),而使用最新高級色彩 API 編寫的應用程式可以混合和匹配廣色域內容與 sRGB 內容。

ACM also allows new and updated apps to render more colors while preserving color accuracy, providing extra detail and fewer color artifacts for content such as gradients and shadows/dark tones. Without ACM, the DWM (Desktop Window Manager) restricted windowed apps to output content at only 8 bits per color channel, even if the display supported a higher bit depth. When ACM is enabled, the DWM performs its composition using IEEE half-precision floating point (FP16), eliminating any bottlenecks, and allowing the full precision of the display to be used. With ACM, apps can access billions of colors with 10-16 bits of precision, and even on displays that only support 8-bit precision, ACM unlocks additional quality using techniques such as dithering.
ACM 也允許新的和更新的應用程式在保持色彩準確性的同時呈現更多顏色,為漸變和陰影/暗色調等內容提供更多細節和更少的色彩失真。沒有 ACM,DWM(桌面視窗管理器)限制視窗應用程式只能以每色通道 8 位元輸出內容,即使顯示器支持更高的位深度。啟用 ACM 後,DWM 使用 IEEE 半精度浮點數(FP16)進行合成,消除任何瓶頸,並允許顯示器的全部精度得以使用。使用 ACM,應用程式可以以 10-16 位元的精度訪問數十億種顏色,即使在僅支持 8 位元精度的顯示器上,ACM 也能通過抖動等技術解鎖額外的質量。

For those of you who have worked with Windows and DirectX HDR (High Dynamic Range) support, ACM may sound very familiar. Advanced Color capabilities were first introduced for HDR displays as well as support for color management (for HDR displays only) with Windows 10, version 1709 (Fall Creators Update). With the Windows 11 2022 Update, ACM brings Advanced Color to select qualifying and specially provisioned SDR displays, starting with Surface Studio 2+ and Surface Pro 9. The same Advanced Color tech stack powers both HDR and ACM, and HDR displays already have many of the color management benefits that we are introducing to SDR displays in Windows 11.
對於那些曾經使用 Windows 和 DirectX HDR(高動態範圍)支援的人來說,ACM 可能聽起來非常熟悉。高級色彩功能首次在 HDR 顯示器上引入,並在 Windows 10 版本 1709(秋季創作者更新)中支援色彩管理(僅限 HDR 顯示器)。隨著 Windows 11 2022 更新,ACM 將高級色彩帶到選定的合格和特別配置的 SDR 顯示器,首先是 Surface Studio 2+ 和 Surface Pro 9。相同的高級色彩技術堆疊同時支援 HDR 和 ACM,HDR 顯示器已經擁有我們在 Windows 11 中引入 SDR 顯示器的許多色彩管理優勢。

Note: Advanced Color is an umbrella term of operating system (OS) technologies for displays with significantly higher color fidelity than standard displays. It refers to content that meets one or more of the following criteria:

  • Dynamic range (luminance): higher than sRGB’s 0-100 nit range
  • Color gamut: wider than sRGB’s color primaries
  • Precision/bit depth: greater than 8 bits per color channel

For more information, see our developer docs.

To learn more about ACM, check out our updated documentation Use DirectX with Advanced Color on high/standard dynamic range displays.

 

Try ACM with your application

If you are an app developer and want to try out ACM with your application, these are the requirements to enable ACM:

  • Windows 11, version 22H2 (10.0; Build 22621) release
  • WDDM driver version 3.0 or greater
  • Supported GPU:
    • AMD:
      • AMD RX 400 Series or later
      • AMD Ryzen processors with Radeon Graphics
    • Intel
      • Integrated: Intel 12th Gen (Alder Lake) or later
      • Discrete: Intel DG1 or later
    • NVIDIA:
      • NVIDIA GTX 10xx or later (Pascal+)
  • There are no hard requirements on the display or connection – ACM can provide benefits even on 8-bit sRGB panels. However, we strongly recommend ACM devices to have panels with a wider-than-sRGB gamut, and optionally 10-bits per color channel or greater.
  • Global registry key (for app developer use only!) – see below

To enable ACM, a global registry key can be used, which will enable ACM support for all SDR monitors all the time:

  • Locate within the registry the global GraphicsDrivers regkey (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers)
  • Right click “Add” -> DWORD
    • Name: EnableAcmSupportDeveloperPreview
    • value: 1
  • If the monitor is already plugged in, you will need to disconnect and re-connect it. In case of internal panel, restart the laptop.
  • Go to Settings > Display > Advanced Display, select correct display and turn on Automatically manage color for apps
Note: Registry key is for app developer use only.

 

Display calibration and display color accuracy

Creative professionals and enthusiasts care about fully calibrated, accurate color reproduction as it helps ensure that colors are faithfully maintained and reproduced from the beginning to end of the content creation (and consumption) pipeline. Because of this, we require all devices with native ACM support to have a calibrated display. Alongside ACM, we are introducing a new hardware-accelerated display calibration pipeline that’s supported by Windows 10, version 2004 (20H1) and later.

Display color calibration is the process of ensuring that a display accurately matches its reported color space; for example, sRGB or P3-D65. Because of variations in the manufacturing process and other sources, an individual display panel might deviate from its specification. Once a display has been calibrated, your apps and content can confidently target the display’s color space without worrying about that variability or inaccuracy.

If you’re a display or PC manufacturer, or a display calibration provider who wants to better calibrate your customers’ displays, you can learn more about the hardware-accelerated display calibration pipeline on the new documentation Windows hardware display color calibration pipeline. The pipeline (which works for display whether or not ACM is enabled) provides significantly improved color accuracy over existing paths such as the GDI gamma ramp pipeline and adds support for HDR displays. Most Windows apps don’t need to do anything to benefit from the pipeline; but if you develop color-managed apps, then you might want to be aware of how this technology works.

 

ICC profile behavior with Advanced Color

We’ve also published a new documentation that describes the changes in ICC (International Color Consortium) profile behavior with Advanced Color. In addition, if your color-managed app needs to continue using display ICC profiles, then this topic will show how to adapt your app to incrementally leverage Advanced Color benefits.

Automatic system color management necessarily impacts the way that existing ICC profile-based apps behave, since they’re performing many actions themselves that are now handled by the OS. Windows applies the default behavior (explained in the new documentation) to ICC profile-based apps. That ensures that those apps don’t have incorrect behavior. However, without further work, they won’t get access to any of the extended color capabilities.

In particular, by default your ICC profile-based app is restricted to the sRGB gamut, even if the monitor is actually wider gamut. Windows also provides an ICC compatibility helper that can give your ICC app access to the display’s entire gamut. For more info, see the Display ICC profile compatibility helper section in this topic.

 

We hope you liked these updates to Advanced Color in Windows! If you’ve made it through our light reading, we’ve just updated and published new documentation that deep dives into all of this. Feel free to check it out:

 

1 comment

Discussion is closed. Login to edit/delete existing comments.


Newest
  • David Lukner 7

    why is this only for 12th gen intel? apple has supported system wide color management (utilizing 10bit p3 displays) with intel cpus since at least 2016…

Feedback usabilla icon 反饋 usabilla icon