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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.