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