Opened 2 years ago

Closed 5 months ago

#10944 closed feature request (fixed)

ScummVM: Implement High DPI Scaling Warnings for Windows Users

Reported by: CTxCB Owned by: sev-
Priority: normal Component: Graphics
Version: Keywords:
Cc: Game:

Description (last modified by Strangerke)

Starting from v2.1.0, I'd like ScummVM to check if the user's executable is set to allow the Application (instead of System) to override High DPI Scaling Behaviour in Windows, if that's possible to even check via code? And for those that aren't, to put a Warning Message in the Status Window, suggesting that they do so. I'm unsure if other Operating Systems use any similar techniques, but if so, it might be a good idea to implement similar Warning Messages for those too.

I've included example screenshots from a range of different SCI0 games to highlight the issue, with ScummVM running in both System and Application High DPI Scaling, I hope you'll agree that ScummVM suffers noticeable graphics issues when High DPI Scaling is set to System instead of Application (and this becomes especially noticeable when playing games in fullscreen); I believe most users would benefit from such a Warning Message.

Attachments (16)

CI-ApplicationHDS.png (39.4 KB ) - added by CTxCB 2 years ago.
CI-SystemHDS.png (239.6 KB ) - added by CTxCB 2 years ago.
COC-ApplicationHDS.png (28.2 KB ) - added by CTxCB 2 years ago.
COC-SystemHDS.png (150.3 KB ) - added by CTxCB 2 years ago.
HQ-ApplicationHDS.png (31.2 KB ) - added by CTxCB 2 years ago.
HQ-SystemHDS.png (169.9 KB ) - added by CTxCB 2 years ago.
KQIV-ApplicationHDS.png (17.5 KB ) - added by CTxCB 2 years ago.
KQIV-SystemHDS.png (78.6 KB ) - added by CTxCB 2 years ago.
LB1-ApplicationHDS.png (29.0 KB ) - added by CTxCB 2 years ago.
LB1-SystemHDS.png (150.8 KB ) - added by CTxCB 2 years ago.
LSL3-ApplicationHDS.png (29.4 KB ) - added by CTxCB 2 years ago.
LSL3-SystemHDS.png (144.5 KB ) - added by CTxCB 2 years ago.
PQ2-ApplicationHDS.png (39.7 KB ) - added by CTxCB 2 years ago.
PQ2-SystemHDS.png (232.6 KB ) - added by CTxCB 2 years ago.
SQ3-ApplicationHDS.png (22.6 KB ) - added by CTxCB 2 years ago.
SQ3-SystemHDS.png (106.8 KB ) - added by CTxCB 2 years ago.

Download all attachments as: .zip

Change History (20)

in reply to:  description comment:1 by lotharsm, 2 years ago

I'm currently working on this feature. I already figured out how we can check if we are running at HiDPI using the proper SDL2 callbacks. I can't give an ETA for this feature yet, but I'm looking at it.

comment:2 by Strangerke, 2 years ago

Description: modified (diff)

by CTxCB, 2 years ago

Attachment: CI-ApplicationHDS.png added

by CTxCB, 2 years ago

Attachment: CI-SystemHDS.png added

by CTxCB, 2 years ago

Attachment: COC-ApplicationHDS.png added

by CTxCB, 2 years ago

Attachment: COC-SystemHDS.png added

by CTxCB, 2 years ago

Attachment: HQ-ApplicationHDS.png added

by CTxCB, 2 years ago

Attachment: HQ-SystemHDS.png added

by CTxCB, 2 years ago

Attachment: KQIV-ApplicationHDS.png added

by CTxCB, 2 years ago

Attachment: KQIV-SystemHDS.png added

by CTxCB, 2 years ago

Attachment: LB1-ApplicationHDS.png added

by CTxCB, 2 years ago

Attachment: LB1-SystemHDS.png added

by CTxCB, 2 years ago

Attachment: LSL3-ApplicationHDS.png added

by CTxCB, 2 years ago

Attachment: LSL3-SystemHDS.png added

by CTxCB, 2 years ago

Attachment: PQ2-ApplicationHDS.png added

by CTxCB, 2 years ago

Attachment: PQ2-SystemHDS.png added

by CTxCB, 2 years ago

Attachment: SQ3-ApplicationHDS.png added

by CTxCB, 2 years ago

Attachment: SQ3-SystemHDS.png added

comment:3 by CTxCB, 2 years ago

I've included example screenshots from a range of different SCI0 games to highlight the issue, with ScummVM running in both System and Application High DPI Scaling. Microsoft's decision to allow Windows to scale an application itself (often in ways that the application might not have intended to be scaled, or even scaling something already scaled by the application) is stupidly shortsighted and blinkered!

comment:4 by sev-, 5 months ago

Owner: set to sev-
Resolution: fixed
Status: newclosed

This now has been implemented.

Note: See TracTickets for help on using tickets.