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.<br><br><b><i>Duncan Coutts <firstname.lastname@example.org></i></b> wrote:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"> On Tue, 2007-11-20 at 15:18 -0800, Gregory Propf wrote:<br>> I'm using the Gtk.timeoutAddFull function to do the animation.<br><br>Are you using the threaded rts? Are you linking the program with<br>-threaded?<br><br>Are you doing the drawing directly in the timeout function or just<br>invalidating the window/widget and letting it get redrawn?<br><br>See
for example the cairo clock demo which animates the hands of the<br>clock every second:<br><br>timeoutAdd (widgetQueueDraw window >> return True) 1000<br><br>In general it is much better to only ever draw to a window or widget<br>during that widget's expose event.<br><br>Duncan<br></blockquote><br><p>
<hr size=1>Get easy, one-click access to your favorites.
<a href="http://us.rd.yahoo.com/evt=51443/*http://www.yahoo.com/r/hs"> Make Yahoo! your homepage.</a>