Often in previs setups, you have several "variations" of image/movie
strips for review, where the topmost one completely covers the others
under it. VSE rendering alreayd had an optimization where if there's
a fully opaque strip that covers the whole screen, then the lower
strips are skipped from processing/rendering. However, it was not
handling the case of non-fullscreen strips (e.g. you'd have a Color
strip near top & bottom for letterboxing, and an opaque strip "in the
middle").
This adds a simple "occluder tracking", and skips strips that are
completely covered by any single opaque strip that is above it.
Playback of Gold previs between 1:42 and 1:55, on Windows/Ryzen5950X:
- Average frame time 28.5ms -> 23.8ms
- Median frame time 24.1ms -> 21.5ms
- Two slowest frames: 263->189ms, 194->178ms
Rendering the Gold previs movie: 325s -> 304s (93% of previous time)