Closed Bug 1270589 Opened 8 years ago Closed 8 years ago

File chooser wrong dpi in mixed dpi setup

Categories

(Core :: Widget: Win32, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1254026

People

(Reporter: chutten, Unassigned)

Details

Attachments

(1 file)

Attached image giganticSave.PNG
Firefox 47.0b2 on Windows 10
Primary display is hidpi (2x), external display is lodpi (1x)

STR
1. Ctrl+S

Expected: "Save Page As" dialog to show at appropriate size (a quarter of the screen or so)

Actual: "Save Page As" dialog shows up, filling the screen almost completely.

Happens on latest Nightly as well. Didn't use to happen on release, not sure if it does anymore (Beta overwrote my release install).

Also, if I use https://github.com/bwinton/VerticalTabs, the title bar of the browser window is the incorrect dpi as well. This leads to all sorts of positioning trouble as well.
+:Gijs because I'm told he might be working on this already under a different bug#
I'm not, I just reviewed some frontend stuff that Jonathan wrote... I don't know why the save as dialog would be scaled wrongly - isn't it up to Windows to decide how to scale it? :-\
Flags: needinfo?(jfkthame)
This is bug 1254026. It's basically a Windows "feature" (or, a limitation of the current Windows support for per-monitor DPI). A future version of Windows will offer new API that we can use to get the proper scaling, but for now this is expected behavior.
Status: NEW → RESOLVED
Closed: 8 years ago
Flags: needinfo?(jfkthame)
Resolution: --- → DUPLICATE
Maybe this is a dumb question (which is why I'm asking it here instead of on bug 1254026), but how does Chrome get around this nonsense? They have their own mixed dpi "quirks" (their window tends to not follow the mouse from lodpi->hidpi), but their windows widgets tend to work.
Flags: needinfo?(jfkthame)
Last time I tried, Chrome didn't have support for per-monitor DPI on Windows; has that changed? (If you load https://people.mozilla.org/~jkew/tests/devPixRatio.html, does it show different device pixel ratio values for each monitor?)
Flags: needinfo?(jfkthame)
You're right, it doesn't.

So that's the philosophical difference: Chrome just renders to hidpi and damn the expense (allowing the OS/gfx to handle downscaling and so forth). Firefox tries to act properly, handling multiple displays and dpis itself.

Thanks!
(In reply to Chris H-C :chutten from comment #6)
> So that's the philosophical difference: Chrome just renders to hidpi and
> damn the expense (allowing the OS/gfx to handle downscaling and so forth).

More accurately (I think), it renders according to the system DPI, which is based on whatever is your primary display, and then you get Windows' automatic up- or downscaling for windows on secondary displays with higher or lower DPI respectively.

(Note that after changing the primary display, you have to sign out of Windows and sign in again, before the change to system DPI will take effect.)

Looking closely at the samples of Arial at tiny font sizes in my devPixRatio.html page, you should be able to see the difference between our true-dpi rendering and Chrome's up- or downscaled rendering on a secondary monitor.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: