<div dir="ltr">For the record, Matthew pushed a fix involving `cairo_fill` and `cairo_paint_with_alpha`:<br><a href="https://github.com/plt/racket/commit/54e42664dfd2aeafbe41c2ff424d86affe171962">https://github.com/plt/racket/commit/54e42664dfd2aeafbe41c2ff424d86affe171962</a><br>

<br>Laurent<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 21, 2014 at 4:00 PM, 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>
</blockquote></div><br></div>