While looking at the creation of a few seconds of animation render that is taking all day.
I got an idea on how cylces can be made faster.
First my observation, often (not always), there are some big parts that dont change a lot between frames. If a camera isnt moving a lot, and there is for example sky or a large object in front that doesnt change much. Or for example some background, or an object that has mostly only a few color shades over it.
What if cycles would work like this :
render a (horizontal/or/vertical) line, skip 1 line, render a line, skip a line, render a line, skip a line etc…
Now for the next frame render only the lines who where previously skipped.
Now see this in your minds eye a set of frames who have skipped lines, but if put on top of each you have the whole image. Sure they wont fit completely something might be moving, and be distorted.
One could do some fast averaging math here and check if the neighbor pixels ( upper and lower line, plus its previous line in the previous frame) if all those didnt change that much, then take the average and fill the pixels. If there is a larger change detected then use cycles instead of taking the average.
If parts change a lot in a few frames, it could be marked and be rendered without trying to average for a few frames.
Instead of lines it could be done trough checkerboard patterns too
So first frame uses checkerboard, next frame uses inverse checkerboard.
Another note for averaging and deciding > a small neural network might be fast for this and even be able to do small adjustments, buts thats maybe for a start a bit to much.
The cons of this aprouch is that cycles would use more memory then it does now.
The pro is though that most computers these days have 4GB or more it isnt even that expensive anymore. Even my laptop has 24 GB, and my work PC has 16, my XBMC TV station has even 1 Gig
It would be verry nice for all those smaller renders, for people who enjoy animating, perhaps even professional if things go faster.
(would reduce speed on CPU render a lot i think, i dont know for GPU)