Cycles optimization: If tile rendering is the same as previous frame, use that.
The previous frame stays in memory. (and/or comparison is done with low resolution renders.)
Similar to the Adaptive Sampling, if the previous frame is within a certain threshold of difference of what is being rendered now, use the previous frame:
Perhaps use other indicators to trigger a deeper comparison before advancing, camera translated. Use a low resolution frame difference map. (render the size of the tiles, for each frame and compare.) (oh, perhaps this low resolution frame test uses a material designed to emphasise frame differences, like a vector map.
This would of course use more memory, and might be tricky to get right, but with huge potential payoffs.
4 Comments
Render settings > performances > final render > check "persistent images". Cycles will keep all the data he needs to re render / render the next frame faster.
From me a big nope.
What about the changing seed? You would end up with an unnatural static image, as a paused VHS.
Comparison by low resolution can't work either, you may have tiny moving objects (birds in the distance) excluded, and then popping into the render once big enough to pass the threshold...
The default is no changing seed; in that case it should not be a problem. Yes, there's challenges. Yes, it probably won't work on all scenes. It might be impractical.
Even I can start testing the idea in a composite node setup and custom materials. So I'll do that when I can.
I don't know how feasible it would be, but it would definitely be helpful.
Not saying this will be the case, and it would have to be tested first, but I could see an issue where even with very small difference thresholds there being visible lines between re-used tiles and new tiles. The same thing was an issue with denoising for awhile before it was released.