Re: [gtk-list] Re: GraphicsExpose (was Re: About the About Box)





On Wed, 17 Dec 1997, Owen Taylor wrote:

> As a mere mortal, I currently have (working):
> 
>       gdk_draw_pixmap (widget->window,
> 		       scroll_test_gc,
> 		       widget->window,
> 		       ...)
> 
>       /* Make sure graphics expose events are processed before scrolling
>        * again */
>       
>       while ((event = gdk_event_get_graphics_expose (widget->window)) != NULL)
> 	{
> 	  gtk_widget_event (widget, event);
> 	  if (event->expose.count == 0)
> 	    break;
> 	}
> 
> This works and is correct - though it does require the programmer to
> know to use this recipe when appropriate.  You're approach sounds
> correct, and might give a real performance advantage on slow
> networks. I certainly don't have the time to implement it right now -
> though if you (or anyone else) want to, go ahead. It would be nice to
> have a side-by-side comparison to see if it actually makes a
> noticeable difference.

   If it's working and correct, then I'm going to defer to you. Perhaps 
post-1.0 we can think about optimizing the expose handling some more, but 
for now correctness should be enough.

   A voice in the back of my head tells me that you still need XSync for 
full correctness. Have you tried running it over a modem? That's a good 
way to expose asynchrony bugs. I find that I am able to trigger the bug 
in testgtk's text demo over the modem, but not locally.

Raph



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