screenshot renders in corrected colors with high-level API enabled

0 votes
asked Jul 23, 2017 by ouk

Hi Daniel,

I've noticed that when Iris is running with high-level API enabled, whenever I take a screenshot, color-correction is applied to the screenshot.

This does not happen when Iris is paused or when using the low-level API (the high level API is the reason I'm using Iris vs f.lux as I have a DisplayLink USB monitor as a secondary monitor).

Here is a screenshot highlighting the issue. The 1st screenshot (displayed in Paint) has been taken with Iris in automatic mode and has been color-corrected, the actual posted screenshot has been taken with Iris in paused mode and shows as expected with no dimming / color correction.

Thanks in advance for looking into this,

ouk

2 Answers

0 votes
answered Jul 24, 2017 by danielng01 (24,410 points)
This is expected, since the low-level API is changing things down the graphics pipeline and Windows doesn't support images.

Same happens with f.lux
commented Jul 24, 2017 by ouk
> the low-level API is changing things down the graphics pipeline

You mean, the high-level API?

> Same happens with f.lux

Hum, no. With f.lux the screenshots are always non-color-corrected. But f.lux does not have an high-level API mode anyway. f.lux behaves exacly as Iris when Iris uses the low-level API. That's just when using the high-level API that the colored screenshot issue arises.

Giving it a second thought I'd suspect it's not a straightforward fix, because there is probably no way to prevent windows from including color-correction in screenshots. Unless it's possible to intercept some sort of 'print screen' event and revert the color correction on the picture itself once the screenshot has been taken, but I would not know how to actually do it.
commented Jul 24, 2017 by danielng01 (24,410 points)
I don't see a point in fixing this at the moment.
Most people don't use DisplayLink and High-level API anyway
0 votes
answered Sep 17 by danielng01 (24,410 points)
The way to fix this is to use low-level color API

But low-level color API doesn't work with USB monitors

Otherwise, low-level color API is faster and uses less CPU
Welcome to Iris Q&A Forum, where you can ask questions and receive answers from other members of the community.

Return to the Iris website from this link: http://iristech.co
...