(been poking in this area with screencast-to-buffer work lately... Changing this system isn't in that line of work, but worth evaluating)
In my estimation (didn't design it initially, but have been tinkering), its a good design for screenshotting, or a good design if you have a 120hz/60hz display, but are happy with a 25hz video.
It also lets us isolate the generally-more problematic GL code (glReadPixels) from the display output code.
(been poking in this area with screencast- to-buffer work lately... Changing this system isn't in that line of work, but worth evaluating)
In my estimation (didn't design it initially, but have been tinkering), its a good design for screenshotting, or a good design if you have a 120hz/60hz display, but are happy with a 25hz video.
It also lets us isolate the generally-more problematic GL code (glReadPixels) from the display output code.