Home › Forums › Help and Support › Help Understanding Windows Color Management
- This topic has 8 replies, 3 voices, and was last updated 2 years, 5 months ago by Алексей Коробов.
-
AuthorPosts
-
2021-10-20 at 21:31 #32126
Let’s say I use DisplayCal with a colorimeter to calibrate and profile my laptop display. The end result of that is a file called “DisplayCal_sRGB.icm” which DisplayCal puts in my system32/spool/drives/color folder.
If I then delete DisplayCal (ie, remove it completely from my system), and use Windows’ color management dialogue to set “DisplayCal_sRGB” as my monitor’s default ICC profile:
1) how is that different from what DisplayCal would do? I’ve seen comments that Windows does not load calibration and profile data reliably/accurately, but I don’t understand how that is possible. Is Windows that erratic?
2) is both the monitor calibration and profile data stored in “DisplayCal_sRGB.icm” ? How/where is the calibration data used?
I would greatly appreciate any help in learning to understand this better.
- This topic was modified 2 years, 5 months ago by AL2420.
2021-10-21 at 0:39 #32128Let’s say I use DisplayCal with a colorimeter to calibrate and profile my laptop display. The end result of that is a file called “DisplayCal_sRGB.icm” which DisplayCal puts in my system32/spool/drives/color folder.
If I then delete DisplayCal (ie, remove it completely from my system), and use Windows’ color management dialogue to set “DisplayCal_sRGB” as my monitor’s default ICC profile:
1) how is that different from what DisplayCal would do? I’ve seen comments that Windows does not load calibration and profile data reliably/accurately, but I don’t understand how that is possible. Is Windows that erratic?
Let’s assume you remove DisplayCAL
-OS will continue to publish ICC for color managed apps when they ask. This has nothing to do with DisplayCAL.
-Grey calibration stored inside profile MAY not be loaded into GPU
-If calibration is loaded into GPU it will be loaded at low resolution, banding, even if you have an AMD. Same thing happens with other 3rd party loaders like Xrite’s or basiccolor 1D lut loaders, hence the use of DIsplaycal loader is HIGHLY recomendedWindows itself does not color manage desktop. It only publishes current active ICC for each display to apps, so they can handle it (if they know how to do it).
2) is both the monitor calibration and profile data stored in “DisplayCal_sRGB.icm” ? How/where is the calibration data used?
I would greatly appreciate any help in learning to understand this better.
GPU calibration, the kind of calibration you can do with monitows without HW cal AND gamut emulation capabilities is limited to grey, nothing more.
It’s and 1D LUT “origonal data in -> corrected data out” for the 3 channels, individually, no mixing.
These 3 tables are stored in an optinal tag “VCGT” inside ICC files. They are ignored by color managed apps.On startup or upon request, a “gpu calibration loader” reads VCGT grey calibration form profile and loads it into a dedicated HW in GPUs called “luts”. API accesisng this fucntionality may be limited (software truncation) or HW itselft may be limited (HW truncation) resulting in banding unless dithering is applied.
2021-10-21 at 0:47 #32132In the case of an app like Photoshop, PS uses the profile to match the source, the workspace, and the display, right?
But you’re saying PS ignores the “calibration” component embedded in the ICM file. And if I understand correctly, “calibration” is only white balance and grayscale gamma?
If DisplayCal has loaded the calibration at say system startup, that remains active while PS is open, though, correct? So in PS I’m seeing the calibrated monitor further corrected/managed by PS via the profile?
- This reply was modified 2 years, 5 months ago by AL2420.
2021-10-21 at 9:53 #32137In the case of an app like Photoshop, PS uses the profile to match the source, the workspace, and the display, right?
PS reecondes image in monitor colorspace (described by display ICM)
But you’re saying PS ignores the “calibration” component embedded in the ICM file. And if I understand correctly, “calibration” is only white balance and grayscale gamma?
ICM monitor description is “after calibration is applied”. Hence color managed apps do not care about GPU calibration. Thay assume display behaves as it is described in ICM.
Keep in mind that ICC must work with factory or HW calibration that have no VCGT tag or a linear (input=output) GPU calibration.
Color managed apps do not care about VCGT.Displaycal loader loads grey calibration (VCGT data) to ensure that such “after calibration” description stored in ICM is valid.
If DisplayCal has loaded the calibration at say system startup, that remains active while PS is open, though, correct? So in PS I’m seeing the calibrated monitor further corrected/managed by PS via the profile?
PS does not correct monitor. See answer 1.
2021-10-21 at 17:27 #32159OK, thank you for that. It sounds like the profile system in Windows is relatively mature (predictable and robust) and the calibration system is more of an afterthought.
Would it be fair to characterize the “calibration” system as a primitive or underdeveloped feature Microsoft developed as part of their calibration wizard (make the box inside the box disappear…etc…)? Does that explain the lower resolution/accuracy of the correction and the fact that it doesn’t load reliably if left up to Windows?
If I understand this correctly, DisplayCal is hooking into that system (VCGT tag) to implement a higher-accuracy correction that DisplayCal reliably loads on startup.
2021-10-21 at 19:47 #32160OK, thank you for that. It sounds like the profile system in Windows is relatively mature (predictable and robust) and the calibration system is more of an afterthought.
Windows CM is an AddOn, and GPU LUT loader a later addon
Would it be fair to characterize the “calibration” system as a primitive or underdeveloped feature Microsoft developed as part of their calibration wizard (make the box inside the box disappear…etc…)? Does that explain the lower resolution/accuracy of the correction and the fact that it doesn’t load reliably if left up to Windows?
Xrite loader does the same poor work as windows, or basiccolor. IDNK why.
If I understand this correctly, DisplayCal is hooking into that system (VCGT tag) to implement a higher-accuracy correction that DisplayCal reliably loads on startup.
ArgyllCMS
2021-10-21 at 22:07 #32170Thank you.
One last question: if using a monitor capable of directly loading a 3DLUT, is that equivalent in terms of output quality (for any given targeted colorspace) to the system of calibration/profiling that you’ve described above?
2021-10-21 at 22:53 #32171It’s better to have HW cal because you avoid rounding errors made by poorly implementend truncation, like Photoshop.
HW calibrate: 1DLUT, or lut + matrix for gamut emulation, or 1dlut (grey) + LUT3D (17 nodes x side), then describe monitor with a simple matrix ICC & true neutral grey TRC. That way PS tries to correct less and minimizes rounding errors caused by PS itself.On an ideal color managent engine with dithering and such, there should be little to none difference “LUT3D (HW) + matrix 1 TRC” vs “1DLUT VCGT + XYZLUT profile”. They are the same… actually such XYZLUT mesh mapping display is what displaycal or other software uses to make a LUT3D.
- This reply was modified 2 years, 5 months ago by Vincent.
2021-10-22 at 20:50 #32191Would it be fair to characterize the “calibration” system as a primitive or underdeveloped feature Microsoft developed as part of their calibration wizard (make the box inside the box disappear…etc…)? Does that explain the lower resolution/accuracy of the correction and the fact that it doesn’t load reliably if left up to Windows?
Windows calibration tool may only correct display contrast by eye, this may help if your display has very regular gamma curve, and this will give you near-sRGB result if your display implements good enough sRGB mode. But you can’t determine RGB primaries (pure, most satutrated colors) of real display that uses all its gamut (standard or user mode) by eye, so Windows tool ignores this step. Its profiles seems to contain calibration curves for vcgt and nothing more.
You can switch on Windows native vcgt (videocard 1D LUT, better to say curves correction) loader, see attached screenshot. But DisplayCAL Profile Loader is more advanced tool.
Attachments:
You must be logged in to view attached files. -
AuthorPosts