Blenderstorm Polls and Ideas:
show ideas | about |
Log in

idea #129: optimized rendering for speed



up
4
(+13,-9)
down
Written by amoose136 the 12 Jun 08 at 10:57. Category: Tools. Status: New
Description
A way to speed up rendering animations be reusing parts of the last frame that haven't changed. There are sectors that blender see that contain where the objects, shadows, and reflections will be in next frame. It looks at those and finds what sectors are going to different from the last frame. Then it renders only that part of the frame. It will give a result like what you get when you optimize a gif animation for web in gimp. It will render faster since it doesn't need to render the entire frame. (NOTE: blender tells difference by where the geometry is not be pixel change because then it would have to render before it could render!) If you would like, I could post some screens of what I mean at BA.

Problems: *low pass AO might yield some problems.
*Lack of anti aliasing might give some more weirdness.
*Halos.
*Moving light(s) or cameras will almost get rid of all optimal rendering but the resulting image can be optimized for space after the render.


Attachments
No attachments.


Duplicates


Comments
AdminAdmin ideasman42 (Blenderstorm admin) wrote on the 14 Apr 08 at 00:56
"A way to speed up rendering animations be reusing parts of the last frame that haven't changed."

- While possible, I wouldn't recommend spending time on this. There are too many cases where it wont work.

You COULD do somthing like - render every Nth frame, (say 4th) then compare tiles between frames, with some error margin.
Then only re-render tiles that are different.

hoehrer wrote on the 21 Apr 08 at 23:59
I agree with ideasman42. With his addition this idea might improve rendering speed quite a lot - depending on the offset of frames that is used.

It _could_ possibly also be combined with a way to render only the parts that changed in comparision to the older frame. Because if you already have a fully rendered frame you can also compare the fine details (shading) that may have changed. Not sure about this.

DeveloperDeveloper broken (Blender Developer) wrote on the 12 May 08 at 18:10
"(NOTE: blender tells difference by where the geometry is not be pixel change because then it would have to render before it could render!)"

It's not so simple - there are many other things that can affect the rendered pixels that don't include geometry. i.e. shadows, reflections, refractions, animated materials, etc etc.

It's not really worth spending time on hacks like this, but rather optimising the core of the renderer itself.


Post your comment