LGTVCompanion icon indicating copy to clipboard operation
LGTVCompanion copied to clipboard

What is the point of the new user idle "turnOffScreen" feature?

Open dechamps opened this issue 3 years ago • 3 comments

I see the latest version has a new feature to send the TV a turnOffScreen command if the user has been idle for some period of time.

I don't understand the point of the feature. Can't the exact same result be achieved simply by using a blank Windows screensaver?

image

The release notes mention "enhanced burn-in protection and power savings".

For burn-in, my understanding is that displaying a black screen (as the Windows screensaver does) is enough to prevent burn-in (is there evidence to the contrary?).

For "power savings", I just checked with a power meter: my G1 uses the exact same amount of power (56 W) when using turnOffScreen, compared with Windows sending a black screensaver to the TV. The only way to make the TV use less power is to turn it off completely (3.5 W).

So in light of the above, I'm genuinely curious what use case one could possibly have for this new feature? From where I'm standing, all it does compared to the screensaver is add latency to the screen wakeup.

dechamps avatar Jan 13 '22 19:01 dechamps

Hi! This option enables, as you mention, the user idle detection in LGTV companion, which triggers in the absence of user input from keyboard, mouse and controllers. The difference when compared to both the screensaver and power events is that those OS implemented power saving functions utilize more variables for determining user idle/busy states, which may be considered a bit obscured and which can also be programmatically "overridden" by f e SetThreadExecutionState(). You may have come across f e games, media players, production software or your web browser preventing screensavers, sleep etc. I've inadvertently had this happen on several occasions, with the result that my display has shown static images for hours when the screensaver did not kick in, and the PC did not go to sleep - hence this feature. Interesting note about the power meter, I would have guessed it to be very similar in power consumption for the cases stated as the TV is not powered down, it's just not showing anything in both cases which effectively reduce power consumption and pixel-wear, as you know.

So in short the feature is a more aggressively configured and predictable idle detection and screen blanking feature, with the drawback, compared to the screensaver, of a rather minimal wakeup delay ranging from 2-200ms + network latency (due to my desire to prevent accidental wakeup f.e. by a miniscule movement of the mouse due to vibration from passing car or the cat bumping into the desk) but still a lot quicker than from traditional power off, or even as compared with most regular PC monitors wake up from standby. Personally my use case is that of appreciating that I can step away from f.e any fullscreen game or cubase without worrying about whether the screensaver will kick in, which wasn't 100% the case previously.

JPersson77 avatar Jan 13 '22 20:01 JPersson77

Okay, that does make some sense, thanks!

You may have come across f e games, media players, production software or your web browser preventing screensavers, sleep etc.

Understood. Though personally I wouldn't use this feature, because I wouldn't want it to kick in while I'm watching a movie :) But I see your point.

Ideally, Windows software should be designed such that it would use "display force on" APIs such as SetThreadExecutionState() as conservatively as possible. For example my video player does use it very adequately: it only keeps the display on if the video is actually playing, not when it is paused (even in fullscren). However I do agree that there is likely a lot of software out there that abusively keeps the display on without a good reason.

What I would suggest is clarifying in the docs (such as the release notes) that the main difference between the Windows screensaver and the LGTVCompanion feature is that the latter only considers user input and cannot be disabled by applications.

dechamps avatar Jan 13 '22 20:01 dechamps

Yep, agree and confirm.

Good idea! I'll update the notes to keep things as clear as possible.

Thanks for your contributions Etienne it is much appreciated :)

JPersson77 avatar Jan 13 '22 20:01 JPersson77

Some additional control over the user idle mode was added in v1.9.0 fyi

JPersson77 avatar Jan 01 '23 09:01 JPersson77