Share via


Adaptive Color

The majority of displays today have a white point of 6500 K. However, most usage environments do not match this white point. Common office lighting is around 5000 K, for example. This causes the display to look unnatural due to the white point discrepancy. Adaptive Color automatically adjusts a device's display white point to match its environment using an ambient color sensor.

Animation demontrating Adaptive Color display transitioning from standard D65 whitepoint to warmer color in a warm lighting environment.

Here's why implementing Adaptive Color is beneficial:

  • Consistent Visual Experience: Adaptive Color uses advanced sensors to adjust your display's color and intensity to match the ambient light. Whether you're working under the harsh fluorescents of an office or the soft glow of a reading lamp, Adaptive Color ensures the content on your screen looks natural and is comfortable to view at all times.
  • Reduced Eye Strain: By dynamically adjusting to the environment, Adaptive Color can help minimize eye strain, making it ideal for extended use. Whether you're reading, browsing, or working, Adaptive Color makes the display appear more natural, akin to reading a book under different lighting conditions.
  • Enhanced Productivity: A display that adapts to your environment can lead to less fatigue and more comfortable working conditions, which in turn can increase productivity. Adaptive Color supports this by ensuring that colors and brightness are always optimal for your current setting.
  • A Smarter Display: Adaptive Color is like having an intelligent assistant for your screen, one that is constantly working to give you the best possible viewing experience. It's a subtle effect that you might not notice until it's turned off, but once you experience it, you'll wonder how you ever did without it.

Implementing Adaptive Color is not just about keeping up with technology; it's about providing a superior user experience that prioritizes comfort and productivity. As you consider the benefits, think of Adaptive Color as an investment in the well-being of your eyes and the quality of your work.

Adaptive Color was originally released in Windows 10, Version 1903. It is available on Windows 10 and Windows 11.

Terminology

Term Definition
TCON Timing controller, a subsystem component of a Display panel module.
ACS Ambient Color Sensor, an ambient light sensor that detects the ambient color levels and relays them to Windows; these sensors must be calibrated and meet certain requirements (see Ambient Light Sensor)
DDI Device Driver Interface
DES Display Enhancement Service, an inbox Windows service responsible for managing the display luminance and color adaptation in response to ambient light and ambient color sensor inputs.
CCT Correlated Color Temperature, a gauge of how yellow or blue the color of light emitted from the display appears. It is measured in Kelvin i.e. 2200K.
CIE 1931 Color space International Commission on Illumination standardized color space is referenced in this documentation.
ICC An ICC profile is a set of data that characterizes a color input or output device, or a color space, according to standards promulgated by the International Color Consortium (ICC).
D65 The chromaticity of x=0.31271,y=0.32902

Overview

User Settings

The following setting will be visible to users with Adaptive Color capable systems. For systems that support Adaptive Color, a new option in the Display Settings Page under "Brightness and Color" will be exposed. This new option, Adaptive Color, will contain and on/off toggle. There will be brief text inline informing the user of what this new feature is. Adaptive Color is on by default for systems with Ambient Color Sensors (ACS), it uses these sensors to adjust the color and intensity of your display to match the ambient light, so that images appear more natural; adjusting the white point of a display to match the current ambient lighting environment as measured by supported Ambient Color Sensors (ACS).

A Windows settings toggle with the label Adaptive Color automatically adjusts the color of this display when your environment changes.

Note

Adaptive Color currently only supports internal displays. This toggle will only be visible when the internal panel is selected.

System Architecture

Adaptive Color abides by these principles:

  • Adjust the white point of the display to appear more accurate and paper-like in its current environment.
  • Slow, non-distracting color transitions when moving between different color environments.
  • Hysteresis to prevent excessively frequent white point adjustments.

Illustration below of the improved Adaptive Color implementation and integration with Nightlight shipping in Windows 11, Version 21H2. From top left to bottom right: Adaptive Color adaption for ambient lighting of 9300K [blue light] with a 50% strength slider for Night light, the original image with no nightlight or Adaptive Color adaptation, Adaptive Color adaption for green ambient lighting with a 50% strength slider for Night light, Adaptive Color adaption for Ambient lighting of Illuminant A [Standard Incandescent lighting] with a 50% strength slider for Night light, Adaptive Color adaption for Ambient magenta lighting with a 50% strength slider for Night light.

A collage of five identical photos of a family with different whitepoints demonstrating the effect of Adaptive Color and Nightlight with various settings.

The following diagram outlines the various components that work together to enable Adaptive Color on Windows. Ownership is split between the operating system (OS), independent hardware vendor (IHV), and original equipment manufacturer (OEM). Diagram displaying the OS stack and Display Enhancement Service connecting to the Light Sensor Driver and Display Driver.

Hardware Requirements

The Adaptive Color feature will be available to the user if the following three requirements are met: a Brightness3 capable (nits-calibrated) display, a supported Ambient Color Sensor (ACS), and a supported OS build.

Display Requirements

The Graphics driver must implement Brightness3 DDI:

  • Must support Nits Calibrated Display
  • Display must be calibrated

Note

Windows features that require Brightness3 require that a driver provide "calibrated" mode support. There are various options for how "calibrated" Brightness3 can be provisioned:

  1. Calibrated display (IHV) driver
  2. Hybrid calibrated OEM Panel filter driver + calibrated display driver
  3. Hybrid calibrated OEM Panel filter driver + uncalibrated display driver
  4. OEM Panel filter driver directly controlling the display

Ambient Light Sensor Requirements

Light sensor DDI is implemented with color support (see Ambient Light Sensor Component Guidelines for details)

  • Supports the chromaticity x/y fields and reports the DEVPKEY_LightSensor_ColorCapable property according to the light sensor DDI
  • Additionally, if there are multiple color sensors exposed, one sensor must be tagged with the DEVPKEY_LightSensor_AdaptiveColorPreferred property so the OS knows which one to use for Adaptive Color
  • HLK requirement System.Client.AmbientLightSensor.Color Calibration requires that the detected chromaticity x and y values are within 0.025 of the actual incoming light. For a full list of requirements see https://learn.microsoft.com/en-us/windows-hardware/test/hlk/testref/system-client-tests.
  • Sensor Explorercan be used to validate data from the light sensor.

Interaction with Night Light

Adaptive Color and Night Light are features that work together to adjust the color and brightness of your display to match the ambient light, making images appear more natural. Here's a summary of their relationship and role:

  • Adaptive Color is a feature that uses Ambient Color Sensors (ACS) to adjust the color and intensity of your display to match the ambient light, so that images appear more natural. It adjusts the white point of a display to match the current ambient lighting environment as measured by supported ACS.
  • Night Light is a feature that reduces the amount of blue light emitted by the screen, which can help improve sleep quality if used before bedtime.

Adaptive Color fusion with Nightlight

The Night Light/Adaptive Color interaction has been improved in Windows 11. Previously, when both were enabled the screen would turn extremely red as both outputs were multiplied together. The new logic approximates the amount of blue light reduction from the Night Light and Adaptive Color white points and then applies one of two options:

  • If the Adaptive Color blue light reduction is stronger - use the Adaptive Color white point as is since it is already achieving the same or stronger blue light reduction as Night Light.
  • If the Night Light blue light reduction is stronger - shift the Adaptive Color white point such that its blue light reduction roughly matches Night Light's
Windows 10, Version 1903 (9300K+ High Nightlight [2800K]) Windows 11, Version 21H2 (9300K+ High Nightlight [2800K])
Really yellow image of people rolling down a hill, reflecting old Adaptive Color implementation. More subtle yellow image of people rolling down a hill, reflecting modern Adaptive Color implementation

Below is the architecture diagram illustrating the changes made in the Display Enhancement Service (DES) for the Windows 11, Version 21H2 to integrate Nightlight and Adaptive Color. Note this only applies to Adaptive Color capable systems. Non-AC devices make use of the 'deprecated' path.

Architecture of adaptive color night light fusion with a request co-ordinator fusing the whitepoint targets set by the two features.

Adaptive Color Algorithm

Transition Time

The color transition algorithm has been improved to be smoother and subtler:

  • The transition time will now vary based on the change in white point.

    • Transition time will be shortened if the delta is too small, saving power and ensures the steps appear continuous.
    • Transition time will be increased if the delta is large to ensure users do not notice the change occurring.
  • The transition time between two intermittent transition points has been increased to save power with no visual fidelity loss.

  • The transition curve will now accelerate and decelerate according to human color perception to ensure the color change remains perceptually consistent.

  • The transition curve will now attempt to better minimize hue shift leading to colors looking more accurate while undergoing a transition.

When the feature is turned on (on laptop form factors) there will be a quick, but subtle transition to the adapted white point. Previously there was no transition and the display's white point could appear to "flicker" to the new white point.

White point Clamping

Windows has implemented a "clamping" of the color gamut range of the white point , limiting the range of color adaptation that the user can experience when Adaptive Color is enabled to avoid loss in image fidelity. This means that in extreme lighting conditions, the user's experience will be more pleasant. See below for an example.

Windows 10, Version 1903 (Extreme Green Environment) Windows 11, Version 21H2 (Extreme Green Environment)
Really green image of old Adaptive Color implementation without whitepoint clamping.  Subtle green image of new Adaptive Color implementation with whitepoint clamping.

Adaptive Color follows the steps below to decide the adapted display WP:

  1. Determine the low lux WP (WPlow), which is a weighted average of D50 and D65 based on the DefaultAdaptiveColorAdaptationStrength (or the slider value if it is presented). Higher strength means the low lux WP will be closer to D50.
  2. As descripted in the LuxBasedStrengthAdaptationLut section, the final strength will be the product of the DefaultAdaptiveColorAdaptationStrength/SliderValue and the lux based strength.
  3. Based on the final strength, the adapted WP (WPadapted) will be a weighted average between the profile default white point (most of the time it is D65) and the ACS CIE xy readings. higher strength means that the adapted WP will be closer to the ACS CIE xy readings.
  4. Compare WPadapted with the white point range we defined, if it is beyond the white point gamut, it will be clipped to the gamut boundary to get the clipped WP (WPclipped). If WPadapted is within the white point range we defined, WPclipped=WPadapted.
  5. If the ACS lux reading is below the WhitePointMappingLowLightLuxLevel, low light processing will be used to get the final WP. the final WP (WPfinal) is a weighted average between low lux WP (WPlow) defined in (0) and WPclipped.

An example is shown in the illustration below when the DefaultAdaptiveColorAdaptationStrength is set to 50% and ACS reading is CIEx= 0.44757, CIE y=0.40745 (illuminant A) and Lux=30.

  1. First WPlow (x=0.3292, y=0.3438) is determined, which is 50% D65 and 50% D50.
  2. Then the final strength is determined as S=SL*SD=25%.
  3. WPadapted will be the weighted average of D65 and ambient color ACS value.
  4. Compare WPadapted(x=0.3413,y=0.3457) with the white point range, it is within the range, so no clipping will be applied and WPclipped=WPadapted.
  5. As the ACS lux (30) is below the WhitePointMappingLowLightLuxLevel (50), low lux processing will be applied. WPfinal (x=0.3365,y=0.3449) is 30/50*100%=60% WPclipped and 40% WPlow.

Diagram showing how a target whitepoint in Adaptive Color is adjusted to remain within a clamped color space.

Sample Output

Adaptive Color Algorithm Output Table (using the default settings) can be found below:

The sample output of the Adaptive Color algorithm in DES for a set of 10 ambient lighting conditions

ACS Reading: CIE x ACS Reading: CIE y ACS Reading: Lux CCT Display CIE x Display CIE y Display CCT
0.4593 0.4107 5 2706 0.3306 0.3440 5580
0.4593 0.4107 5 2706 0.3306 0.3440 5580
0.4593 0.4107 50 2706 0.3436 0.3462 5045
0.3805 0.3767 30 4008 0.3285 0.3414 5677
0.3805 0.3767 100 4008 0.3443 0.3512 5032
0.3457 0.3585 50 5002 0.3204 0.3359 6067
0.3457 0.3585 500 5002 0.3285 0.3431 5675
0.3127 0.3290 100 6504 0.3127 0.3290 6504
0.3127 0.3290 1000 6504 0.3127 0.3290 6504
0.3038 0.3140 500 7194 0.3082 0.3213 6831
0.3038 0.3140 1200 7194 0.3127 0.3290 6504
0.2849 0.2932 700 9224 0.2983 0.3105 7632
0.2849 0.2932 1200 9224 0.3127 0.3290 6504

OEM Customizations

The following table outlines customizations that can be made by OEMs. It also lists the default value which is used if not customized.

The registry path for all public OEM settings is located under this registry path: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AdaptiveDisplayBrightness\{23B44AF2-78CE-4943-81DF-89817E8D23FD}

Key Description Default Format Usage
AllowAdaptiveColorCapable If the device can expose Adaptive Color capability. 1 REG_DWORD '1' for TRUE, '0' for FALSE
EnableAdaptiveColorStrengthSlider The slider for strength will not show up. We removed the slider starting in the Windows 11, Version 21H2, to improve the consistency of the experience. For example if a user sets the strength for a particular lighting environment they may experience poor adaption when moving to a different environment (ex. Low-lighting). Systems without the slider will default to 50% strength. Systems upgraded to the Window October 2021 release, will be the strength reset to 50% and the slider will be removed. FALSE REG_DWORD 0 for FALSE, 1 for TRUE
DefaultAdaptiveColorAdaptationStrength How strong the adaptation strength is for Adaptive Color by default. Will be ignored when slider is disabled. 50 REG_DWORD Interpreted directly as adaptation strength
WhitePointMappingLowLightLuxLevel The low lux level below which Adaptive Color will not adapt according to the ACS since color sensors are typically inaccurate at these levels. Adaptive Color will instead output a weighted average between the static D50 (x=0.34567,y=0.35850) and the ACS value, lower lux level means the Adaptive Color will put more weight on D50. 5000 REG_DWORD Millilux value Example: "2000" represent a lux level of 2
LuxBasedStrengthAdaptationLut Look-up table used to map a particular millilux value to a strength multiplier that gets combined with the current strength setting and then used for color adaptation. More details in LuxBasedStrengthAdaptationLut section above. 0:0.5,50000:0.5,60000:0.6,70000:0.7:80000:0.8,90000:0.9,100000:1.0,600000:1.0, 650000: 0.9958, REG_SZ A string of millilux to strength values delimited by colons (first element is millilux and second being the strength) Example: "1000,0.4:10000,0.23:40000,0.9" represents a LUT with the points (1 lux, 0.4), (10 lux, 0.23), (40 lux, 0.9) in that specific order
ColorTransitionMinTransitionTime The minimum allowed transition time, used by the algorithm to calculate the number of transition points. 300 REG_DWORD Transition time in milliseconds
ColorTransitionBaseTransitionTime The default interval used for color transitions to a specific whitepoint. 400 REG_DWORD Transition time in milliseconds
IsAdaptiveColorOnByDefault If Adaptive Color is turned on or off by default True REG_DWORD 0 for FALSE, 1 for TRUE

OEM Customization - LuxBasedStrengthAdaptationLut

In Adaptive Color, adaptation strength is used to determine how much we would like the display white point (WP) to follow the ambient color. 100% adaptation strength means the display WP will be the same as the ambient color sensor reading (in terms of CIE x,y) and 0% means no adaptation strength will be applied and the display will always be at the default white point whatever the ambient lighting conditions.

For a real world ambient color sensor (ACS), they usually have different accuracy under different Lux levels. For example, at low lux level the accuracy of ACS is usually low because of the low signal to noise ratio. At the same time, at high lux levels human perception is dominated by ambient light and changing the display color do not have much impact on the human perception. Because of these reasons, the LuxBasedStrengthAdaptationLut is introduced to control the adaptation strength at different Lux levels. As it shown below, at 0 Lux the lux based strength (SL) is 0.5 (50%) and at 300 lux SL is 1 (100%).

If the slider is not presented, the final strength (S) applied is the product of SL and DefaultAdaptiveColorAdaptationStrength (SD). For example, if SD is set to 50%, based on the Lut below at 0 Lux the final strength is 25% and at 300 Lux the final strength is 50%.

If the user controllable slider is presented, the final strength is the product of SL and slider value (in percentage). For example, if the slider is set to 70%, based on the Lut below at 0 Lux the final strength is 35% and at 300 Lux the final strength is 70%.

OEMs can customize this luxBasedStrengthAdaptationLut based on the ACS performance (see below).

A graph of curve adaptation strength as the y axis with an x axis measure in lux.s

OEM Customization - ColorTransitionMinTransitionTime

When the ambient color changes, DES will kick off a transition from current display WP to the new display WP and send each transition point to lower graphics stack one by one. However, if the transition points are sent out too frequently (for example, every 10 ms), the hardware will not be able to consume each transition point and apply the color changes accordingly. The ColorTransitionMinTransitionTime is the minimum time interval between two adjacent transtion points.

OEMs should customize the ColorTransitionMinTransitionTime based on hardware capabilities.

OEM Customization - ColorTransitionBaseTransitionTime

The totalTransitionTime is proportional to the ColorTransitionBaseTransitionTime. Below is an example at 300 Lux where the ambient color changes from D65 to D50. The total transition time increases from 12.76s to 32s when ColorTransitionBaseTransitionTime increases from 400ms to 1s.

A linear plot of Total Transition time in seconds versus Color Transisition Base Time in seconds.

OEMs can customize the ColorTransitionBaseTransitionTime to tune how long the transition takes.

Override Options

In the case that an app does not want the color adjustments Adaptive Color provides we have extended the Display Enhancement Override (DEO) to include DisplayColorOverrideScenario for Adaptive Color.

Validation Test Procedure

The purpose of this document is to define the manual validation list for Adaptive Color. For reference, this document will refer to the device under test as "DUT". See Sensor Testing for more tests.

OEM Settings

Configure the DUT with the Adaptive Color OEM settings the device will be shipped with. These settings are listed in the table below for reference, for a more detailed table refer to Table 1:

OEM Setting Default Behavior Expected Changed Behavior
Default Adaptive Color On/Off State Adaptive Color is turned off by default. When the value 1 is specified, Adaptive Color should be turned on by default. When the value 0 is specified, Adaptive Color should be turned off by default.
Default Adaptive Color Adaptation Strength Adaptive Color adaptation strength slider position should be at 50% in the display settings page by default. When a number X in range [0, 100] has been specified, the Adaptive Color slider position should be at X% in the display settings page by default.

Run the following validation steps:

  1. Ensure the default behavior is working as expected when the OEM setting is not specified:

    1. If present, remove the OEM setting registry key on the DUT.
    2. Reboot the DUT.
    3. Validate the default behavior, as listed in the table above, for the OEM setting has taken effect.
  2. Ensure the OEM setting is being applied properly when it has been specified:

    1. Add the OEM setting registry key on the DUT.
    2. Reboot the DUT.
    3. Validate the expected OEM setting behavior, as listed in the table above, has taken effect.

OEM settings only take effect when the user has not explicitly modified the value yet. For example, if the user has manually turned on Adaptive Color, then the OEM setting for Default Adaptive Color On/Off State will be ignored. So, if the user has touched the Adaptive Color settings, the DUT will need to be clean flashed to properly test the OEM setting scenarios.

Upgrade Scenarios

  1. Ensure devices that meet the Adaptive Color hardware requirements gain the Adaptive Color feature when upgraded from RS5 (which does not support Adaptive Color) to 19H1 (which does support Adaptive Color):

    1. Clean install the latest RS5 release build (or OEM image, if applicable) on the DUT.
    2. Upgrade to 19H1 and install any applicable driver updates1.
    3. Validate the Adaptive Color feature shows up in the display settings page and follows the Adaptive Color behavior defined in this document.
  2. Ensure devices that support Adaptive Color with a 19H1 release build still support Adaptive Color after upgrading to any later 19H1 release build.

  3. Ensure OEM settings are migrated properly when upgraded:

    1. Add the OEM settings as specified in the "OEM Settings" section.
    2. Upgrade the DUT to a newer 19H1 release build.
    3. Verify the OEM settings are still present and taking effect as expected.
  4. Ensure Adaptive Color settings are persisted

    1. Turn Adaptive Color on.
    2. Upgrade the DUT to a newer 19H1 release build.
    3. Verify Adaptive Color is still on and taking effect as expected.
    4. Repeat steps a) to c) for Adaptive Color off and new Adaptive Color strength values.

The Adaptive Color requirements are (1) expose a color sensor and (2) expose the Brightness3 DDI.

Adaptive Color UI

  1. Ensure Adaptive Color takes effect when turned on from display settings page:

    1. Ensure Adaptive Color is turned off.
    2. Go into a non-D65 (https://en.wikipedia.org/wiki/Illuminant_D65 )lighting environment (normal office lighting works fine).
    3. Turn on Adaptive Color in the display settings page.
    4. Validate the display gets warmer https://en.wikipedia.org/wiki/Color_temperature.
    5. Turn off Adaptive Color in the display settings page.
    6. Validate the display returns to the same color temperature in step a.
  2. Ensure Adaptive Color respects the adaptation strength slider (IF enabled in OEM Customizations, see OEM Customizations):

    1. Go into a non-D65 (https://en.wikipedia.org/wiki/Illuminant_D65 ) lighting environment (normal office lighting works fine).
    2. Turn on Adaptive Color in the display settings page.
    3. Validate the display gets whiter when moving the Adaptive Color adaptation strength slider closer to 0%.
    4. Validate the display gets warmer when moving the Adaptive Color adaptation strength slider closer to 100%.
    5. Turn off Adaptive Color in the display settings page.
    6. Validate the display returns to the same color temperature in step a.

Adaptive Color Capability Check

Ensure the Adaptive Color feature shows up in the Display Settings UI when the device exposes a brightness3 and ambient color sensors interface and the AllowAdaptiveColorCapable OEM customization is enabled.

Persistent Adaptive Color Settings

  1. Ensure user preferences for Adaptive Color on/off are being persisted:

    1. Turn off Adaptive Color in the display settings page.
    2. Reboot the DUT.
    3. Validate the Adaptive Color toggle in the display settings page is still turned off.
    4. Repeat steps 1 to 3, but with Adaptive Color turned on.
    5. Repeat steps 1 to 4, but with hibernate and suspend instead of rebooting in step b.
  2. Ensure user preferences are stored for Adaptive Color adaptation strength :

    1. Select a random number X in range [0, 100] and move the Adaptive Color adaptation strength slider to X% in the display settings page.
    2. Reboot the DUT.
    3. Validate the Adaptive Color adaptation strength slider in the display settings page is still at X%.
    4. Repeat steps a to c several times with new slider values.
    5. Repeat steps a to d, but with hibernate and suspend instead of rebooting in step b.

Night Light Interaction

  1. Ensure Night Light and Adaptive Color don't affect each other negatively:

    1. Turn on Adaptive Color in the display settings page.
    2. Turn on Night Light in the display settings page and ensure it is active:
    3. Validate the display gets warmer after Night Light is turned on and the display remains in a usable state.
    4. Repeat steps a. to c. with different Night Light slider strengths and Adaptive Color adaptation slider strengths.

Color Lighting Scenarios

  1. Ensure Adaptive Color looks pleasing in different common lighting scenarios (see Table 2 Adaptive Color Output - The sample output of the Adaptive Color algorithm in DES for a set of 10 ambient lighting conditions):

    1. Turn on Adaptive Color in the display settings page.

    2. Move the Adaptive Color adaptation strength slider to 50%.

    3. Use the device in various color lighting conditions and validate that the display is pleasing to look at. Common lighting scenarios (https://en.wikipedia.org/wiki/Color_temperature) (from warmest to whitest):

      1. Candle/firepit (around 1800 Kelvins)
      2. Sunset/sunrise (around 1800 Kelvins)
      3. Incandescent lamp (around 2500 Kelvins)
      4. Warm LED lamp (around 3000 Kelvins)
      5. Fluorescent lamp (around 5000 Kelvins)
      6. CFL lamp (around 5000 Kelvins)
      7. Daylight (around 6500 Kelvins)
      8. Overcast daylight (around 6500 Kelvins)
  2. Ensure Adaptive Color does not behave eccentrically under abnormal lighting scenarios:

    1. Turn on Adaptive Color in the display settings page.
    2. Move the Adaptive Color adaptation strength slider to 50%.
    3. Move into an abnormal lighting scenario. This is any lighting condition that is not encountered day-to-day. For example, a magenta color LED lamp.
    4. Validate that the display doesn't shift to the eccentric color.
  3. Ensure Adaptive Color does not flicker under strobe like lighting conditions:

    1. Go into a non-D65 lighting environment with a controllable on/off light source (normal office lighting works fine).
    2. Turn on Adaptive Color in the display settings page.
    3. Move the Adaptive Color adaptation strength slider to 50%.
    4. Quickly turn the light sources on/off repeatedly with an interval of one second or less.
    5. Validate that the display colors do not flicker with the light, it should stay consistent throughout the scenario.
  4. Ensure Adaptive Color has pleasing color transitions:

    1. Go into a lighting environment with two light sources of different color temperatures that can be turned on/off. For example, office lights and an incandescent lamp.
    2. Turn on Adaptive Color in the display settings page.
    3. Move the Adaptive Color adaptation strength slider to 50%.
    4. Turn the first light source on and the second light source off.
    5. Wait for Adaptive Color to stabilize to the first light source.
    6. Turn off the first light source and turn on the second light source.
    7. Validate Adaptive Color adapts to the new lighting source with a smooth and slow color transition.
  5. Ensure Adaptive Color adapts to new lighting scenarios in lid open scenarios for clamshell devices:

    1. Ensure Adaptive Color is turned on.
    2. Close the lid of the device.
    3. Go into a new lighting environment that has a different whitepoint.
    4. Open the lid of the device and verify the whitepoint has quickly (< 1 second) changed to the new lighting environment.

Auto Brightness Interaction

  1. Ensure auto brightness and Adaptive Color don't affect each other negatively:

    1. Turn Adaptive Color and auto brightness on in the display settings page.
    2. Use the device in various brightness and color lighting conditions, the display should be pleasing to look at in all scenarios. The common scenarios here are the same as listed in the Color Lighting Scenarios section.

Color Filter Interaction

  1. Ensure the color filter conflict messages are shown at expected times:

    1. Turn on a color filter in the color filters display page:
    2. Go to the Adaptive Color display settings page and ensure the warning text about color filter conflicts appears:
    3. Go back to the color filter page and turn off any color filters
    4. Go to the Adaptive Color display settings page and ensure the warning text is now yellow:
    5. Plug in an external monitor to the DUT and validate steps a to d again.
  2. Ensure Adaptive Color and color filters work nicely together visually:

    1. Go into a non-D65 lighting environment (normal office lighting works fine).
    2. Turn on one of the color filters:
    3. Turn on Adaptive Color in the display settings page.
    4. Move the Adaptive Color adaptation strength slider to 50%.
    5. Validate the display still looks like the color filter is applied but is warmer.
    6. Repeat steps a to e with each of the color filter options.

In 19H1, color filters used in combination with Adaptive Color is not guaranteed to help color blindness. This validation scenario is simply ensuring the display doesn't go into a wildly unexpected state when Adaptive Color and color filters are both turned on.

Display Enhancement Override WinRT API Interaction

  1. Ensure Adaptive Color can be temporarily overridden with the Display Enhancement Override (DEO) WinRT API

    1. Download the SensorExplorer app (www.aka.ms/sensorexplorer) and install it.
    2. Go into a non-D65 lighting environment (normal office lighting works fine).
    3. Turn on Adaptive Color in the display settings page.
    4. Move the Adaptive Color adaptation strength slider to 50%.
    5. Engage the accurate color override via SensorExplorer.
    6. Verify Adaptive Color is no longer taking effect, the display should look as if Adaptive Color is off.
    7. Stop the color override from SensorExplorer.
    8. Verify Adaptive Color has returned with the same warmness as before in step #4.
  2. Sanity check apps which consume DEO work as expected

    1. Obtain a device that supports HDR and Adaptive Color.
    2. Go into a non-D65 lighting environment (normal office lighting works fine).
    3. Turn on Adaptive Color in the display settings page and verify the display gets warmer.
    4. Open the Movies & TV app and play any video (a movie trailer works fine).
    5. Verify Adaptive Color isn't taking effect during video playback.
    6. Close the Movies & TV app and verify Adaptive Color takes effect again

Interaction of Adaptive Color with other Windows Display features

Adaptive Color Transitions with Lid Open/Close

On Lid Open event, DES will try to restore the color adaptation target based on the time between the lid-close and lid-open.

  • Less than 15 seconds

    • The last known whitepoint target will be restored.
  • Greater than 15 seconds and less than 120 seconds

    • The last known white point will be interpolated to based on D65 curve and applied.
  • Greater than 120 seconds

    • The initial whitepoint will fall back to D65

Adaptive Color Support on External Monitors

No planned support for Adaptive Color feature for external monitors. Night Light for external monitors will not be affected by the Adaptive Color feature.

Adaptive Color Interaction with HDR Monitors

This feature has not been validated with HDR panels. The feature changes the whitepoint of the monitor regardless of the mode it is operating in.

Adaptive Color interaction with Adaptive Brightness

The Adaptive Color and Adaptive Brightness controls are orthogonal.