Then, it's probably the cache or lack of vsync. On 5D3, if I comment out the msleep from the undo hook, I get two windows of preview (one at the top and the other at the bottom); in the middle, I get interlaced data (already undone). So there's some processing going in parallel, I guess.