13
0
livetrax/libs
Paul Davis b6d0f8f661 canvas: add a drawing-request-freeze/thaw API
If queue_draw is "frozen", we simply accumulate drawing
requests in a (union) rectangle, and when finally "thawed"
the canvas submits a single redraw request for the entire
accumulated rect.

Although in theory this is all that GTK/GDK does for
draw requests, callgrind reveals significant costs
associated with the actual calltree for GtkWidget::queue_draw_area().

One potential cost is that GDK also maintains a list of
invalidated rectangles in addition to the union, and
for MIDI regions with thousands of notes, this can represent
real overhead. This approach dispenses with the rect list,
since our Canvas drawing model only uses the union rectangle
anyway.
2022-04-05 20:52:09 -06:00
..
appleutility
ardour Add API to copy Biquad parameters 2022-04-02 19:10:08 +02:00
ardouralsautil
audiographer
auscan
backends
canvas canvas: add a drawing-request-freeze/thaw API 2022-04-05 20:52:09 -06:00
clearlooks-newer
evoral evoral: NOOP reorder and edit comments 2022-04-05 20:52:09 -06:00
fluidsynth
fst
gtkmm2ext
hidapi
libltc
lua
midi++2
panners
pbd Fix unset of LIBRARY_PATH environment variable 2022-04-01 20:50:28 +02:00
plugins
ptformat
qm-dsp
surfaces
temporal temporal: add namespace to macro definition to make it usable everywhere 2022-04-05 20:52:09 -06:00
vamp-plugins
vamp-pyin
vfork
vst3
waveview
widgets
zita-convolver
zita-resampler