Re: Snappy GUI response
Owen Taylor <[email protected]>
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 2003-07-03 at 18:10, Keith Packard wrote: > 1) InternAtom -- Qt interns a bunch of atoms at startup time in > one round trip; Gtk+ doesn't bother. That's actually a significant > time savings. "doesn't bother" - well, umm, that's one way of putting it. I do have some code for a similar hack now, that maybe I'll finish up today. > 2) Extensions. Each extension takes at least two round trips to > initialize. Both this and InternAtom are startup times, things so don't really affect interactivity. > 3) GetGeomtry. Applications are curious about where windows are and > the ICCCM doesn't give them enough information about borders and > such. Mozilla spends a lot of time asking where its windows are > on the screen. Figuring out a window manager protocol extension so that GTK+ could always track where a window on the screen is without synchronous roundtrips would definitely be nice, though one round trip per configure isn't going to make a *huge* difference. > While you might think all of these are irrelevant in a non-networked > environment, the fact is that any context switch, whether across a > network, between two processes or between a process and the kernel takes > time. Batching operations between context switches is a good idea in all > environments, and that's where X can actually *beat* kernel window systems > that have very little batching available. > > The only X server graphics operation which has any noticeable effect on > 2D application performance is screen->screen copies -- nothing else even > shows up on the radar in any objective system-wide measurements I've done. One exception to this is terminal output speed, which depending on the terminal implementation can end up being pretty much a pure benchmark of how fast the system can composite AA characters. Regards, Owen