OK, it actually DOES appear related to the -threaded flag.  I was sure I had 
removed that and still seen the problem but now it seems that taking that out 
is indeed the fix.  Using the -O2 flag is OK.  I guess it's some syncronization 
problem when using the threaded RTS.  Which is a shame because it does seem 
faster that way on my dual core machine.  I guess I need to learn about how 
threading works in ghc.

Duncan Coutts <[EMAIL PROTECTED]> wrote: On Tue, 2007-11-20 at 15:18 -0800, 
Gregory Propf wrote:
> I'm using the Gtk.timeoutAddFull function to do the animation.

Are you using the threaded rts? Are you linking the program with
-threaded?

Are you doing the drawing directly in the timeout function or just
invalidating the window/widget and letting it get redrawn?

See for example the cairo clock demo which animates the hands of the
clock every second:

timeoutAdd (widgetQueueDraw window >> return True) 1000

In general it is much better to only ever draw to a window or widget
during that widget's expose event.

Duncan


       
---------------------------------
Get easy, one-click access to your favorites.  Make Yahoo! your homepage.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to