Re: Attacking round trips



On Sat, 2003-07-05 at 03:04, Soeren Sandmann wrote:
> On Sat, 2003-07-05 at 01:23, Owen Taylor wrote:
> 
> > I spent most of today finishing up some work I had done to cut
> > down on GTK+ roundtrips, especially on startup. The changes,
> > test case, and a detailed analysis of the remaining roundtrips
> > are attached.
> 
> Good stuff. Some other roundtrips I have noticed:
> 
> 	- gdk_get_pointer()
> 
> There are 67 calls to gdk_get_pointer() in gtk+. Would it be worthwhile
> to turn off the hint mask and doing motion compression instead?

Yes, I expect so. I've been looking a lot at DND on a big latency
connection, and you see two problems:

 A) QueryPointer roundtrips hurt

 B) When DND starts up, it handles a bunch of motion events from 
    the interval between the where the drag threshold is crossed 
    and where the grab goes into effect that were generated
    without MotionHint, and the fact that those don't get compressed
    causes obvious problems.
    
> 	- gdk_flush() in gtkplug.c and gtksocket.c
> 
> I saw those on a profile of the gnome panel start menu popup using the
> wall time profiler in memprof. It looks like the grabnotify is
> propagated to each applet requiring a roundtrip for each. I'm not sure
> if or how they can be fixed.

A lot of them could be fixed with the _gdk_x11_send_xevent_async()
that I added to gdkasync.c if we exported that to GTK+. (Using
a NULL callback, since we don't care if the send events succeeed
in most cases in gtkplug.c/gtksocket.c)

Regards,
						Owen





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]