[prev in list] [next in list] [prev in thread] [next in thread]
List: gtk-app-devel
Subject: Re: drawing area and motion hint mask
From: Emmanuel Touzery <emmanuel.touzery () free ! fr>
Date: 2009-07-30 21:21:33
Message-ID: 4A720EDD.6090001 () free ! fr
[Download RAW message or body]
Hello,
> That I'm getting more events (not just one, because I never call
> gdk_event_request_motions() or gdk_window_get_pointer() anywhere in my
> code) it seems somehow someone else is calling
> gdk_event_request_motions() or gdk_window_get_pointer() (the examples
> on internet are not really clear on which one to call, or both, maybe
> this changed in the past?).
I guess the problem is kind of solved.
Based on the API documentation I would still not expect to be called
again on a motion event if I don't call gdk_event_request_motions() or
gdk_window_get_pointer(), but in the end I realized that the number of
calls I get is probably not excessive.
The reason the application seemed completely unresponsive and unable to
deal with the events was that it was dealing with the events coming in
the event handler (in the main loop) and the main loop was fully busy
dealing with those events and never actually re-rendered the screen...
I solved that part by adding this line in the event handler:
gdk_window_process_updates (GTK_WIDGET (drawing_area)->window, TRUE);
That way the GUI is reasonnably responsive while still dealing with the
events. Still too slow but the number of events I got is probably not
the problem (my code is probably just plain too slow).
Otherwise I also in the meantime got the same effect I wanted using
"button-press-event" and g_timeout_add() to redraw every X ms on mouse
move but now that I got it working with the pointer motion stuff I'll
see which one I'll pick (gdk_window_process_updates() is not needed when
I use the g_timeout_add() because it gives some breathing time to the
main loop but the motion handler could be more "smooth" i'll see).
I still have performance problems in my drawing and computations but
it's out of scope of this discussion, I'll handle it somehow :-)
Thank you for all the help!
emmanuel
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic