ardour/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 wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
ardour Add API to copy Biquad parameters 2022-04-02 19:10:08 +02:00
ardouralsautil wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
audiographer Amend f322c4ded7, clean up includes, fix visibility 2022-01-28 02:29:11 +01:00
auscan wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
backends wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
canvas canvas: add a drawing-request-freeze/thaw API 2022-04-05 20:52:09 -06:00
clearlooks-newer wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
evoral evoral: NOOP reorder and edit comments 2022-04-05 20:52:09 -06:00
fluidsynth wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
fst wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
gtkmm2ext Replace Glib::Threads with PBD::Thread (2/2) 2022-03-01 01:34:35 +01:00
hidapi wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
libltc wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
lua Add API to modify Lua Metatable and set Metamethods 2022-01-24 06:23:16 +01:00
midi++2 wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
panners wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
pbd Fix unset of LIBRARY_PATH environment variable 2022-04-01 20:50:28 +02:00
plugins wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
ptformat ptformat: Update to upstream c1c6475 2022-03-29 18:59:46 +11:00
qm-dsp wscript: improve configure messages slightly 2022-01-22 22:19:07 +01:00
surfaces fixes issue where monitor section gets stuck on mute 2022-03-17 15:37:07 -06:00
temporal temporal: add namespace to macro definition to make it usable everywhere 2022-04-05 20:52:09 -06:00
vamp-plugins Do not use ABU suffix for vamp plugin shared object 2022-04-01 18:40:46 +02:00
vamp-pyin wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
vfork wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
vst3
waveview Replace Glib::Threads with PBD::Thread (1/2) 2022-03-01 01:33:49 +01:00
widgets Dim text rendered with ShadedPlusSign 2022-01-31 01:58:42 +01:00
zita-convolver wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
zita-resampler wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00