Re: Updating GUI during long operation

2013-04-26 Thread Kip Warner
On Thu, 2013-04-25 at 20:54 -0600, Michael Torrie wrote: As both Chris and Colomban have state, triggering an event flush isn't going to help. If the events are already getting filed up, trying to flush them isn't going to work. You have to figure out why the events are piling up. Because

Re: Updating GUI during long operation

2013-04-26 Thread Kip Warner
On Thu, 2013-04-25 at 22:18 -0700, Simon Feltman wrote: A brief look at the source and it seems there is nothing calling Gdk.threads_init which I think is needed. Hey Simon. I'm actually calling GObject.threads_init() over in Main.py. I've been told by others that this is enough, whereas

Re: Updating GUI during long operation

2013-04-26 Thread Nicola Fontana
Il Fri, 26 Apr 2013 02:24:01 -0700 Kip Warner k...@thevertigo.com scrisse: On Thu, 2013-04-25 at 22:18 -0700, Simon Feltman wrote: Similarly, use Gdk.threads_add_idle instead of GObject.idle_add for scheduling GUI updates from worker threads. The necessity of these is still somewhat

Re: Updating GUI during long operation

2013-04-26 Thread Colomban Wendling
Le 26/04/2013 03:59, Kip Warner a écrit : On Sat, 2013-04-20 at 18:54 +0200, Colomban Wendling wrote: Just never do something time consuming in the main loop thread. If you don't there should not be any lag. Hey Colomban. The time consuming task is in its own separate thread, but it's

Re: Updating GUI during long operation

2013-04-26 Thread Kip Warner
On Fri, 2013-04-26 at 15:16 +0200, Colomban Wendling wrote: That's weird. However, although I don't know much about Python threading (and another guy in this thread suggests it's not really good), I'm wondering whether your thread couldn't be simply locking stuff used by both GUI and worker

Re: Updating GUI during long operation

2013-04-26 Thread Kip Warner
On Fri, 2013-04-26 at 13:52 +0200, Nicola Fontana wrote: gdk_threads_add_idle() is only a convenient way of calling g_idle_add() without the need of decorating the callback code with a gdk_threads_enter()/gdk_threads_leave() pair:

Re: Updating GUI during long operation

2013-04-26 Thread Simon Feltman
On Fri, Apr 26, 2013 at 6:16 AM, Colomban Wendling lists@herbesfolles.org wrote: That's weird. However, although I don't know much about Python threading (and another guy in this thread suggests it's not really good), I'm wondering whether your thread couldn't be simply locking stuff

Re: Updating GUI during long operation

2013-04-25 Thread Kip Warner
On Sat, 2013-04-20 at 18:54 +0200, Colomban Wendling wrote: Just never do something time consuming in the main loop thread. If you don't there should not be any lag. Hey Colomban. The time consuming task is in its own separate thread, but it's making a GIF animation lag and user interface

Re: Updating GUI during long operation

2013-04-25 Thread Allin Cottrell
On Thu, 25 Apr 2013, Kip Warner wrote: I will try adjusting the animation's framerate and seeing if I can get the worker thread to give a breather to the main thread which seems to be working when using an idle_add() callback to trigger an event flush. I have a situation which might,

Re: Updating GUI during long operation

2013-04-25 Thread Kip Warner
On Thu, 2013-04-25 at 22:53 -0400, Allin Cottrell wrote: I have a situation which might, perhaps, be akin to yours. From the GUI, my app calls an iterative numerical procedure that can be quite time consuming. Without any special treatment, this causes the GUI to appear frozen and

Re: Updating GUI during long operation

2013-04-25 Thread Simon Feltman
On Sat, Apr 20, 2013 at 4:25 PM, Kip Warner k...@thevertigo.com wrote: http://rod.gs/Sio A brief look at the source and it seems there is nothing calling Gdk.threads_init which I think is needed. Similarly, use Gdk.threads_add_idle instead of GObject.idle_add for scheduling GUI updates from

Re: Updating GUI during long operation

2013-04-21 Thread Chris Vine
On Sat, 20 Apr 2013 16:25:50 -0700 Kip Warner k...@thevertigo.com wrote: On Sat, 2013-04-20 at 23:35 +0100, Chris Vine wrote: If you have a main loop running, this is completely unnecessary, unless you are doing something to block the loop, which you shouldn't do. Hey Chris. Although

Re: Updating GUI during long operation

2013-04-21 Thread Chris Vine
On Sun, 21 Apr 2013 11:33:45 +0100 Chris Vine ch...@cvine.freeserve.co.uk wrote: On Sat, 20 Apr 2013 16:25:50 -0700 Kip Warner k...@thevertigo.com wrote: On Sat, 2013-04-20 at 23:35 +0100, Chris Vine wrote: If you have a main loop running, this is completely unnecessary, unless you are

Updating GUI during long operation

2013-04-20 Thread Kip Warner
Hey list, I have a separate thread from the main loop that performs some long and resource intensive operation. The GUI displays an animated GIF while this process takes place via Gdk.PixbufAnimation. Sometimes the animation and the rest of the GUI is very slow to repaint and respond to other

Re: Updating GUI during long operation

2013-04-20 Thread Colomban Wendling
Hi, Le 20/04/2013 18:10, Kip Warner a écrit : Hey list, I have a separate thread from the main loop that performs some long and resource intensive operation. The GUI displays an animated GIF while this process takes place via Gdk.PixbufAnimation. Sometimes the animation and the rest of

Re: Updating GUI during long operation

2013-04-20 Thread Chris Vine
On Sat, 20 Apr 2013 09:10:11 -0700 Kip Warner k...@thevertigo.com wrote: Hey list, I have a separate thread from the main loop that performs some long and resource intensive operation. The GUI displays an animated GIF while this process takes place via Gdk.PixbufAnimation. Sometimes the

Re: Updating GUI during long operation

2013-04-20 Thread Kip Warner
On Sat, 2013-04-20 at 23:35 +0100, Chris Vine wrote: If you have a main loop running, this is completely unnecessary, unless you are doing something to block the loop, which you shouldn't do. Hey Chris. Although your response was not particularly constructive, I'll give you the benefit of the