Improving UI performance

Carsten Haitzler (The Rasterman) raster at openmoko.org
Mon Aug 25 02:57:57 CEST 2008


On Fri, 22 Aug 2008 17:31:40 +0530 "sparky mat" <max at sparkymat.net> babbled:

seriously - you should work on your knowledge of gtk. qt and at least x and
xlib and so on before tackling "ui performance". i can tell you that knowing
how all these work - the performance is not because x is there... or not. a
"simplified x" will never work, and a window manager is irrelevant there with
performance. a big factor is:

1. aa fonts - this required going to and from video ram as the blending is done
in software (no acceleration) and thus you suffer from latency and throughput
limits as well as computation complexity of blending
2. the themes used for gtk (and qt) that are image heavy and the way this daya
is sent to/from x (and thus video ram).
3. acceleration is not complete with xglamo - but it's probably at the point of
diminishing returns (ie spend a month and get "just a little bit more"). the
major nasties (blit, fill, xv) are done. next major nasty is probably xrender
(which can to some extent be accelerated), but gains will be less here than
blit/fill so it's borderline.

> I was just thinking about the various UI-related layers that are there in
> 2007.2/2008.8/FSO. I understand that the idea is to re-use existing
> technologies and concepts from the desktop world. However, wouldn't a
> single-layer approach make things run a lot faster? Or have a more
> customized / simpler X?
> 
> Pros:
> 1) Faster and lighter UI
> 2) Benefits derived from (1) - like more memory / processing power for
> applications
> 
> Suggestion:
> 
> A tinier X (than KDrive) that does only full-screen applications and
> pop-ups. This would simplify the UI API to a subset of GTK+ / Qt  (??) . The
> reason for this suggestion being that generally mobile applications occupy
> the whole screen and usually just pop-up smaller stuff once in a while.
> Extensive window management is NOT required. Typically the user has 1 or
> more applications opens and alt-tabs between them. He doesn't tile them
> side-by-side etc. That is (usually) not a valid use-case for mobile
> applications.

incorrect. what do you think the virtual keyboard is? it's an application
window! tiled below the main window! what is that bar at the top that holds
gadgets and buttons and in asu slides down? it's a window too! :) no - you
definitely make use of multiple windows at once... definitely. :)

> Disclaimer: I am not well-versed in either of GTK+ or Qt. So some (or all)
> of the suggestions above may be stupid.
> 
> Also, I read somewhere that GTK+ is not quite optimized enough for OpenMoko
> (something about images not being cached, just impacting responsivenes) ?
> Are fixes in progress for these? I would like to help. Please direct me to
> where I should start looking.
> 


-- 
Carsten Haitzler (The Rasterman) <raster at openmoko.org>



More information about the devel mailing list