Delay after drawing



  • I create animated gifs with Drawbot. They’re somewhat complex and take some time to proces and draw. After calculating, drawing, and saving all frames to a gif, Drawbot remains unresponsive. It seems it needs considerable time to draw the canvases in the app.

    For example, for my last animation it took 69 seconds to calculate and save 78 frames to a gif, and then an extra 25 seconds for Drawbot to start drawing 78 canvases — the (actual, visible) drawing takes less than a second — and become responsive again.

    I’m a little curious why this is. If the canvases can be saved as a gif, they should be already be there? Why should it take that much time to draw them on screen?

    And, is it possible to only save as gif, and not draw the canvas in the Drawbot app?

    Screen recording on youtube

    Saving of the gif at 1:08

    Drawbot draws canvases and becomes responsive at 1:34

    The gif on twitter.



  • hello @monomonnik,

    …is it possible to only save as gif, and not draw the canvas in the Drawbot app?

    yes: you can use DrawBot as a Python module, without the interface – this can speed things up considerably.

    see also posts with the tag animation – there are some discussions about performance optimization.

    good luck!



  • Thanks for the tip @gferreira

    Running the script and saving to a gif is faster, only two seconds though. But not having to wait for the Drawbot app to finish is a great improvement.


  • admin

    DrawBot has an abstract stack of "actions" which can be applied on different contexts. One context is your output: an animated gif. And there is always a drawBot context to create the preview pdf data.

    Using drawBot from the module helps in this case as @gferreira suggested.