LWN.net Logo

Constant UI responsiveness

Constant UI responsiveness

Posted Feb 27, 2009 8:14 UTC (Fri) by eru (subscriber, #2753)
In reply to: Constant UI responsiveness by nlucas
Parent article: CrunchBang Linux 8.10

Anti-aliased fonts, for starters..

OS/2 already had scalable fonts (Adobe's font manager), not sure how much antialiasing would add to that. It is true my old machine had a 8-bit-colour display and the resolution was 800x600, if I recall correctly. Compared to it, my current 24-bit, 1280x1024 pixel display needs about 10 times more memory for the display. Possibly many off-screen copies of images like icons etc. have with a similar ratio. But I don't think that alone would justify all of the increased RAM requirement.


(Log in to post comments)

Constant UI responsiveness

Posted Feb 27, 2009 9:03 UTC (Fri) by farnz (guest, #17727) [Link]

When doing your calculations, remember that anti-aliasing increases the number of pixel values to calculate, and adds a stage to reduce back down to the physical pixels. In a TV targeted font rendering system I worked with, the manufacturer estimated that they calculated 16 logical pixels for every physical pixel.

Responsiveness has improved for me (although I've been buying more expensive machines over time), but I've also gone from 800x600x8bit (so just under 500kiB of frame buffer to fill) to 1440x900x32bit (so nearly 5MiB of frame buffer to fill), and switched on anti-aliasing, driving the new figure up to 40MiB of pixel data to calculate in the worst case, assuming the numbers from my past still apply.

The big difference I've noticed is not responsiveness when idle (which has always been beyond my ability to measure), but responsiveness under load. Instead of having my machine grind to a halt for 30 seconds when I print a photo, or compile software, I get to continue working unaffected, and background tasks complete faster - this is a win/win for me.

Constant UI responsiveness

Posted Feb 27, 2009 9:10 UTC (Fri) by nlucas (subscriber, #33793) [Link]

By being anti-aliased it means they have to "alpha-blend" the character bitmap with the background and foreground color, which is several times slower than the simple case they had to do before. I don't believe this was used on 8-bit color displays, as it would add a "dithering" step.

Scalable fonts just add a step in the generation of the characters, which can then be put in cache and only hurt performance the first time they are generated. And some scalable formats included pre-generated bitmaps for the common sizes. Windows would happily return a font of this already generated sizes, instead of generating a new one, if the size we wanted was close enough.

Anyway, just to point out one of the many things we now take for granted that are possible because we have the CPU power, and the memory, for it.

Constant UI responsiveness

Posted Mar 1, 2009 5:56 UTC (Sun) by eru (subscriber, #2753) [Link]

Anti-aliased text would not really be needed much if the Linux font scaling would work better (like as well as in Windows 3.1). The big obstacle here is of course the infamous software patent that prevents FreeType from working as well as it could. Another is the quality of free fonts, until very recently.

In the past, I found the display looking much better for me, if I recompiled FreeType with the "illegal" bits of code enabled, and then turned antialiasing off. Without this the letters would be irritatingly fuzzy. Lately I have not bothered, mainly because larger display resolutions make the antialiasing fuzz less offensive.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds