Resolution indpendence

Steven J Newbury steve at snewbury.org.uk
Fri Jun 27 10:06:57 PDT 2008


On Fri, 2008-06-27 at 11:51 -0400, Behdad Esfahbod wrote:
> On Fri, 2008-06-27 at 17:41 +0200, Soeren Sandmann wrote:
> > Behdad Esfahbod <behdad at behdad.org> writes:
> > 
> > > On Fri, 2008-06-27 at 16:49 +0200, Soeren Sandmann wrote:
> > > > Behdad Esfahbod <behdad at behdad.org> writes:
> > > > 
> > > > > On Fri, 2008-06-27 at 10:59 +0200, Soeren Sandmann wrote:
> > > > > > The upcoming GNOME will simply set it to 96.
> > > > > 
> > > > > SRSLY?  That would be a regression.  Right now GNOME nicely detects my
> > > > > 114dpi screen and uses right size fonts.  96 would look really
> > > > > small.
> > > > 
> > > > Bah, I knew I shouldn't have posted about this.
> > > > 
> > > > (1) The number is fundamentally meaningless because an X "Screen" can
> > > >     be made up of several physical screens.
> > > 
> > > Oh yeah, but 99.999% of cases, there's one X Screen and one physical
> > > screen.
> > 
> > Majority of cases, yes, but not close to 99.999%. Dual head is not
> > uncommon.
I'm pretty confident that in most cases desktop "Dual head" is composed
of two identical physical screens.

> 
> May not be in computer software companies.  But is quite uncommon in 1)
> laptops on the road, 2) home computers.  Yes, you connect your laptop to
> a screen maybe for a presentation.  Or you connect it to an external
> monitor and switch to it.  Anyway, even 90% is high enough to be worse
> considering.
> 
> 
> > > > (2) The DPI is insufficient to compute any font size anyway because
> > > >     the right one also depends on the distance to the screen. You
> > > >     really don't want 3 point fonts on a projector. You want
> > > >     essentially the same size fonts as on your desktop. 
> > > 
> > > Read my other mail.  Take dpi as dpi-at-arms-distance and everything
> > > makes sense again.  For a projector, assume distance from screen is the
> > > same for the projector and the viewer and you have a fixed dpi
> > > defined.
I would be possible to have a viewing distance scaling factor for the
cases where it makes sense, though it is probably sufficent for this
case to use the primary dpi and project what would appear on the desktop
"as-is".

> > You are assuming here people view different-sized screens at the same
> > distance, but that is just wrong.
> 
> I'm not.  I'm saying that the dpi value you need is the distance
> adjusted value.
> 
> 
> > There is a reason people look at a cell phone closer up than a monitor,
> 
> Do they?  I don't.
Neither do I.  It comes down to ones eyesight acuity.

> 
> > and at a monitor closer up than a movie theater.
> 
> Sure.
> 
> > In fact, I believe people tend to look at screens at
> > the distance that makes the angular resolution similar to what it is
> > at 96 dpi.

This is blatent nonsense.  People read text at a distance that is
comfortable for them.  You are implying that human eyesight is unable
to resolve at better than a 96dpi equilivance.  Perhaps you need a
different lens presciption?

> Not at all.  You can buy the same 15" laptop either with 1024x768
> display or 1600x1200.  Are you suggesting that people use those two
> laptops at different distance??

Or an OpenMoko at 1 inch from your face?

> 
> 
> > > > (3) Monitors often do not report a dpi, and when they do, they are
> > > >     often wrong. Projectors don't have any way of knowing their dpi,
> > > >     so some don't report any, and some claim to be 60" screens.
> > > 
> > > All laptops I've had correctly report their physical size.  We can
> > > detect junk values (resulting in < 50 or > 300 dpi for example and use
> > > some defaults.  Federico implemented that already IIRC).
> > 
> > Consider a 60" TV with a resolution of 1920x1080. This device has a
> > dpi of 30, but if you use that value, you get really tiny fonts and
> > you don't want that because you are looking at it from your couch, not
> > at "arms length".
> 
> HAL sees that it's a TV, assumes a viewing distance of 4m, computes a
> dpi-at-arms-distance value of 30 * 4/.7 = 171dpi.  Very decent.
This may well be sufficient, but it is a hack.  Ideally it would be better
to have a specific "typical viewing distance" value for the hardware device
that the toolkits/font renderer/compositor could pick up and utilize in
relevant contexts.  It's probably too late for the first two however.

> 
> > Your algorithm above would consider it a "junk" value, but there is
> > nothing junk about it. The TV is reporting it's size and resolution
> > correctly.
> > 
> > What *is* junk is attempting to compute stuff that cannot be
> > computed. 
> 
There is nothing here that cannot be computed.  There are certainly
contexts where it may not make sense to treat it in the same way.  The
display pitch (DPI) is a physical hardware feature, what you do with
that may vary, although in the most common case it makes perfect sense
to treat a display in the same way as you would a sheet of paper, or
even multiple sheets of paper! [books have "dual head"! :P]

> Like, trying to be user-friendly?
> 
> > > > (4) You can override it in the control center anyway.
> > > 
> > > That's no reason.  It should Just Work.  And in this case, it has been
> > > Just Working so far.  Just don't break it please.
> > 
> > The "Just Work" solution is to pick 96 dpi because it works in 99.999%
> > of cases. Users can select bigger or smaller fonts if they want to, or
> > they can override the dpi setting.
I really doesnt at all.  As I mentioned it's quite common for people to
run their LCD displays at non-native resolutions in order to work around
the "96dpi is always right" hack.

> > 
> > Believing the X dpi is apparently new in 2.22, so it hasn't been
> > "working" so far.
> 
> Yeah, before that I had to do it manually.  But I believe latest stable
> GNOME works just fine.
With the exception of the cases I mentioned early on in this thread.




More information about the xorg mailing list