Helion-Engine / Helion

A modern fast paced Doom FPS engine
GNU General Public License v3.0
86 stars 9 forks source link

screenshots taken via system printscr show old screen #541

Closed 72hr closed 8 months ago

72hr commented 8 months ago

0.9.2.5 Windows, let me know if you need GPU/driver info

Since the actual printscr bind for screenshots works fine this is not a big deal, but it could be an issue when in menus where the screenshot bind doesn't trigger.

If I'm in fullscreen, whenever I take a screenshot at the system level (alt+printscr, or printscr when in a menu), the screenshot returned seems to always show whatever was visible at the point I last alt-tabbed into (or out of?) the game.

72hr commented 8 months ago

I noticed this in DSDA as well and tried some more games, and some have the behavior and some don't so I'm guessing it's something to do with the way Windows does some kinds of fullscreen and not really a Helion issue so I'll close this

nstlaurent commented 8 months ago

I think this happens if the game is using exclusive fullscreen from Windows (which we are). Windows introduced a change since Windows 10 where windows are all double buffered by default and need to make this special request to override. Some games don't do this but will suffer a perceivable render lag because of the double buffering. Windows appears to rely on it's double-buffering for showing window previews and screenshots.