Problem with auto scaling on different resolution screens

Things you’d like to miss in the future...
Forum rules
:warnred20: :warnred20: :warnred20: :warnred20: :warnred20: READ THIS AND DO IT!!! :warnred20: :warnred20: :warnred20: :warnred20: :warnred20:

:info: Please include the following information:
1) Your XYplorer Version (e.g., v28.00.0801)
2) Your Windows Version (e.g., Win 11)
3) Your Screen Scaling Percentage (e.g., 125%).

:info: We recommend adding your Windows Version and Screen Scaling Percentage to the Location field in your Profile or to your Signature. That way, you only have to type them once.

:info: When attaching an Image, please use the Attachment tab at the bottom of your post and click "Add files".

:warnred20: :warnred20: :warnred20: :warnred20: :warnred20: READ THIS AND DO IT!!! :warnred20: :warnred20: :warnred20: :warnred20: :warnred20:
twno1
Posts: 13
Joined: 13 Nov 2019 22:19

Re: Problem with auto scaling on different resolution screens

Post by twno1 »

The options are slightly different, so I clicked "Change high DPI settings".

Image

And go into this window, I checked "Override high DPI behavior. Scaling performed by:", then chose "System".

Image

Finally, it fixed the problem!! :tup: :tup:

However, another small problem comes up, it'd look slightly blur on the text.
But I think it's fine for me.

Image

The move-to-other-monitor logs are below.

Code: Select all

Debug Log
XYplorer 20.60.0002  -  Windows 10 Professional, 64-bit, Release 1809, Build 17763.864  -  2019-11-22 04:39:01.949

XYplorer 20.60.0002  -  Windows 10 Professional, 64-bit, Release 1809, Build 17763.864  -  2019-11-22 04:39:01.949
----------------------------------------------------------------------------------------------------

2019-11-22 04:38:54.438 >> WM_ENTERSIZEMOVE, monitor before: 1, monitor now: 1
2019-11-22 04:38:55.027 >> WM_EXITSIZEMOVE, monitor before: 1, monitor now: 0
2019-11-22 04:38:57.282 >> WM_ENTERSIZEMOVE, monitor before: 0, monitor now: 0
2019-11-22 04:38:58.321 >> WM_EXITSIZEMOVE, monitor before: 0, monitor now: 1
Thanks a lot for helping!!!

admin
Site Admin
Posts: 65042
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Problem with auto scaling on different resolution screens

Post by admin »

Still don't understand why my fix does not work.

1) When you actively resize the too-big-window, does it shrink then to normal size?
2) Does the screen; command now always show the correct screen DPI of each monitor?

twno1
Posts: 13
Joined: 13 Nov 2019 22:19

Re: Problem with auto scaling on different resolution screens

Post by twno1 »

1) When you actively resize the too-big-window, does it shrink then to normal size?
Do you mean after adjusting DPI settings, moving XY to second screen would become same size as main screen size?
Then, yes.
2) Does the screen; command now always show the correct screen DPI of each monitor?
I don't know the info below is the correct screen DPI or not.

Main screen:

Code: Select all

Screen

Virtual Screen: (-1920, 0) - (6840, 2024)

Screen.Width (screenW) = 2560 (2560)
Screen.Height (screenH) = 1440 (1440)
Current Monitor: 2 (Primary)
Current Work Area: (0, 0) - (2560, 1359)

Number of Monitors: 3
Monitor 1 Area:      (3840, 104) - (4920, 2024)
Monitor 1 Area Work: (3840, 104) - (4920, 1943)
Monitor 2 Area:      (0, 0) - (2560, 1440)
Monitor 2 Area Work: (0, 0) - (2560, 1359)
Monitor 3 Area:      (-1920, 87) - (0, 1167)
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (2560, 1359)
GetCursorPos = 1521, 282
Main Window: (1419, 170) - (2414, 1069)

Screen DPI: 96 (100%), twx: 15, stretch: 1
Screen Color Depth: 32
DPI awareness: Unaware

Second screen:

Code: Select all

Screen

Virtual Screen: (-1920, 0) - (6840, 2024)

Screen.Width (screenW) = 2560 (2560)
Screen.Height (screenH) = 1440 (1440)
Current Monitor: 1 (Secondary)
Current Work Area: (3840, 104) - (4920, 1943)

Number of Monitors: 3
Monitor 1 Area:      (3840, 104) - (4920, 2024)
Monitor 1 Area Work: (3840, 104) - (4920, 1943)
Monitor 2 Area:      (0, 0) - (2560, 1440)
Monitor 2 Area Work: (0, 0) - (2560, 1359)
Monitor 3 Area:      (-1920, 87) - (0, 1167)
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (2560, 1359)
GetCursorPos = 4222, 641
Main Window: (3932, 542) - (4927, 1441)

Screen DPI: 96 (100%), twx: 15, stretch: 1
Screen Color Depth: 32
DPI awareness: Unaware


admin
Site Admin
Posts: 65042
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Problem with auto scaling on different resolution screens

Post by admin »

No, I meant in the original state, without that XYplorer.exe Properties fix.

1) I meant when you drag the XYplorer window to the right screen and it looks too big, when you then resize the window will it adjust to the correct size?

2) The "Screen DPI: " is shown near the bottom of the output of the screen command.

twno1
Posts: 13
Joined: 13 Nov 2019 22:19

Re: Problem with auto scaling on different resolution screens

Post by twno1 »

1) I meant when you drag the XYplorer window to the right screen and it looks too big, when you then resize the window will it adjust to the correct size?
When I resize the window, the text size remains big.
2) The "Screen DPI: " is shown near the bottom of the output of the screen command.

Code: Select all

Screen

Virtual Screen: (-1920, 0) - (6840, 2160)

Screen.Width (screenW) = 3840 (3840)
Screen.Height (screenH) = 2160 (2160)
Current Monitor: 2 (Primary)
Current Work Area: (0, 0) - (3840, 2038)

Number of Monitors: 3
Monitor 1 Area:      (3840, 104) - (4920, 2024)
Monitor 1 Area Work: (3840, 104) - (4920, 1943)
Monitor 2 Area:      (0, 0) - (3840, 2160)
Monitor 2 Area Work: (0, 0) - (3840, 2038)
Monitor 3 Area:      (-1920, 87) - (0, 1167)
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (3840, 2038)
GetCursorPos = 2045, 542
Main Window: (1920, 411) - (3271, 1521)

Screen DPI: 144 (150%), twx: 10, stretch: 1.5
Screen Color Depth: 32
DPI awareness: Per monitor

Code: Select all

Screen

Virtual Screen: (-1920, 0) - (6840, 2160)

Screen.Width (screenW) = 3840 (3840)
Screen.Height (screenH) = 2160 (2160)
Current Monitor: 1 (Secondary)
Current Work Area: (3840, 104) - (4920, 1943)

Number of Monitors: 3
Monitor 1 Area:      (3840, 104) - (4920, 2024)
Monitor 1 Area Work: (3840, 104) - (4920, 1943)
Monitor 2 Area:      (0, 0) - (3840, 2160)
Monitor 2 Area Work: (0, 0) - (3840, 2038)
Monitor 3 Area:      (-1920, 87) - (0, 1167)
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (3840, 2038)
GetCursorPos = 4141, 636
Main Window: (3830, 503) - (4893, 1508)

Screen DPI: 144 (150%), twx: 10, stretch: 1.5
Screen Color Depth: 32
DPI awareness: Per monitor


admin
Site Admin
Posts: 65042
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Problem with auto scaling on different resolution screens

Post by admin »

Strange! I'm done for today, thanks. Tomorrow I'll restart thinking...

admin
Site Admin
Posts: 65042
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Problem with auto scaling on different resolution screens

Post by admin »

I tried another fix. It's tricky since MS wraps every app in several layers of smartness to protect it from the truth, depending on various system settings.

The screen; command should correctly report the specs of the monitor XYplorer is currently running on, independently of where it started. If not even this works we still have a long way to go...

You can call that screen; command now with a parameter 1 that tells it to update some cached settings. Should not be necessary if all works as planned but who knows:

Code: Select all

screen 1;
NOTE: All the above is meaningless when you use the XYplorer.exe Properties setting (Overwrite high DPI scaling behavior...), so please turn that back to normal before testing.

twno1
Posts: 13
Joined: 13 Nov 2019 22:19

Re: Problem with auto scaling on different resolution screens

Post by twno1 »

It looks like the same..... :(

Code: Select all

Screen
XYplorer 20.60.0003  -  Windows 10 Professional, 64-bit, Release 1809, Build 17763.864

Virtual Screen: (-1920, 0) - (6840, 2160)

Screen.Width (screenW) = 3840 (3840)
Screen.Height (screenH) = 2160 (2160)
Current Monitor: 1 (Primary)
Current Work Area: (0, 0) - (3840, 2038)

Number of Monitors: 3
Monitor 1 Area:      (0, 0) - (3840, 2160) = 3840x2160
Monitor 1 Area Work: (0, 0) - (3840, 2038)
Monitor 2 Area:      (3840, 104) - (4920, 2024) = 1080x1920
Monitor 2 Area Work: (3840, 104) - (4920, 1943)
Monitor 3 Area:      (-1920, 87) - (0, 1167) = 1920x1080
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (3840, 2038)
GetCursorPos = 2012, 602
XY Main Window: (1817, 475) - (3334, 1548) = 1517x1073

Screen DPI: 144 (150%), twx: 10, stretch: 1.5
Screen Color Depth: 32
DPI awareness: Per monitor

Code: Select all

Screen
XYplorer 20.60.0003  -  Windows 10 Professional, 64-bit, Release 1809, Build 17763.864

Virtual Screen: (-1920, 0) - (6840, 2160)

Screen.Width (screenW) = 3840 (3840)
Screen.Height (screenH) = 2160 (2160)
Current Monitor: 2 (Secondary)
Current Work Area: (3840, 104) - (4920, 1943)

Number of Monitors: 3
Monitor 1 Area:      (0, 0) - (3840, 2160) = 3840x2160
Monitor 1 Area Work: (0, 0) - (3840, 2038)
Monitor 2 Area:      (3840, 104) - (4920, 2024) = 1080x1920
Monitor 2 Area Work: (3840, 104) - (4920, 1943)
Monitor 3 Area:      (-1920, 87) - (0, 1167) = 1920x1080
Monitor 3 Area Work: (-1920, 87) - (0, 1086)

Startup Work Area: (0, 0) - (3840, 2038)
GetCursorPos = 4172, 618
XY Main Window: (3892, 492) - (5409, 1565) = 1517x1073

Screen DPI: 144 (150%), twx: 10, stretch: 1.5
Screen Color Depth: 32
DPI awareness: Per monitor
I use "No-Install Package", I don't know if it is relevant.

admin
Site Admin
Posts: 65042
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Problem with auto scaling on different resolution screens

Post by admin »

Uploaded another "fix". If that fails too, I'm out of ideas for now.

Thanks for testing! :tup:

twno1
Posts: 13
Joined: 13 Nov 2019 22:19

Re: Problem with auto scaling on different resolution screens

Post by twno1 »

Still the same result...
Thanks for your help!! :)

admin
Site Admin
Posts: 65042
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Problem with auto scaling on different resolution screens

Post by admin »

Just to make sure: you did not use the NoAutoScaling tweak?

twno1
Posts: 13
Joined: 13 Nov 2019 22:19

Re: Problem with auto scaling on different resolution screens

Post by twno1 »

admin wrote: 23 Nov 2019 10:56 Just to make sure: you did not use the NoAutoScaling tweak?
I didn't install other tweaks, just keep the original settings.

twno1
Posts: 13
Joined: 13 Nov 2019 22:19

Re: Problem with auto scaling on different resolution screens

Post by twno1 »

You can recreate this situation by changing second screen's resolution if you want to test by yourself.

admin
Site Admin
Posts: 65042
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: Problem with auto scaling on different resolution screens

Post by admin »

Yep, working on it...

StevenDB
Posts: 2
Joined: 21 Nov 2019 08:47

Re: Problem with auto scaling on different resolution screens

Post by StevenDB »

admin wrote: 21 Nov 2019 11:10 Ok, thanks for that info.

Now I just need to know exactly which messages are sent by Windows when the app moves over to the other monitor. So I added some logging. In the next beta version (v20.60.0001) please do your inter-monitor move, then paste this into the XY address bar, press enter, and post the results:

Code: Select all

dlog;
Don, maybe I'm a noob, but can't seem to get any info by pasting "dlog;"

Steven

Post Reply