Persistent data limitations?

Hello everyone, persistent data can be a big time-saver, interesting feature!

In the description, it says “for unchanged objects”.
I was wondering how this works with the intensity of a light or animating a texture for example. And from my testing, animating those parameters does not update in the renders with persistent data.

So when using persistent data, only the camera can be animated, and anything else in the scene should remain unchanged?


Regarding updates between the scene and re-renders:

Currently, when moving an object, it does not update in the re-renders. Although I noticed that tabbing in and out of edit mode can sometimes cause the re-render to be updated, without rebuilding the render data for unchanged objects. See here:

Switching materials can update in the re-renders, without rebuilding the render data for unchanged objects, although it did not work every time in my tests. Changing the material color, however, either restarts the entire scene build time, or it does not update in the re-renders. See here:

So when changing something in the scene, should the workflow be: to disable persistent data, render again to re-cache with the updates, and activate it again?

Or will changes such as moving objects or changing materials be updated in the re-renders eventually?

The issue around moving objects is most likely this bug: Just need to wait until it’s fixed.

I’m not sure if the material update problem is already on the bug tracker or would be covered by the one above. I don’t think it’s expected. You can file that bug if you want.

1 Like

So they are not limitations and they are being worked on, that’s great! After following your link I found this bug report from yesterday: which addresses the same issue I got with lights. Looking forward to the fixes!

Regarding the cost of increased memory usage:

Does persistent data utilize VRAM when rendering on the GPU, and system memory when rendering on the CPU? And for hybrid rendering, does it use VRAM?

From the manual:

Keep render data in memory after rendering for faster re-renders and animation renders at the cost of extra memory usage while performing other tasks in Blender.

Does this mean for example, that if the persistent data cache takes up 2gb of the VRAM after a render, we then have 2gb less VRAM available when working in the 3D scene?

It does.

Yes, that’s correct too.