I am currently developing a real-time data plotting solution that is able to receive new data frequently (up to 1kHz) and performing a redraw at a lower rate (e.g. 50hz). I made a first implementation using FLTK but I wanted to give a try to GTK because I never used it before and it looked promising to me.
To keep the story short, I noticed that calls to cairo_stroke() take a lot of time when drawing lines compared to what I measure using FLTK (there's no stroke in FLTK, fust an fl_line() function). I tried to limit as much as possible the strokes but I still get a rendering time 5-7x longer with GTK.
Has anyone noticed such performance issues when using GTK/Cairo during draws on a DrawingArea? Any lead on where to look to decrease the drawing duration?
Note: the back-end (the computation of the lines and texts to draw) is exactly the same since it is performed in a common base class.
gtk_widget_queue_draw_area
? – liberforcegtk_widget_queue_draw
? – liberforce