[Development] Revisiting high-DPI configuration options

Morten Sorvig Morten.Sorvig at qt.io
Wed Jun 22 10:53:48 CEST 2016


> On 21 Jun 2016, at 15:24, Samuel Stirtzel via Development <development at qt-project.org> wrote:
> 
> 2016-06-21 14:15 GMT+02:00 Shawn Rutledge <Shawn.Rutledge at qt.io>:
>> 
>>> On 20 Jun 2016, at 18:09, Thiago Macieira <thiago.macieira at intel.com> wrote:
>>> 160x90 mm is a valid screen size, correspoding to a 7.2" monitor.
>> 
>> Of course, it’s just suspicious (being a fallback value, apparently), but not impossible.
> 
> Unfortunately it's not a fallback value, instead TV manufacturers
> commonly only set the aspect ratio (in cm) because one EDID for all
> devices is cheaper.
> See bullet point d of Adam Jacksons mail about the EDID -> DPI topic:
> https://lists.fedoraproject.org/pipermail/devel/2011-October/157671.html
> 

I would also like to add that even if you _do_ get a trustable screen size,
using physical DPI as a general purpose solution has flaws:

* Physical sizes do not account for viewing distance, logical DPI/scale
  usually do. For example, a 2x iPhone has a higher pixel density than
  a 2x MacBook. The base Android DPI is 160.

* You actually want some amount of quantization, at least for the general
  desktop use case. I use two 1x class screens with slightly different
  physical DPI. What happens when you move a window from one screen to
  another? If content size is based on physical DPI you get a shift in
  content logical size, and possibly a resize of the window, which is
  unexpected. Similarly windows scaling happens in 25% increments.

Physical DPI is fine as a special purpose solution where the user or developer
is in complete control of the hardware. For Qt I think this translates to that 
we can support using physical DPI, but it can’t be the default. 

Morten







More information about the Development mailing list