Re: The Heartbreak of Resolution Independence




"Tim Murray" <no-spam@xxxxxxxxxxxx> wrote in message news:sQNUi.7821$b9.7105@xxxxxxxxxxxxxxxxxxxxxxxxx
On Oct 27, 2007, Daniel Johnson wrote:
My faithful readers [1] will recall that of all the features OS X has been
missing, the one I cared about the most was Resolution Independent UI; one
of the reasons I switched back to Windows XP last year was to get this.

This Windows RI touted as being around since 3.1 or so --

Before Windows 3, it was something only a driver could set. I
believe around Win 3 or Win 3.1, it grew an .ini file setting,
so you could change it. In Win95 there was finally a GUI to
set this.

But the technology was there from the beginning. You can run
msexec.exe, the old Win2.0 file manager, on Vista and it will
scale.

this isn't really resolution independence. It's simply small, medium,
and large font for user interface.

It is really resolution independence.

Win32 will scale drawing, fonts and some UI layout.
All at the option of the application, mind- you can
turn all of this off and work in physical terms only.

Win32 will in any event never scale mouse input.
The defaults are to scale UI layout, fonts, but not
drawing.

Further, Win32 scales UI layout at load time only- it
scales dialog templates when it loads them. After
that, all windows and controls are tracked in physical
pixels. That is why input is not scaled.

Now, you may think "aha, it does not scale everything,
so it is not *true* resolution independence!"

But OS X would not have scaled everything either.
It would not scale window size and position data.

It *would* scale control layout within the window,
however, and it would scale input, so it would have
been easier to program to than Win32.

But the Win32 system has one great advantage:
It actually shipped- years ago- and it is, in fact,
widely supported today.

Apples more ambitious system seems to be
having trouble getting off the ground.

it's not really the vector-based object model that will
(hopefully) be in the Mac OS some day.

Don't confuse "vector based" UI with "resolution independent"
UI. They are different things.

OS X and Win32, are both bitmap based: drawing is committed
immediately to a bitmap; if you later decide to scale this you
get a blurry effect. You can, in fact, do just this in Vista as a
workaround for buggy apps, but it's not ideal.

WPF is a vector based UI: it produces an object graph
instead of a bitmap, and this can be rasterized more
than once.

The advantage of this for resolution independence is
that you could have two separate screens at two different
DPIs, and a WPF app could look sharp on both. A Win32
or OS X app would have to be scaled as a bitmap on one
or the other.

Note that using SVG icons or the like does *not* change
this. When you draw those into your window, they are
rendered to pixels, and thereafter will scale the blurry way.

Someone tell me if I'm off base. Not Edwin -- I'd prefer someone who actually
knows something about technology to enlighten me.

You are off base. OS X's proposed RI system was quite
nice, but it wasn't quite as advanced as what WPF
offers.

It was to have been better than Win32's system, but
not fundamentally different.

[snip]

.



Relevant Pages

  • Re: Scaling of data into dc
    ... It should scale up and down, ... why you would set the mapping mode of the memory DC to be the mapping mode of the window ... you set the Viewport extent to be the dimensions of the bitmap. ... CRect; ...
    (microsoft.public.vc.mfc)
  • Getting the functionality of -command with tk_optionMenu (longish)
    ... I am writing a Tcl/Tk program to display a small database. ... I have a tk_optionMenu to choose the table, a scale to pick the row to ... and a text window for the display. ... label .label ...
    (comp.lang.tcl)
  • Re: Getting the functionality of -command with tk_optionMenu (longish)
    ... > display, and a text window for the display. ... > made on the optionMenu I want the scale and text to update, ... the bind commands do not get called at all. ...
    (comp.lang.tcl)
  • Re: 2.6.17: networking bug??
    ... parameters in-turn are inextricably linked to what kind of window ... scale we try to use for connections. ... buffer sizes to fill the pipe. ...
    (Linux-Kernel)
  • Re: The Heartbreak of Resolution Independence
    ... one of the reasons I switched back to Windows XP last year was to ... It is really resolution independence. ... Win32 will scale drawing, ...
    (comp.sys.mac.advocacy)