Return of image-surface backed canvas (windows graphics performance)

This partially reverts 2edbda2526.

Using cairo-groups increases performance on MacOS, and retains
retina-resolution.
However it adds a performance regression for MS Windows graphics
rendering. cairo-groups use a "similar" surface, not an image surface.
Empirically this adds significant overhead compared to rendering
using the CPU and using bitblt.
This commit is contained in:
Robin Gareus 2020-01-04 00:29:48 +01:00
parent f892e5bcfa
commit 0b266a54f0
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
2 changed files with 42 additions and 7 deletions

View file

@ -279,6 +279,7 @@ private:
Item * _focused_item;
bool _single_exposure;
bool _use_image_surface;
sigc::connection tooltip_timeout_connection;
Item* current_tooltip_item;
@ -291,6 +292,7 @@ private:
bool _in_dtor;
void* _nsglview;
Cairo::RefPtr<Cairo::Surface> _canvas_image;
};
/** A GTK::Alignment with a GtkCanvas inside it plus some Gtk::Adjustments for