When you move the Timeslider with pCache enabled it renders the previous frame that was last cached.
Is this by design?
I might think that it should update the pCache for the current frame when current time has changed since the last cache and the render button is depressed again. Or at least notify the user that you are about to render a frame that is not the same as current time.
For some effects where the particles don’t move/change much, but other things change a lot, it’s useful to have it work this way.
So let’s say you had a shot with fog particles and some flashing police lights the camera’s focus is poking around trying to find something. You might want to render static particles for speed while you verify the flashing lighting and depth of field.
The idea was that you might want to LOCK your particles in memory and render a static frame of particles with a moving camera for things like turntables or fly-thrus. If the LCache is not enabled, you can even have dynamic lighting, while saving the time to reload particles on each frame.
In fact, we even support that in Slave Mode as an option - you can submit an animation range to a network machine, the Slave will load the particles once and keep them in memory and as long as a single Slave is set to work on the whole range, it won’t have to reload the particles on each frame. This is OFF by default for network rendering - normally the PCache state is ignored on the network. But it can be enabled via the right-click menu over the PCache button - “Use Cache In Slave Mode”.