Draft: Canvas updates on draw, disable idle updates
This MR could potentially improve rendering performance!
Disables the canvas idle update scheduling and calls Canvas::do_update()
directly in the Canvas::on_draw()
method.
To compare idle vs. draw update performance, set the USE_SIGNAL_IDLE
environment variable before launching Inkscape:
export USE_SIGNAL_IDLE=0 # default in this MR
export USE_SIGNAL_IDLE=1 # old behavior
As far as I can tell, our canvas idle logic just reinvents what Gtk already provides with Gtk::Widget::queue_draw()
and related functions. @Tavmjong or @jabiertxof, do you know why we use the idle signal?