Re: Snappy GUI response
Havoc Pennington <[email protected]>
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Jul 03, 2003 at 01:34:04PM -0700, David Jeske wrote: > IMO, a bigger contributing factor is that the X design does not have > application performance as its number one objective, Personally, I think the biggest contributing factor is that not enough people run and publish profiles and analysis of real-world specific UI interactions and their performance. In part this is due to lack of good measurement tools, but there are some useful tools out there. The results of a good profile are almost always surprising and almost always show places that are quite possible to improve. Vague general statements about X or the kernel or toolkits don't get us anywhere, though. There are easily 10 million lines of code involved in the whole stack of software leading to rendering a web page; guessing which lines are important is silly. We can give you solid fact-based info on which bits of GTK+ tend to show up in profiles, but I don't know that we have such info for the system as a whole. It's very important to focus on specific interactions, such as "opening the start menu" or "launching mozilla" or "resizing opaquely" rather than trying to talk about "overall snappiness" as well. An interesting effort might be to carefully document every layer of code and what it does going from clicking the start menu button to the menu coming up - documenting the path through the toolkit, Xlib, X server, kernel, etc. and all the process switches and abstraction layers you go through. If you could do the same on Windows (hard without source code!), you might be able to create an interesting comparison. If you did this for a number of different interactions, it might be even more interesting. It's also important to keep in mind that effects such as flicker and "tricks" such as progress indication can create an illusion of speed or slowness that isn't really accurate. This illusion can even vary by person; some people seem to interpret flicker as "slow to redraw" and some seem to interpret it as "rapidly doing lots of work" Havoc