Skip to content

Draft: Canvas updates on draw, disable idle updates

Thomas Holder requested to merge speleo3/inkscape:update-on-draw into master

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?

Merge request reports