The segments are drawn independently of redisplay, on top of its result,
without affecting it (so that the next redisplay finds it exactly as it
was). So no optimizations are disabled, and the time added by them is
independent of what redisplay had to do.
I'm probably missing something: if Emacs uses the scroll_run_hook,
which bitblts a portion of the screen's pixels, doesn't that move also
the pixels of the segments? If not, does it mean those segments'
pixels are not drawn on the screen, but somehow overlaid on it using
some video driver trick?