AW: What happens when enabling Hi-DPI scaling?
Mark Waddingham
mark at livecode.com
Tue Oct 27 15:22:42 EDT 2015
On 2015-10-27 14:56, Tiemo Hollmann TB wrote:
> Thanks Mark for jumping in!
> If I understood you correct, things even get crisper and not blurred
> with
> Hi-DPI enabled on a Hi-DPI monitor and keep as they are on a standard
> monitor. So my conclusion would be to enable it always by standard
> (since it
> is anyway standard on OS X)
Yes - this is the ideal situation :)
> What could be a reason not to enable Hi-DPI scaling on Windows or with
> other
> words, why is it an option?
Ah - well - the APIs we currently use on Windows are a bit of a dinosaur
in terms text rendering. We still use 'GDI' which has the unfortunate
problem that text does not linearly scale.
What this means is that the size of a piece of text rendered with GDI at
scale factor 1.0 is not necessarily the same as the same text rendered
at scale factor 2.0. This is down to the TrueType hinting and other
methods it employs which you cannot actually turn off (this hinting can
be quite aggressive - its goal was to ensure text rendered at low screen
resolutions was still highly readable without anti-aliasing - and tends
to alter the horizontal width to varying degrees for different fonts).
We've not actually managed to find a way to solve this problem 'well'
yet - particularly as we still have to support XP (given its market
share is still quite considerable!).
So, you do need to check your app in Hi-DPI mode on windows (by
adjusting the text scale factor in settings, as previously mentioned)
and make sure it still looks the way you need it to.
You *can* try and set the 'useIdealLayout' property of the stack if
there are visual problems - this will make the text render in the
appropriately 'linearly scalable' way. However, it does have a
performance and visual difference impact - the text will be slightly
fuzzier, and will take a little longer to render.
Hope this helps!
Warmest Regards,
Mark.
--
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
More information about the use-livecode
mailing list