Delen via


Windows-hardwareweergave van kleurkalibratiepijplijn

In dit onderwerp wordt de weergavekleurkalibratie behandeld met behulp van een nieuwe GPU-weergavekleurtransformatiepijplijn die wordt ondersteund door Windows 10, versie 2004 (20H1) en hoger. De pijplijn biedt aanzienlijk verbeterde kleurnauwkeurigheid ten opzichte van bestaande paden, zoals de GDI-gamma-ramp pijplijn en voegt ondersteuning toe voor HDR-beeldschermen.

Dit onderwerp is bedoeld voor display- en pc-fabrikanten en display kalibratieproviders die de displays van hun klanten beter willen kalibreren. De meeste Windows-apps hoeven niets te doen om te profiteren van de pijplijn; maar als u door kleur beheerde apps ontwikkelt, wilt u misschien weten hoe deze technologie werkt.

De nieuwe kleurpijplijn is beschikbaar voor elke weergave als de GPU voldoet aan de systeemvereisten. Als de display HDR is of automatisch kleurbeheer gebruikt, zijn er aanvullende overwegingen en vereisten. te vinden in DirectX gebruiken met Geavanceerde kleur op hoge/standaard dynamische bereikweergaven.

Introductie

Weergavekleurkalibratie is het proces om ervoor te zorgen dat een display nauwkeurig overeenkomt met de gerapporteerde kleurruimte; bijvoorbeeld sRGB of DCI-P3 D65. Vanwege variaties in het productieproces en andere bronnen kan een afzonderlijk beeldschermpaneel afwijken van de specificatie. Zodra een display is gekalibreerd, kunnen uw apps en inhoud de kleurruimte van het beeldscherm zonder dat u zich zorgen hoeft te maken over die variabiliteit of onnauwkeurigheid.

Op hoog niveau omvat weergavekleurkalibratie de volgende stappen:

  1. Optische metingen uitvoeren van de werkelijke kleuruitvoer van een beeldscherm bij het weergeven van een set bekende kleurwaarden.
  2. Op basis van de meetgegevens genereert u een kleurtransformatie die corrigeert op onnauwkeurigheden in de weergave en metagegevens genereert die het resulterende kleurvolume van de weergave beschrijft.
  3. Sla de kleurtransformatiegegevens op en geef metagegevens weer voor later gebruik.
  4. Laad en pas tijdens runtime de kleurtransformatie toe op de weergaveframebuffer (kleurwaarden die naar de weergave worden verzonden) en rapporteer de metagegevens van de weergave aan apps.

Windows 10, versie 2004 biedt verbeterde functionaliteit voor stap 3 en 4, terwijl displayfabrikanten en kalibratieproviders verantwoordelijk zijn voor stap 1 en 2.

Systeemvereisten

Voor de nieuwe pijplijn voor kleurtransformatie is een geschikt GPU- en weergavestuurprogramma vereist. Ondersteunde GPU-architecturen zijn onder andere:

  • AMD:
    • AMD RX 500 400-serie of hoger
    • AMD Ryzen-processors met Amd Graphics
  • Intel:
    • Geïntegreerd: Intel 10e gen GPU (Ice Lake) of hoger
    • Discreet: Intel DG1 of hoger
  • NVIDIA GTX 10xx of hoger (Pascal+)
  • Brokenm 8CX Gen 3 of hoger; 7C Gen 3 of hoger

Notitie

Intel codename Comet Lake (5 cijferige modelcode) chipsets worden niet ondersteund.

Er is een stuurprogramma voor Windows Display Driver Model (WDDM) 2.6 of hoger nodig (uitgebracht met Windows 10, versie 1903). Sommige GPU-leveranciers hebben een nieuwer stuurprogramma nodig, mogelijk als nieuw als WDDM 3.0 (uitgebracht met Windows 11, versie 21H2).

Zie Nieuwe api's voor het beheren van ICC-profielen voor informatie over hoe een app kan bepalen of de nieuwe pijplijn voor kleurtransformatie beschikbaar is op een systeem.

Nieuwe GPU-kleurtransformatiepijplijn

In Windows 10 versie 2004 wordt een gpu-versnelde weergavekleurtransformatiepijplijn weergegeven die bestaat uit een lineaire gammakleurmatrix en 1DLUT. Vergeleken met de bestaande gamma-ramp pijplijn, biedt het een superieure nauwkeurigheid, precisie en ondersteuning voor breed kleurenvensters. Daarnaast voegt het ondersteuning toe voor nieuwe technologieën zoals HDR-beeldschermen die gebruikmaken van BT.2100-signalering.

De pijplijn is niet rechtstreeks programmeerbaar door apps en wordt in plaats daarvan alleen weergegeven via MHC-profielen; zie hieronder voor meer informatie. Andere functies van het besturingssysteem (OS), zoals nachtverlichting, kunnen ook gebruikmaken van deze pijplijn en het besturingssysteem beheert hoe u pijplijntoegang deelt (opstellen) en/of rationaliseert tussen meerdere scenario's.

Beschrijving van kleurtransformatiepijplijn

De pijplijn voor kleurtransformatie is gebaseerd op het standaardconceptmodel voor kleurruimteconversies:

blokdiagram: brondegamma, kleurenmatrix, doelhergamma

Het model kan converteren tussen twee RGB-kleurenruimten (of andere 3-kanaals), zoals sRGB naar P3 D65. Het kan ook de meest voorkomende typen kleurvariatie van het paneel corrigeren.

De Windows-pijplijn voor kleurtransformatie neemt het conceptuele model, breidt fase 2 (kleurenmatrix) en 3 (doelhergamma) uit naar subfasen en maakt een subset van de fasen beschikbaar (2b en 3b, in groene) voor apps die moeten worden programmeren, terwijl de rest (wit) wordt beheerd door het stuurprogramma:

blokdiagram: brondegamma; kleurenmatrix gedecomposeerd in bron RGB naar XYZ, XYZ naar XYZ en XYZ om RGB te targeten; doelhergamma gedecomposeerd in de functie voor directe overdracht, 1DLUT aanpassing

Door deze wijzigingen kan de kleurpijplijn agnostisch zijn voor de kleurruimte van de broninhoud, die op frame-naar-framebasis kan veranderen. Bovendien verbetert het de compatibiliteit met weergavekleurruimten zoals BT.2100 ST.2084, waarvoor ondoorzichtige optimalisaties nodig zijn om precisie te behouden.

Fase 0: Bron (grafische invoer)

De invoer is de gerenderde framebuffer van het besturingssysteem. Het kan zich in een van de verschillende kleurruimten bevinden, afhankelijk van het scenario, waaronder sRGB, sYCC, HDR10 of scRGB, en kan worden gewijzigd op basis van frame-naar-frame.

Fase 1: BrondeGamma

Het weergavestuurprogramma converteert de broninhoud automatisch naar lineair gamma en deze fase is niet programmeerbaar door apps.

Fase 2: Matrix voor kleurruimteconversie

In het standaardmodel voor kleurruimteconversie kan de matrixfase worden onderverdeeld in drie matrices, die samen zijn samengesteld (vermenigvuldigd):

  • 2a: converteren van de RGB-kleurruimte van de broninhoud (lineair gamma) naar een absolute kleurruimte; in de Windows-pijplijn is de absolute kleurruimte CIEXYZ.

  • 2b: Voer aanpassingen uit in CIEXYZ-ruimte, zoals kalibratie.

  • 2c: converteren van CIEXYZ naar de RGB-doelkleurruimte (lineair gamma). De RGB-doelkleurruimte wordt gedefinieerd als de codering die wordt gebruikt bij het verzenden van kleuren via de displaydraad, meestal BT.709 of BT.2020 primaries. Het is niet de werkelijke, gemeten primaries van het fysieke paneel.

Matrix 2a wordt bepaald door de broninhoud en matrix 2c wordt bepaald door de signaleringsmodus van de display; alleen matrix 2b is toegankelijk voor apps. Het stuurprogramma vermenigvuldigt de drie samen om de werkelijke matrix te genereren die moet worden uitgevoerd in hardware:

FinalMatrix = SourceRGBtoXYZ * XYZtoXYZAdjust * XYZtoTargetRGB

Notitie

Omdat het beeldschermstuurprogramma verantwoordelijk is voor de bron RGB naar XYZ en de XYZ-doelconversies naar RGB, mag de matrix die u (fase 2b) programmat, ook niet bevatten.

voorbeeld 1: Als u geen aanpassingen aan kleuren uitvoert (passthrough), moet uw matrix identiteit zijn, ongeacht het type weergave waarnaar u uitvoert.

voorbeeld 2: Als u uitvoert naar een SDR P3 D65-weergave en een 'sRGB-controleprofiel' implementeert dat sRGB in het deelvenster emulatiet, moet uw matrix bestaan uit een primariesrotatie van sRGB in P3 D65.

Fase 3: Doelhergamma

Deze fase kan worden onderverdeeld in twee RGB 1DLUT's, die samen zijn samengesteld:

  • 3a: codeer de lineaire RGB-gegevens van fase 2c in de overdrachtsfunctie/het gamma van het signaal via de displaydraad.

  • 3b: Voer aanpassingen uit in de doel gammaruimte, zoals kalibratie.

1DLUT 3a wordt bepaald door de kleurruimte van de displaydraadnotatie; meestal is het sRGB voor SDR-beeldschermen en ST.2084 voor HDR-beeldschermen. 3b is programmeerbaar door apps en vindt plaats nadat de functie voor overdracht van directe opmaak is toegepast. Het stuurprogramma stelt de twee 1DLUTs samen om de werkelijke 1DLUT te genereren die moet worden uitgevoerd in hardware:

Final1DLUT = Adjustment1DLUT(TargetReGamma(input))

Notitie

Omdat het stuurprogramma verantwoordelijk is voor het programmeren van de functie voor de signaaloverdracht van het beeldscherm, mag de 1DLUT die u programmat (3b) niet opnemen die codering. Als u bijvoorbeeld geen aanpassingen aan kleuren uitvoert (passthrough), moet uw 1DLUT identiteit zijn, ongeacht de kleurruimte van de weergavedraadnotatie.

Fase 4: Doel (uitvoer om te scannen)

Dit is de framebuffer die via de draad door de GPU moet worden gescand; in de systeemeigen kleurruimte van het beeldscherm en na eventuele aanpassingen die u hebt geprogrammeerd. Aanvullende bewerkingen, zoals YCbCr-codering, kunnen later plaatsvinden.

Hogere precisie en nauwkeurigheid

De lineaire gammamatrixfase (XYZ naar XYZ-aanpassing) is geïntroduceerd in Windows 10, versie 1709. Met de mogelijkheid kunt u aanpassingen uitvoeren aan primaries van kleuren en witpunten, evenals willekeurige RGB-kleurruimteconversies.

De 1DLUT-aanpassingsfase is conceptueel vergelijkbaar met de bestaande gamma-helling 1DLUT, maar biedt verbeterde precisie, met maximaal 4096 LUT-vermeldingen bij maximaal 16-bits precisie van vaste punten.

Notitie

Niet alle hardware ondersteunt het volledige aantal vermeldingen of precisie dat wordt weergegeven door de kleurpijplijn.

Ondersteuning voor HDR-schermen (BT.2100)

Een beperking van de bestaande gamma ramp pijplijn is dat het niet-gedefinieerd gedrag heeft wanneer de display HDR (BT.2100 ST.2084) signaleert. De nieuwe pijplijn voor kleurtransformatie ondersteunt zowel SDR (BT.1886 of sRGB) als HDR-signalering, en schaalt om toekomstige kleurruimten voor draadopmaak te ondersteunen. Dit doet u via de fasen XYZ naar Doel RGB en Directe overdracht (blauwe) in het blokdiagram:

blokdiagram dat xyz identificeert voor rgb- en overschrijvingsfunctiefasen

Deze twee fasen, die automatisch door de bestuurder worden beheerd, zijn verantwoordelijk voor het coderen van kleuren in de kleurruimte van de draadnotatie: bijvoorbeeld sRGB of BT.2020 ST.2084.

Wanneer u de kleurtransformatiepijplijn programmeert, krijgt u daarom goed gedefinieerd gedrag op basis van de actieve kleurruimte voor draadopmaak van de weergave.

Nieuwe tag "MHC2" voor ICC-profielen

Windows biedt geen API voor het rechtstreeks beheren van de nieuwe pijplijn voor kleurtransformatie tijdens runtime. In plaats daarvan heeft uw app toegang tot de pijplijn door een correct opgemaakt ICC-kleurenprofiel (International Color Consortium) te schrijven met extra gegevens die zijn opgeslagen in een nieuwe persoonlijke tag 'Microsoft Hardware Kalibratie' ('MHC2'). Het is een vergelijkbaar model als de bestaande gamma ramp pijplijn, die gebruikmaakt van VCGT private ICC-tags. ICC-profielen met geldige MHC2-taggegevens worden 'MHC ICC-profielen' of 'MHC-profielen' genoemd.

Notitie

MHC2 verwijst naar de tweede versie van de persoonlijke tag, die beschikbaar is voor alle Windows 10 versie 2004-apparaten; MHC1 werd geleverd op een eerdere versie van Windows met specifieke OEM-pc's.

Aanvullende ST.2086 HDR statische metagegevens

Naast het programmeren van de nieuwe pijplijn voor kleurtransformatie, bevatten MHC ICC-profielen ook ST.2086 HDR statische metagegevens. Dit zijn waarden die het dynamische bereik (luminantie) en het kleurengamma van een display beschrijven. Ze worden breed geïmplementeerd met HDR-schermen, maar zijn handig voor elke weergave. De waarden zijn:

  • Piekhelderheid (neten)
  • Maximale helderheid van volledig frame (neten)
  • Minimale luminantie (neten)
  • RGB-kleuren primaries (xy-coördinaten)
  • Witpunt (xy-coördinaten)

Het witte punt, de maximale helderheid van het volledige frame en rgb-kleuren worden beschreven met behulp van standaard ICC-tags. Piek en minimale luminantie worden beschreven in de MHC2-tag. Een profiel moet al deze informatie bevatten voor het besturingssysteem om het profiel te accepteren en te gebruiken voor geavanceerde kleurenscenario's.

Windows rationaliseert ST.2086-metagegevens uit meerdere bronnen, waaronder het MHC ICC-profiel, het grafische stuurprogramma en EDID- of DisplayID-firmware. MHC ICC-profielen worden behandeld als de meest vertrouwde bron en overschrijven andere bronnen. Windows maakt deze informatie beschikbaar via de HDR-functie-API's, zoals beschreven in DirectX gebruiken met Geavanceerde kleur op dynamische bereiken met hoge/standaard dynamische bereikweergaven. Op die manier krijgen HDR-apps de best beschikbare HDR-weergave-informatie.

Definitie van ST.2086 luminantie voor aanpasbare backlight displays

Een display kan een aanpasbare achtergrondverlichting hebben, bijvoorbeeld beheerd door de gebruiker, of automatisch worden beheerd door een omgevingslichtsensor. Dit introduceert dubbelzinnigheid met de manier waarop de st.2086-luminantiewaarden moeten worden geïnterpreteerd.

Voor weergaven waar Windows controle heeft over de achtergrondverlichting (meestal voor laptops en geïntegreerde paneelapparaten), moeten de luminantiewaarden beschrijven wanneer deze door het besturingssysteem beheerde backlight de maximale of helderste instelling heeft.

Voor weergaven waarbij Windows geen controle heeft over de achtergrondverlichting (meestal voor externe beeldschermen), zijn de luminantiewaarden alleen nauwkeurig voor de weergavestatus op het moment van meting.

ICC-profielvereisten

Een MHC ICC-profiel moet gebruikmaken van ICC spec versie 2 (ICC.1:2001-04) of versie 4 (ICC.1:2010-12/ISO 15076-1:2010). Een MHC ICC-profiel moet een weergaveapparaatprofiel zijn.

Een MHC ICC-profiel kan pijplijngegevens voor kleurtransformatie bevatten. De gedeelten van de MHC2-structuur die de kleurtransformatie definiëren, kunnen leeg zijn, wat expliciet een identiteitstransformatie aangeeft.

Een MHC ICC-profiel moet ST.2086-metagegevens bevatten. Een profiel met alleen ST.2086-metagegevens en er worden geen transformatiegegevens gebruikt voor HDR-kalibratiescenario's. In dat geval betekent HDR-kalibratie meer nauwkeurige min/max luminantie- en kleurgamutinformatie voor HDR-apps en -games.

Bestaande openbare tags opnieuw gebruiken

MHC ICC-profielen gebruiken bestaande openbare tags om enkele van de st.2086-metagegevenswaarden te definiëren. Al deze tags zijn al vereist voor het weergeven van apparaatprofielen. Tag- en gegevenstypedefinities vindt u in de ICC-specificaties.

Tagnaam Gegevenstype ST.2086-waarde Eenheid gerapporteerd door Windows
redColorantTag XYZNumber Rode primaire Chromaticiteit (xy)
greenColorantTag XYZNumber Groen primair Chromaticiteit (xy)
blueColorantTag XYZNumber Blauw primair Chromaticiteit (xy)
mediaWhitePointTag XYZNumber Witpunt Chromaticiteit (xy)
luminanceTag XYZNumber Maximale helderheid van volledig frame Luminantie (neten)

"MHC2" definitie van privétag

Een MHC ICC-profiel moet één MHC2-tagstructuur bevatten. De matrix- en 1DLUT-kleurtransformatieelementen kunnen worden ingesteld op 0 (NULL), waarmee expliciet een identiteitstransformatie voor de respectieve fase wordt aangegeven. De st.2086-metagegevenswaarden moeten worden ingevuld met geldige gegevens.

Bytepositie Veldlengte (bytes) Tevreden Gegevenstype
0 tot 3 4 'MHC2' (4D484332h) Type Signature MHC2Type
4 tot 7 4 Verschuiving naar het begin van het taggegevenselement uInt32Number
8 tot 13 4 Grootte van taggegevenselement uInt32Number

MHC2Type-structuurdefinitie

Bytepositie Veldlengte (bytes) Tevreden Gegevenstype
0 tot 3 4 'MHC2' (4D484332h) Type Signature
4 tot 7 4 Gereserveerd, ingesteld op 0
8 tot 11 4 Aantal 1DLUT-vermeldingen (4096 of minder) [1]
OPTIONEEL: 0 = Identiteitstransformatie
uInt32Number
12 tot 15 4 ST.2086 min luminantie in neten S15Fixed16Number
16 tot 19 4 ST.2086 pieklichting in neten S15Fixed16Number
20 tot 23 4 Verschuiving in bytes naar matrix [2]
OPTIONEEL: 0 = Identiteitstransformatie
uInt32Number
24 tot 27 4 Verschuiving in bytes naar rood 1DLUT [2] uInt32Number
28 tot 31 4 Verschuiving in bytes naar groen 1DLUT [2] uInt32Number
32 tot 35 4 Verschuiving in bytes naar blauw 1DLUT [2] uInt32Number

[1] Het besturingssysteem interpoleert gegevens naar het aantal door hardware ondersteunde vermeldingen.

[2] verschuivingen binnen de MHC2Type-structuur zijn relatief ten opzichte van het begin van de structuur, niet het bestand.

Matrixdefinitie

Bytepositie Veldlengte (bytes) Tevreden Gegevenstype
0 tot 47 48 3x4 XYZ naar XYZ aanpassingsmatrix
kolom 4 wordt genegeerd [1]
s15Fixed16Number

[1] De matrixstructuur is aangepast aan 12 elementen voor een matrix van 3x4 in de primaire rijvolgorde. In Windows worden echter alleen gegevens uit de linker drie kolommen gebruikt, waarmee een 3x3-matrix wordt gedefinieerd. Als u deze 12 waarden bijvoorbeeld opslaat in lineaire volgorde:

[a, b, c, 0, d, e, f, 0, g, h, i, 0]

produceert de volgende matrix:

Eerste kolom Tweede kolom Derde kolom
een b c
d e f
g h Ik

Notitie

Zoals beschreven in matrix voor kleurruimteconversie, neemt u de bron RGB niet op naar XYZ of XYZ om RGB-matrixtransformaties te targeten, omdat deze automatisch door het stuurprogramma worden verwerkt. Doel RGB wordt gedefinieerd als de codering die wordt gebruikt bij het verzenden van kleuren via de beeldschermdraad; normaal gesproken BT.709 of BT.2020 primaries.

1DLUT-definitie

Bytepositie Veldlengte (bytes) Tevreden Gegevenstype
0 tot 3 4 'sf32' (73663332h) TypeHandtekening
4 tot 7 4 Gereserveerd, ingesteld op 0
8 tot einde Variabele (0 tot 16384) Kalibratie-LUT-waarden genormaliseerd tot [0,0, 1.0] s15Fixed16Number

Notitie

Zoals beschreven in Target ReGamma, werkt deze LUT in de kleurruimte van de draadindeling nadat de overdrachtsfunctie is gecodeerd.

Notitie

Als uw metingen of kalibratiecurve minder dan 4096 LUT-vermeldingen nodig heeft, slaat u alleen het aantal items op dat u daadwerkelijk nodig hebt en geeft u het aantal op in de MHC2Type-structuur. De eenvoudigste identiteits-LUT vereist bijvoorbeeld slechts twee vermeldingen die zijn ingesteld op 0,0 en 1.0. Het besturingssysteem interpoleert het aantal door hardware ondersteunde vermeldingen.

Nieuwe WEERGAVE ICC-profielbeheer-API's

Notitie

De richtlijnen in deze sectie zijn van toepassing op elk display ICC-profiel, ongeacht of het MHC-gegevens bevat.

Nadat u een MHC ICC-profiel hebt gegenereerd, richt u het in op het Windows-systeem voor de beoogde weergave. In eerdere versies van Windows gebruikt u WCS-profielbeheerfuncties (Windows Color System) om dat te doen. Hoewel u deze bestaande API's kunt blijven gebruiken, voegt Windows 10 versie 2004 een set nieuwe, gemoderniseerde API's toe aan WCS die gespecialiseerd zijn voor het beheren van display ICC-kleurprofielen. Deze API's worden allemaal voorafgegaan door ColorProfile:

  • ColorProfileAddDisplayAssociation
  • ColorProfileRemoveDisplayAssociation
  • ColorProfileSetDisplayDefaultAssociation
  • ColorProfileGetDeviceCapabilities

Notitie

De bovenstaande API biedt functionaliteit waarvoor er geen bestaande WCS-API-equivalent is.

  • ColorProfileGetDisplayList
  • ColorProfileGetDisplayDefault
  • ColorProfileGetDisplayUserScope

Een typische werkstroom met behulp van de ColorProfile-API's voor het inrichten van een MHC ICC-profiel op het systeem is:

  1. Gebruik ColorProfileGetDeviceCapabilities om te bepalen of het systeem de nieuwe pijplijn voor kleurtransformatie ondersteunt. Zelfs als dit niet zo is, kan het nog steeds nuttig zijn om het profiel in te richten om aanvullende ST.2086-metagegevens te bieden.
  2. Gebruik InstallColorProfile (een bestaande WCS-API) om het kleurenprofiel te installeren. Hiermee wordt het profiel toegevoegd aan de lijst met profielen die beschikbaar zijn voor gebruik op het systeem.
  3. Gebruik ColorProfileGetDisplayUserScope om te bepalen of de Windows-gebruiker de standaardprofielkoppelingen van het systeem heeft overschreven en hun eigen lijsten per gebruikerskoppeling gebruikt.
  4. Gebruik ColorProfileAddDisplayAssociation- om het kleurprofiel te koppelen aan een weergave (maak een geïnstalleerd profiel selecteerbaar voor die weergave) en stel het profiel desgewenst in als standaard (het huidige actieve profiel).

Verbeterde lader voor Windows-beeldschermkalibratie

Windows heeft sinds Windows 7 een laadprogramma voor de kleurkalibratie van het Postvak IN aangeboden. Die kalibratielader ondersteunt het lezen van ICC-profielen met gamma-ramp pijplijngegevens die zijn opgeslagen in VCGT- of MS00-privé-ICC-profieltags. De gamma-ramp laadprogramma moet expliciet worden ingeschakeld door WcsSetCalibrationManagementStateaan te roepen.

Windows 10, versie 2004 verbetert het laadprogramma voor postvakkalibratie door ondersteuning toe te voegen voor MHC ICC-profielen en de nieuwe pijplijn voor kleurtransformatie. Het schrijven en inrichten van een MHC ICC-profiel en het toepassen van de status van het Windows-laadprogramma is de enige methode voor apps voor toegang tot de pijplijn voor kleurtransformatie: er zijn geen API's voor directe toegang. In tegenstelling tot de gamma ramp profielen, wordt het lezen van MHC ICC-profielen altijd ingeschakeld, dus zodra een MHC ICC-profiel is ingesteld als standaard op een geschikt systeem, wordt de kalibratiestatus automatisch geladen.

HDR- en Advanced Color-scenario's met automatisch systeemkleurbeheer

Nieuwe geavanceerde kleurtechnologieën zoals HDR en automatisch kleurenbeheer voegen nieuwe mogelijkheden toe aan Windows, waaronder superieure kleurnauwkeurigheid en toegang tot veel grotere kleurenkleuren; Zie DirectX gebruiken met Geavanceerde kleur op dynamische bereiken met hoge/standaard dynamische bereikenvoor meer informatie.

Geavanceerd kleuren- en automatisch kleurenbeheer zorgen voor consistente en colorimetrisch nauwkeurige weergavekleur voor alle apps: zowel verouderd als modern. Sommige apps kunnen echter hun eigen expliciet kleurbeheer uitvoeren met behulp van ICC-kleurenprofielen (International Color Consortium).

Wanneer Advanced Color actief is op SDR- of HDR-schermen, verandert het gedrag van display ICC-profielen op niet-achterwaarts compatibele manieren. Als uw app werkt met display ICC-profielen, biedt Windows compatibiliteitsgedrag om ervoor te zorgen dat uw app het juiste gedrag blijft krijgen.

Raadpleeg ICC-profielgedrag met Advanced Colorvoor informatie over de wijzigingen in icc-profielgedrag en hoe u uw app kunt aanpassen om de compatibiliteit met Advanced Color te maximaliseren.