Mask performance in compositing


I have a really simple compositing flow with just the render result connected to a lens distorsion, and I connected a mask so I can control its effect.

But the performance is incredibly slow, when moving any point of the mask curve, it recalculates everything. It’s impossible to place a point accurately because it lags so much.

I can’t believe that people worked with such bad performances on Tears of Steel, so I must be missing something. I activated Open CL, changed performance settings in the compositing but that didn’t really help.

My image is a bit smaller than 1080P, my PC setup is pretty good (i7 3930k @ 4.2GHz, GTX 580 3GB, 16GB RAM), using Blender 2.71 on Windows 7 64bits.

PS: Also another question: I’m missing the “alpha” input of every filter node, like in other compositing software. There is no such thing in Blender? For now I multiply my mask was a value then connect it to the lens distorsion value, but that seems a bit complicated to do this everytime you want to mask an effect.


Perhaps you can post a screenshot of your node setup, so that we understand better what you are trying to do.

Toggle ‘Use Nodes’ while adjusting the nodes or mask, and toggle back on to see the update occur.

Here is the node flow, just an image and a mask to control lens distorsion effect.

Craig: I read something like this and tried it, but it still does recalculate every mask point movement I do (Compositing bar at the top)

BTW the File Output never saves my image file. Read the documentation, it says it’s supposed to save it automagically when pressing the render button but didn’t work for me. Also, how do you save your composited image with a File Output node, if you don’t use a render from blender, meaning you don’t ever press the render button?


I keep an Image Editor window open with ‘Viewer’ selected, adn then I use F3 in that window to save the image results incrementally.

When I do pure compositing, I use an empty scene and press render. If you render with render, the render result is not automatically saved, with the animation render it is. Perhaps it is similar for the file output node.

As to the performance problems, as far as I understand, the lens distortion node is pretty slow. I don’t know if there is a clever way to only recalculate tiles that need updating.

Pretty sure that the dispersion input doesnt allow inputs… it will take the first value given and discard the rest (bottom left pixel value that is)

best way to do it is create a mix node after it, first colour input is the original image, second is the lens distortion output, factor is the mask… dispersion is set manually.

You’re right about that, thanks!

EDIT: Ok, I found the solution! I closed the UV/Image Editor panel that was extremely slow, created a new one, and now it’s perfectly fluid :slight_smile: