Guru3D.com Forums

Go Back   Guru3D.com Forums > Hardware > Computer Monitor Forum
Computer Monitor Forum IPS Panels, Brands, Ultra HD, G-Sync, 144Hz, FreeSync it all is monitor related. This is the place where you can discuss all monitor related matters. Find help and information about high resolutions and refresh rates, VGA ti Display port connectors.



Reply
 
Thread Tools Display Modes
Games & Color Profiles
Old
  (#1)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default Games & Color Profiles - 03-01-2014, 14:11 | posts: 4,320 | Location: Lebanon

This thread will cover how games reacts to color profiles.

Issue: Games do one of three things:

1) Do not reset or ignore the color profile. Load a color profile once, at anytime, and it should still affect the game's colors.

2) Reset the system color profile by applying their own curve (almost always a linear curve). Applications that can "lock" a profile (CPK, Color Sustainer) can set the correct color profile back. Games only do this once, somewhere in their startup sequence, or when a setting is changed, etc... and they do not fight with the application that tries to lock the profile by setting it back.

3) In (exclusive) fullscreen mode only: Ignore the system color profile by calling a DirectX-related function that allows fullscreen applications to use their own color management independent of the system's color profile. These games do not reset the system color profile; they do not follow it. Applications that "lock" a profile do not detect a change in the system's color profile, because it has not changed, so they do not set the correct profile back. Even if they did, or set the correct profile periodically, the fullscreen game does not get affected by it.

1 - does not need a 3rd-party application. The game follows the system color profile without needing any 3rd-party applications. Merely set the color profile, load up the game, and enjoy better color.

2 - needs a 3rd-party application to "lock" the correct color profile after the game has reset it. CPK & Color Sustainer achieve that.

3 - no 100% success yet, multiple proposed solutions:

a) Modify the game's executable to refer to modified DirectX DLL files that make such a function useless. Color Clutch (hats off) does that, but it does not work with all games, is not tested with DirectX 11, and might be detected as a cheat in online games.

b) Modify system files so that the function becomes useless. Many games use DirectX DLLs included in their game directories so this may be harder than the first solution above.

c) Load color profile directly into the graphics card LUT (Look-Up Table). This is called "Write directly to Palette DAC' in PowerStrip and used to work with Nvidia cards before the 8000 series, and is supposed to (still?) be working with AMD cards. Didn't test extensively yet with multiple games that ignore the system color profile, but in Metro: Last Light, the game and the PowerStrip feature fought each other and the screen tore between color profile (PowerStrip) and linear curve (Metro: Last Light).

d) Get developers to stop using this function, or get Microsoft to disable this function or allow an external locking mechanism for those who know what they're doing when locking their own color profiles.

e) Get Nvidia & AMD to allow writing directly to the graphics card LUT and locking the LUT from further modifications.

Windowed mode so far has a 100% success rate. For games that reset the color profile, using applications to force the color profile works.

However, some games might face reduced performance. CrossFire does not work in windowed mode. SLi might (need confirmation).

How a game reacts to color profiles (in fullscreen mode):
 Click to show spoiler


Feedback from AMD, Nvidia, Intel users necessary.

Use Color Sustainer, load a pre-defined tint (Red, Green, Blue, etc...), launch game, fiddle with settings & gamma slider, change from fullscreen to windowed mode and vice-versa, etc...

List of games:

Alan Wake
 Click to show spoiler


Batman: Arkham City
 Click to show spoiler


Bioshock Infinite
 Click to show spoiler


Call of Duty 4: Modern Warfare
 Click to show spoiler


Company of Heroes - Opposing Fronts
 Click to show spoiler


DotA 2
 Click to show spoiler


GRID 2
 Click to show spoiler


Just Cause 2
 Click to show spoiler


League of Legends
 Click to show spoiler


Metro 2033
 Click to show spoiler


Metro: Last Light
 Click to show spoiler


Mirror's Edge
 Click to show spoiler


Mortal Kombat: Komplete Edition
 Click to show spoiler


Sanctum 2
 Click to show spoiler


Sleeping Dogs
 Click to show spoiler


Sniper Elite V2
 Click to show spoiler


The Elder Scrolls V: Skyrim
 Click to show spoiler


Thief (2014)
 Click to show spoiler


Tomb Raider
 Click to show spoiler


Trine: Enchanted Edition
 Click to show spoiler


Trine 2
 Click to show spoiler


XCOM: Enemy Unknown
 Click to show spoiler


Last edited by yasamoka; 09-14-2014 at 20:01.
   
Reply With Quote
 
Old
  (#2)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 03-01-2014, 14:16 | posts: 4,320 | Location: Lebanon

Reserved.
   
Reply With Quote
Old
  (#3)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 03-01-2014, 14:16 | posts: 4,320 | Location: Lebanon

Reserved 2.
   
Reply With Quote
Old
  (#4)
dove
Master Guru
 
Videocard: Powercolor 6950 2GB
Processor: i5 4670k @4.4Ghz
Mainboard: Asus Z97-A
Memory: 16GB Corsair Vengeance LP
Soundcard: Onboard Realtek
PSU: eVGA G2 750W
Default 03-01-2014, 18:20 | posts: 312 | Location: London

Thanks for this excellent, clear explanation of the issues yasamoka.

I was aware of Color Clutch but as you say, it may be detected as a cheat with some games so I didn't want to take the risk of using it, forgetting about it and getting banned!

Maybe a variation on Color Clutch that modifies the DirectX DLLs in realtime instead of the game executable would be an option, as it shouldn't matter whether the DLLs are in the system or game directories then and I would think it unlikely a game would detect a modified DX DLL as a cheat would it?

I haven't extensively tested yet but I discovered that ArmA3 has a FullScreen Windowed mode which seems to leave the colour profile intact (I'm running Flux which has a very noticeable affect on the screen, which was cancelled in ArmA3 when running in FullScreen but isn't in FullScreen Windowed), so that's one game I've got sorted at least
   
Reply With Quote
 
Old
  (#5)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 03-01-2014, 19:26 | posts: 4,320 | Location: Lebanon

Quote:
Maybe a variation on Color Clutch that modifies the DirectX DLLs in realtime instead of the game executable would be an option, as it shouldn't matter whether the DLLs are in the system or game directories then and I would think it unlikely a game would detect a modified DX DLL as a cheat would it?
Sounds like sort of modifying in memory. These can be detected as cheats as well. I'm almost sure that you can cheat by modifying the DLLs to, let's say, render certain objects as transparencies, for example. Same risks I guess, we would prefer a safer way obviously, something that does not tamper with any game or system files even if it were an unofficial workaround.

Quote:
I haven't extensively tested yet but I discovered that ArmA3 has a FullScreen Windowed mode which seems to leave the colour profile intact (I'm running Flux which has a very noticeable affect on the screen, which was cancelled in ArmA3 when running in FullScreen but isn't in FullScreen Windowed), so that's one game I've got sorted at least
Flux is supposed to try and lock the profile it has set. You'll find on the Color Sustainer thread instructions to download ArgyllCMS and use dispwin, but instead of using an argument to load a color profile, use "dispwin -c" to reset the color profile. Flux should basically pop it back in.

If it doesn't, then capture Flux's loaded profile with a small applet mentioned in those same instructions and try loading it via Color Sustainer, and tell me if it works out for you.

Since you're well-informed about this subject, I would naturally appreciate further feedback on other games as well, to add them to this, hopefully, ever-growing list of games.
   
Reply With Quote
Old
  (#6)
dove
Master Guru
 
Videocard: Powercolor 6950 2GB
Processor: i5 4670k @4.4Ghz
Mainboard: Asus Z97-A
Memory: 16GB Corsair Vengeance LP
Soundcard: Onboard Realtek
PSU: eVGA G2 750W
Default 03-01-2014, 21:20 | posts: 312 | Location: London

Quote:
Originally Posted by yasamoka View Post
Sounds like sort of modifying in memory. These can be detected as cheats as well. I'm almost sure that you can cheat by modifying the DLLs to, let's say, render certain objects as transparencies, for example. Same risks I guess, we would prefer a safer way obviously, something that does not tamper with any game or system files even if it were an unofficial workaround.
Yeah, I guess you're right that the dlls could be modified to give players an advantage. I was just thinking that dlls for things like SoftTH and SweetFX seem to be allowed, although I'm not even sure about that as I only really play ArmA3 online, only just got SweetFX working with that and the server I mainly play on doesn't use BattleEye anyway!

Quote:
Flux is supposed to try and lock the profile it has set. You'll find on the Color Sustainer thread instructions to download ArgyllCMS and use dispwin, but instead of using an argument to load a color profile, use "dispwin -c" to reset the color profile. Flux should basically pop it back in.
Yep, confirmed that. It's quite funny running Color Sustainer whilst Flux is already running as they both fight to enforce their own colour scheme. Clearly I'll have to disable Flux manually when gaming. I've never bothered before as I've been playing in fullscreen and the games I've been playing ignore the colour profile in that mode anyway, so Flux had no effect on the games.

Quote:
Since you're well-informed about this subject, I would naturally appreciate further feedback on other games as well, to add them to this, hopefully, ever-growing list of games.
I wouldn't say I'm particularly well-informed, I've just been aware for a while that there's this issue regarding full-screen games ignoring/overriding the calibrated colour profile, with the result that we can have perfectly calibrated desktops but as soon as we launch a game we have to put up with an uncalibrated image. I thought this was rather bad but there didn't seem to be anything we could do about it or any interest from Microsoft in fixing it, so I'd pretty much given up hope of being able to actually play PC games with a properly calibrated display until I recently discovered that we can workaround this by running in Windowed mode, although this can entail a fps penalty with some games, so isn't ideal.

I will happily report my findings with various games as I test them. It's the least I can do considering your kindness in providing your apps and taking the time to explain the issues and help users.
   
Reply With Quote
Old
  (#7)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 03-01-2014, 21:38 | posts: 4,320 | Location: Lebanon

Quote:
Originally Posted by dove View Post
Yeah, I guess you're right that the dlls could be modified to give players an advantage. I was just thinking that dlls for things like SoftTH and SweetFX seem to be allowed, although I'm not even sure about that as I only really play ArmA3 online, only just got SweetFX working with that and the server I mainly play on doesn't use BattleEye anyway!
I suppose that's more about the cheat-detection software allowing these to run rather than them being not intrusive. If SweetFX were to have a feature that could be used to allow an unfair advantage, then it might become identified as a cheat.

Quote:
Yep, confirmed that. It's quite funny running Color Sustainer whilst Flux is already running as they both fight to enforce their own colour scheme. Clearly I'll have to disable Flux manually when gaming. I've never bothered before as I've been playing in fullscreen and the games I've been playing ignore the colour profile in that mode anyway, so Flux had no effect on the games.
You reminded me of a funny incident (as far as I remember it correctly) with my friend at whose laptop I ran Color Sustainer while he was running Flux. The screen started flashing and he went: "what are you doing to my screen?" and I went it's just Color Sustainer and Flux fighting while doing a virtual SMH knowing that software tweaks to color cannot possibly harm a display in that sense.

Quote:
I wouldn't say I'm particularly well-informed, I've just been aware for a while that there's this issue regarding full-screen games ignoring/overriding the calibrated colour profile, with the result that we can have perfectly calibrated desktops but as soon as we launch a game we have to put up with an uncalibrated image. I thought this was rather bad but there didn't seem to be anything we could do about it or any interest from Microsoft in fixing it, so I'd pretty much given up hope of being able to actually play PC games with a properly calibrated display until I recently discovered that we can workaround this by running in Windowed mode, although this can entail a fps penalty with some games, so isn't ideal.
When you mentioned that there's no apparent interest from Microsoft to fix this, I rolled back to my first post to see whether I had mentioned Nvidia & AMD as well. But, you're right, Microsoft are the final player in providing a function that allows games to ignore color profiles in fullscreen mode, and if this function had not existed, we would be able to use color profiles with games now by locking them, without AMD & Nvidia's further intervention.

Quote:
I will happily report my findings with various games as I test them. It's the least I can do considering your kindness in providing your apps and taking the time to explain the issues and help users.
Thanks for the kind words and waiting to see more and more games hit this list.
   
Reply With Quote
Old
  (#8)
dove
Master Guru
 
Videocard: Powercolor 6950 2GB
Processor: i5 4670k @4.4Ghz
Mainboard: Asus Z97-A
Memory: 16GB Corsair Vengeance LP
Soundcard: Onboard Realtek
PSU: eVGA G2 750W
Default 03-02-2014, 15:32 | posts: 312 | Location: London

Another thing I'm never sure about is what method to use for calibrating my TV to the PC for playing games. The TV has a lot more hardware controls (White Balance, RGB Hue, Saturation, Luminance) than most monitors, so it would be possible to calibrate it there and it's probably easier to do it this way as I can sit in front of the TV and use the remote, rather than trying to adjust things with the mouse on the PC whilst leaning over to try and see the TV. The bit I'm not sure about is whether playing calibration videos in something like MPC-HC would be using the same mode as games do and therefore whether any adjustments I make whilst playing the videos would be correct for gaming.

Alternatively, I could ignore the TV settings (other than the basic Brightness/Contrast to get it about right) and use the PC's settings/colour profile to finetune it. This is more fiddly than using the TV's remote and I'm still not really sure about the correct way to play the calibration videos but I guess once I have a colour profile created for the TV, as long as I play games in Windowed mode I'll know that the profile will be used and that the PC is calibrated to the TV. It's generally better to calibrate the TV to the source where possible, as then the source can be left at default settings but PCs are a peculiar case so this might not be possible. In fact, I have two PCs and an Xbox360 sharing one DVI input (via a switcher) on my TV, so I'd probably have to calibrate the TV to the Xbox360 and then use color profiles on each of the PCs to adjust their output to the TV.
   
Reply With Quote
Old
  (#9)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 03-08-2014, 03:05 | posts: 4,320 | Location: Lebanon

Calibrate by TV settings as far as you can go. Adjust contrast without messing up gamma, or causing color clipping, etc... and tweak the RGB channels to eliminate tints and hit a target whitepoint, generally 6500K. I wouldn't recommend doing these sorts of things by eye since you'll just wind up flipping back and forth between this and that, and a colorimeter will be much more accurate and less subjective and variable like the naked eye which can get affected by your sleep, what time of day you're in, the ambient light, etc...

Adjusting the TV settings allows more accurate color for devices that do not have a Color Management System (non-PC devices).

After adjusting the TV settings, an ICC profile is excellent at giving a more precise, multi-point input-output curve that corrects errors across the entire range of RGB and not just how R255,G255,B255 (White) looks, for example. You get multi-point gamma correction, your grayscale lines up properly with no color casts to the steps, your white is lined up, and the primary and secondary colors are calibrated.

MPC should work with ICC profiles. To try that out, set a color tint using Color Sustainer and see if it sticks in MPC (fullscreen mode).

If games and movies content are both made with the same colorspace in mind (e.g. sRGB), then the color adjustments you have made should be valid for both. However, in games, let's say, you might prefer raising black / near-black levels so that enemies are easier to see in the dark.

Quote:
It's generally better to calibrate the TV to the source where possible, as then the source can be left at default settings but PCs are a peculiar case so this might not be possible. In fact, I have two PCs and an Xbox360 sharing one DVI input (via a switcher) on my TV, so I'd probably have to calibrate the TV to the Xbox360 and then use color profiles on each of the PCs to adjust their output to the TV.
Calibrating a TV is calibrating a TV. As long as both devices are outputting content produced with the same colorspace (e.g. sRGB) in mind with the same RGB range, and they are using linear curves by default, they should have the same output, and the TV should be as (in)accurate with both devices.

Insert 'u' wherever appropriate as I have recently realized that Color != Colour. Well, you guys have to settle this once and for all.
   
Reply With Quote
Old
  (#10)
dove
Master Guru
 
Videocard: Powercolor 6950 2GB
Processor: i5 4670k @4.4Ghz
Mainboard: Asus Z97-A
Memory: 16GB Corsair Vengeance LP
Soundcard: Onboard Realtek
PSU: eVGA G2 750W
Default 03-22-2014, 23:11 | posts: 312 | Location: London

Thanks yasamoka. I've only just seen your reply as I don't get notifications from guru3d for some reason

I'm having enough trouble calibrating my TV to just watch TV and play video from my Raspberry Pi at the moment but your advice will be very useful once I find the time to work on calibrating it for gaming with my PC as well
   
Reply With Quote
Old
  (#11)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 04-05-2014, 20:28 | posts: 4,320 | Location: Lebanon

Added Thief (2014) to the list. Game does not fiddle with color profiles whatsoever. Excellent job.
   
Reply With Quote
Old
  (#12)
mbk1969
Ancient Guru
 
mbk1969's Avatar
 
Videocard: GeForce GTX 970
Processor: I7-4930
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard + FiiO E17
PSU: 1000 W
Default 04-19-2014, 09:05 | posts: 3,535 | Location: Moscow, Russia

Quote:
Originally Posted by yasamoka View Post
Calibrate by TV settings as far as you can go. Adjust contrast without messing up gamma, or causing color clipping, etc... and tweak the RGB channels to eliminate tints and hit a target whitepoint, generally 6500K.

After adjusting the TV settings, an ICC profile is excellent at giving a more precise, multi-point input-output curve that corrects errors across the entire range of RGB and not just how R255,G255,B255 (White) looks, for example. You get multi-point gamma correction, your grayscale lines up properly with no color casts to the steps, your white is lined up, and the primary and secondary colors are calibrated.
How ICC profile becomes excellent after adjusting TV (or monitor) settings? Does Windows update profile file with retrieved from device (changed) settings?
I am completely confused at whole conception. After reading wikipedia I get that:
- There are device profiles which describe either device color attributes or color space.
- There are color management modules and operating systems use one of.
- There is file level color management which is used in professional software.
- There is application level which by description at wikipedia means only whether application is aware of color profiles and can use them.

Why application may want to use color profiles? And to switch them? To set its own color space? Device is the same - display/TV.
Why different display modes should have their own profile if device is the same? How resolution and refresh frequency affect colors?

Edit: I understand the professional software needs in color management. As well as inter-devices color transitions. But I don`t when one and the same display is connected to PC.

Last edited by mbk1969; 04-19-2014 at 09:20.
   
Reply With Quote
Old
  (#13)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 04-19-2014, 12:03 | posts: 4,320 | Location: Lebanon

Quote:
Originally Posted by mbk1969 View Post
How ICC profile becomes excellent after adjusting TV (or monitor) settings? Does Windows update profile file with retrieved from device (changed) settings?
Measurements are done that allow an input-output mapping curve to be generated. Let's say we request Red 160 be displayed. This is then measured and it turns out to really be Red 152. The profile declares that whenever you request Red 152, the output is changed to Red 160 and thus you get Red 152 (accurate).

Quote:
I am completely confused at whole conception. After reading wikipedia I get that:
- There are device profiles which describe either device color attributes or color space.
Those are the regular ICC profiles which both characterize a display and include an RGB input-output curve (LUT-based profiles).

Quote:
- There are color management modules and operating systems use one of.
Yes, the system supports loading the gamma ramp (input-output curve) extracted from the ICC profile into the graphics card LUT where transformations are performed on the fly. You can achieve that on Windows with the C++ function SetDeviceGammaRamp(lpvoid ramp) which takes a [3][256] ramp of R,G,B. The color gamut is not modified, however, so I believe this is as accurate as the monitor gets with respect to its own color gamut, which may be less than sRGB, almost matching sRGB, quite greater than sRGB, or almost matching AdobeRGB.

Quote:
- There is file level color management which is used in professional software.
True.


Quote:
- There is application level which by description at wikipedia means only whether application is aware of color profiles and can use them.
That's true. Professional software should be color-aware, and browsers have recently caught up and mostly properly support color management. There are test images on the internet which verify whether your browser supports color management or not.


Quote:
Why application may want to use color profiles? And to switch them? To set its own color space? Device is the same - display/TV.
The way I understand it, this is used for colorspace transformations and such. The gamma ramp ensures the display is now accurate with respect to its own gamut. But let's suppose the display's gamut is close to AdobeRGB, and you would like to disable sRGB content on the internet. The browser will have to support color management so that it can read the tags attached to images which specify that the colorspace of such images is sRGB. Then the correct transformations take place.

An interesting note is that Android itself doesn't have system-wide color management, but Firefox on Android does, by tweaking the config.

Quote:
Why different display modes should have their own profile if device is the same? How resolution and refresh frequency affect colors?
Display updates happen from top to bottom, left to right. A refresh rate of 60Hz means that the display must update the whole panel in 1/60 s, which is 16.67ms. So the display spends all its time updating the panel. A refresh rate of 120Hz means that the whole panel must be now updated in 8.33ms, so less time for each pixel. Branded monitors implement different overdriver algorithms for different refresh rates so they might perform differently between refresh rates in pixel response, offshoot, etc... + you would definitely want faster pixel response times at higher refresh rates to avoid smearing, something which 120Hz TN users might sometimes be bothered with when moving to an overclockable Korean IPS / PLS monitor running at 100Hz+.

The Qnix (Korean monitor) does not seem to have different overdrive algorithms for refresh rates higher than 60Hz. It does not act differently when it is overclocked in those respects, and so one has to deal with panel uniformity issues (on high overclocks), image retention (which doesn't happen in games and movies), and gamma shift. Gamma shift can be corrected by color profiles which is why the Qnix users pay much attention to getting color profiles and applying so that they get normal gamma back at high refresh rates.

Interestingly, the Catleap 2B and Tempest Overlord do not have uniformity issues, image retention, or gamma shift when overclocked, although that is, AFAIK, limited to user reports and I did not take a look at real measurements to verify that there is very little, or no difference. On the other hand, Qnix users mostly easily spot the gamma shift once they give the higher refresh rates a try for extended periods of time.

Quote:
Edit: I understand the professional software needs in color management. As well as inter-devices color transitions. But I don`t when one and the same display is connected to PC.
Inter-device refers to displays, printers, scanners, cameras. Displays use RGB to show color, while printers use CMYK. This means you would need a display profile and a printer profile. You can use the printer profile (transformation?) on your display to show how an image would look like when it is printed. Also, the profiles make sure your devices are matched as closely as possible so that what you shoot, scan, display, or print look as close as possible.

If you find ANY further info on this matter, share them here since I'm confused as well and it is not an easy subject to handle.

Last edited by yasamoka; 04-19-2014 at 12:18.
   
Reply With Quote
Old
  (#14)
mbk1969
Ancient Guru
 
mbk1969's Avatar
 
Videocard: GeForce GTX 970
Processor: I7-4930
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard + FiiO E17
PSU: 1000 W
Default 04-19-2014, 12:55 | posts: 3,535 | Location: Moscow, Russia

Quote:
Originally Posted by yasamoka View Post
Measurements are done that allow an input-output mapping curve to be generated. Let's say we request Red 160 be displayed. This is then measured and it turns out to really be Red 152. The profile declares that whenever you request Red 152, the output is changed to Red 160 and thus you get Red 152 (accurate).
With measuring hardware (and its software) - yes. But Win7 offers display calibration routine with brightness/contrast/gamma petterns ,and every such routine creates new profile with 'sRGBsomething' in name. Is it possible to capture adjustments user does through monitor/TV OSD menu in those profiles? Windows should read current settings from monitor/TV itself to do that (without colorimeter and its software).

Quote:
Originally Posted by yasamoka View Post
That's true. Professional software should be color-aware, and browsers have recently caught up and mostly properly support color management. There are test images on the internet which verify whether your browser supports color management or not.

The way I understand it, this is used for colorspace transformations and such. The gamma ramp ensures the display is now accurate with respect to its own gamut. But let's suppose the display's gamut is close to AdobeRGB, and you would like to disable sRGB content on the internet. The browser will have to support color management so that it can read the tags attached to images which specify that the colorspace of such images is sRGB. Then the correct transformations take place.
Browsers, mediaplayers - it is obvious why they have to cope with color management - they have to show any content. But games show only their own content. Why developers ever bothered to use color management in the game? They don`t need neither color space transitions, nor inter-device transitions. But of course I know nothing about game engines which may have that color space management (just in case).

Quote:
Originally Posted by yasamoka View Post
Display updates happen from top to bottom, left to right. A refresh rate of 60Hz means that the display must update the whole panel in 1/60 s, which is 16.67ms. So the display spends all its time updating the panel. A refresh rate of 120Hz means that the whole panel must be now updated in 8.33ms, so less time for each pixel. Branded monitors implement different overdriver algorithms for different refresh rates so they might perform differently between refresh rates in pixel response, offshoot, etc... + you would definitely want faster pixel response times at higher refresh rates to avoid smearing, something which 120Hz TN users might sometimes be bothered with when moving to an overclockable Korean IPS / PLS monitor running at 100Hz+.
I.e. overdriving may lead to color shifting? If user doesn`t use overdriving or does own generic 60Hz display then he needs no to dive to color profile pool?

Quote:
Originally Posted by yasamoka View Post
Inter-device refers to displays, printers, scanners, cameras. Displays use RGB to show color, while printers use CMYK. This means you would need a display profile and a printer profile. You can use the printer profile (transformation?) on your display to show how an image would look like when it is printed. Also, the profiles make sure your devices are matched as closely as possible so that what you shoot, scan, display, or print look as close as possible.
This is most understandable part of all color management aspects.

Last edited by mbk1969; 04-19-2014 at 12:57.
   
Reply With Quote
Old
  (#15)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 04-19-2014, 13:19 | posts: 4,320 | Location: Lebanon

Quote:
Originally Posted by mbk1969 View Post
With measuring hardware (and its software) - yes. But Win7 offers display calibration routine with brightness/contrast/gamma petterns ,and every such routine creates new profile with 'sRGBsomething' in name. Is it possible to capture adjustments user does through monitor/TV OSD menu in those profiles? Windows should read current settings from monitor/TV itself to do that (without colorimeter and its software).
I'm afraid it is not possible. The monitor adjusts how it displays the content it receives, but it does not report the degree of those differences, nor does it request that the signal sent to it be altered. What you can do, however, is use software that supports DDC/CI and send commands to the monitor to change those settings through software.

Actually, changes done at the display level is the best way to handle things first, as you're not reducing your color palette, or capping your white levels and killing contrast ratio, you're changing things in an analog manner inside your display.

Professional monitors even include there own Color Management Systems with 14-bit LUTs and such, so that you are able to load those input-output transformations inside the monitor itself and not at the graphics card level. Loading at the graphics card LUT reduces the color palette as you're basically mapping 256 values per color to other 256 values, example:
128 --> 125.53
129 --> 126.22
130 --> 127.03

Rounded, these become:
128 --> 126
129 --> 126
130 --> 127

You have lost one step here. This means banding. AMD get around it by dithering from 10-bit:
128 --> 125.50
129 --> 126.25
130 --> 127.00

It then displays 125.50 and 126.25 on an 8-bit display by dithering.


Quote:
Browsers, mediaplayers - it is obvious why they have to cope with color management - they have to show any content. But games show only their own content. Why developers ever bothered to use color management in the game? They don`t need neither color space transitions, nor inter-device transitions. But of course I know nothing about game engines which may have that color space management (just in case).
Games are all made with sRGB in mind, up till now. If you're using a perfect sRGB monitor, calibrated, then any color requested by the game is displayed as-is by the monitor, and the colors the developer has intended to be displayed as displayed accurately on your monitor. All games need to do, when you have an sRGB monitor (or a monitor in sRGB mode) is to simply not reset the color profile loaded in the system (via SetDeviceGammaRamp([linear ramp]) - color profile locking software solve this issue by loading the correct profile back) and not to use the DXGI function SetGammaControl() which allows a fullscreen DX application to completely ignore the color profile set by the system and use its own ramp. In that case, the system profile stays intact, but it is not used.

On AdobeRGB, wide-gamut monitors, games would be displaying oversaturated colors since their intent is sRGB while the display is stretching those colors out to a wider colorspace. In that case, having games be made color-aware is a good idea.

I would think there's clearly an easier way out? Allow compatibility modes in which you specify whether an application to be run is sRGB or AdobeRGB, and let the system take care of it. I don't know the limits of this approach, but it sounds to me like it could work if the transformations aren't so specific to the application being used.


Quote:
I.e. overdriving may lead to color shifting? If user doesn`t use overdriving or does own generic 60Hz display then he needs no to dive to color profile pool?
Overdrive is one thing that needs to change between different refresh rates. I assume there are other variables as well. The vast majority of monitors are inaccurate by default, unless the monitor is professionally and properly calibrated at the factory. Also, displays drift over time, so all displays need calibration if they are to stay accurate.


Quote:
This is most understandable part of all color management aspects.
Hah it surely is, between all the confusing bits and pieces.

Here is a good read:
http://www.argyllcms.com/doc/ColorManagement.html
   
Reply With Quote
Old
  (#16)
mbk1969
Ancient Guru
 
mbk1969's Avatar
 
Videocard: GeForce GTX 970
Processor: I7-4930
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard + FiiO E17
PSU: 1000 W
Default 04-19-2014, 14:22 | posts: 3,535 | Location: Moscow, Russia

Quote:
Originally Posted by yasamoka View Post
Games are all made with sRGB in mind, up till now. If you're using a perfect sRGB monitor, calibrated, then any color requested by the game is displayed as-is by the monitor, and the colors the developer has intended to be displayed as displayed accurately on your monitor. All games need to do, when you have an sRGB monitor (or a monitor in sRGB mode) is to simply not reset the color profile loaded in the system (via SetDeviceGammaRamp([linear ramp]) - color profile locking software solve this issue by loading the correct profile back) and not to use the DXGI function SetGammaControl() which allows a fullscreen DX application to completely ignore the color profile set by the system and use its own ramp. In that case, the system profile stays intact, but it is not used.

On AdobeRGB, wide-gamut monitors, games would be displaying oversaturated colors since their intent is sRGB while the display is stretching those colors out to a wider colorspace. In that case, having games be made color-aware is a good idea.

I would think there's clearly an easier way out? Allow compatibility modes in which you specify whether an application to be run is sRGB or AdobeRGB, and let the system take care of it. I don't know the limits of this approach, but it sounds to me like it could work if the transformations aren't so specific to the application being used.
Well, most probably users have monitors with different color space due to their professional activity. Ans such users know color specific stuff so they can choose how resolve color mismatching in games. I assume game developers have to work with generic user model in mind, which means most generic design decisions. But I suspect console users and PC users belong to different user models.
   
Reply With Quote
Old
  (#17)
Radical_53
Ancient Guru
 
Radical_53's Avatar
 
Videocard: Gainward GTX 1080 GLH
Processor: AMD Ryzen R7-1700X
Mainboard: Gigabyte X370 Gaming 5
Memory: 32GB G.Skill DDR4-3200
Soundcard: Creative SoundBlaster ZXR
PSU: Seasonic X-460 Fanless
Default 04-23-2014, 08:30 | posts: 3,616 | Location: Germany

I just stumbled across something, maybe someone else could comment on this:

When using the "ignorehwgamma" flag in Call of Duty, SweetFX stops working.
From the gamma flag alone the picture is much lighter and the lack of SFX just widens the gap.
Instead of the vibrant, "true" colors I have on my desktop I end up with a washed-out image in-game.
Am I missing something, doing something wrong?
   
Reply With Quote
Old
  (#18)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 04-29-2014, 21:34 | posts: 4,320 | Location: Lebanon

Quote:
Originally Posted by Radical_53 View Post
I just stumbled across something, maybe someone else could comment on this:

When using the "ignorehwgamma" flag in Call of Duty, SweetFX stops working.
From the gamma flag alone the picture is much lighter and the lack of SFX just widens the gap.
Instead of the vibrant, "true" colors I have on my desktop I end up with a washed-out image in-game.
Am I missing something, doing something wrong?
Have you adjusted any gamma sliders in CoD or SweetFX? Setting the flag disables CoD's gamma controls entirely.
   
Reply With Quote
Old
  (#19)
Radical_53
Ancient Guru
 
Radical_53's Avatar
 
Videocard: Gainward GTX 1080 GLH
Processor: AMD Ryzen R7-1700X
Mainboard: Gigabyte X370 Gaming 5
Memory: 32GB G.Skill DDR4-3200
Soundcard: Creative SoundBlaster ZXR
PSU: Seasonic X-460 Fanless
Default 04-30-2014, 08:26 | posts: 3,616 | Location: Germany

Yes, I always lower my gamma in CoD. That, so far, was the expected result of the flag I didn't expect it to disable SweetFX though. The settings I normally use are rather light but add some contrast and vibrancy to the game.
I'd love to start with a color-corrected "zero" and add a touch of SweetFX to give the image a crisp, fresh look.
   
Reply With Quote
Old
  (#20)
mbk1969
Ancient Guru
 
mbk1969's Avatar
 
Videocard: GeForce GTX 970
Processor: I7-4930
Mainboard: Asus p9x79
Memory: G Skill RipjawZ, 16GB
Soundcard: Onboard + FiiO E17
PSU: 1000 W
Default 05-02-2014, 12:55 | posts: 3,535 | Location: Moscow, Russia

Just discovered:
http://download.microsoft.com/downlo...mtConcepts.doc
http://download.microsoft.com/downlo..._ecosystem.ppt
http://download.microsoft.com/downlo..._drvs-apps.ppt
http://download.microsoft.com/downlo...rCaseStudy.doc
http://download.microsoft.com/downlo...system_api.ppt
   
Reply With Quote
Old
  (#21)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 05-03-2014, 21:41 | posts: 4,320 | Location: Lebanon

Excellent, going to read when I finish my finals!
   
Reply With Quote
Old
  (#22)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 05-18-2014, 03:37 | posts: 4,320 | Location: Lebanon

Added GRID 2. Game does not mess with color profiles. Excellent.
   
Reply With Quote
Old
  (#23)
HonoredShadow
Ancient Guru
 
HonoredShadow's Avatar
 
Videocard: MSI 980Ti OC+ASUS Swift
Processor: 2700k@4.8 Noctua NH-U12P
Mainboard: AsRock Z77 Extreme4
Memory: 16GB Corsair 1866mhz
Soundcard: ASUS Xonar DX PCI-E
PSU: 1300W EVGA SuperNOVA
Default 05-20-2014, 09:31 | posts: 4,217 | Location: UK

Does anyone know what is going on with Crysis 3? I thought the colours did not look right. If you run it in a window (just to test) and have the game window focused/clicked then the gamma is 2.2 for all colours. But when you click off the window on the desk top for example you can see that the gamma changes on its own to what you have set in colour sustainer.

Any other way to force the gamma you want?
   
Reply With Quote
Old
  (#24)
yasamoka
Ancient Guru
 
Videocard: 290X CF H2O
Processor: 5820K @ 4.3GHz 1.26V H2O
Mainboard: MSI X99S SLi Plus
Memory: 16GB Crucial DDR4-2133
Soundcard: Audio-GD NFB-11.32 +DT880
PSU: CM Silent Pro Hybrid 1300
Default 05-20-2014, 21:12 | posts: 4,320 | Location: Lebanon

Quote:
Originally Posted by HonoredShadow View Post
Does anyone know what is going on with Crysis 3? I thought the colours did not look right. If you run it in a window (just to test) and have the game window focused/clicked then the gamma is 2.2 for all colours. But when you click off the window on the desk top for example you can see that the gamma changes on its own to what you have set in colour sustainer.

Any other way to force the gamma you want?
I'll test Crysis 3 and report back.
   
Reply With Quote
Old
  (#25)
fagoatse
Member Guru
 
Videocard: nvidia
Processor: haswell
Mainboard:
Memory:
Soundcard:
PSU: 650W
Default 10-20-2014, 21:40 | posts: 139

Stalker series:
I'd write a proper report but as seen here https://github.com/OpenXRay/xray-16/...r_effgamma.cpp
dxgi gets called and color profiles are unfortunately ignored. Pertains all games in the series.
   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com
Copyright (c) 2017, All Rights Reserved. The Guru of 3D, the Hardware Guru, and 3D Guru are trademarks owned by Hilbert Hagedoorn.