<div dir="ltr">Here's my log after pasting the source into command-line racket 6.0, Ubuntu 12.04 32-bit:<br><div><br>to-draw at 1649<br>to-draw: cpu time: 0 real time: 2 gc time: 0<br>on-key a at 2934<br>to-draw at 2934<br>
to-draw: cpu time: 0 real time: 2 gc time: 0<br>on-key s at 2970<br>to-draw at 2970<br>to-draw: cpu time: 4 real time: 3 gc time: 0<br>on-key d at 3044<br>on-key f at 3044<br>to-draw at 3045<br>to-draw: cpu time: 0 real time: 0 gc time: 0<br>
to-draw at 3069<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br>on-key a at 3198<br>on-key s at 3198<br>to-draw at 3199<br>to-draw: cpu time: 4 real time: 3 gc time: 0<br>to-draw at 3329<br>to-draw: cpu time: 4 real time: 1 gc time: 0<br>
to-draw at 3392<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br>on-key g at 3430<br>on-key j at 3430<br>on-key k at 3430<br>to-draw at 3430<br>to-draw: cpu time: 4 real time: 1 gc time: 0<br>to-draw at 3467<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br>
on-key a at 3504<br>on-key l at 3504<br>to-draw at 3505<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br>to-draw at 3547<br>to-draw: cpu time: 4 real time: 1 gc time: 0<br>to-draw at 3572<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br>
on-key h at 3602<br>to-draw at 3602<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br>on-key k at 3659<br>on-key ; at 3659<br>to-draw at 3659<br>to-draw: cpu time: 4 real time: 3 gc time: 0<br>to-draw at 3689<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br>
to-draw at 3725<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br>to-draw at 3776<br>to-draw: cpu time: 0 real time: 1 gc time: 0<br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 21, 2014 at 10:00 AM, Laurent <span dir="ltr"><<a href="mailto:laurent.orseau@gmail.com" target="_blank">laurent.orseau@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>I have a 2htdp/universe program that used to run fast enough a few months ago, but now it is very slow and not usable.<br>
</div>The slowness seems to be because of the on-screen rendering, and not because of the generation of the image.<br>
<br></div>Here is a stripped-down version that shows this behavior:<br><div><div><div><a href="https://gist.github.com/Metaxal/11142941" target="_blank">https://gist.github.com/Metaxal/11142941</a><br><br></div><div>In the following log, you see that the `on-key` events are very close one to the other (in milliseconds after the beginning of the program), but the corresponding `to-draw` events are separated by more than a second, even though generating the image (cpu time) takes almost no time:<br>
</div><div><br>on-key a at 6906<br>on-key u at 6912<br>on-key i at 6912<br>on-key e at 6913<br>to-draw at 6913<br>to-draw: cpu time: 4 real time: 3 gc time: 0<br>to-draw at 8598<br>to-draw: cpu time: 4 real time: 2 gc time: 0<br>
to-draw at 11948<br>to-draw: cpu time: 4 real time: 2 gc time: 0<br>to-draw at 13631<br>to-draw: cpu time: 0 real time: 2 gc time: 0<br>to-draw at 161839<br>to-draw: cpu time: 4 real time: 9 gc time: 0<br><br></div><div>
During those long seconds, Xorg is almost at 100% cpu.<br>
<br></div><div>However, using an empty scene instead of an image is fast.<br></div><div>The time also depends on the size of the grid.<br></div><div><br></div><div>I'm using Ubuntu 12.04 64bits.<br></div><div>I have tried to replicate the behavior on older versions of racket (5.3.1 and 5.90.0.9) but it's the same. So maybe the problem is not on Racket's side but something has changed in Ubuntu?<br>
<br></div><div>Does anyone else see the same behavior, either on the same platform or on a different one?<br></div><div><br></div><div>Thanks,<br>Laurent<br></div><div><br></div></div></div></div>
<br>____________________<br>
Racket Users list:<br>
<a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br></blockquote></div><br></div>