Performance question about :PersistentPerPlayer()

  • Persistence is not intended to circumvent Streaming, such as to improve visual quality or to avoid using level of detail. Overusing persistence can have negative impacts on the performance of your experience and cause issues on low memory clients.

^This was posted on the update that had announced persistence/perplayerstreaming.

I had the idea that I could create a level of detail effect using this, by tracking the player’s location, and then manually setting specific models to be persistent for them that are outside of range.

Things like skyscrapers, mountains, ect could all really benefit the experience to be persistent at a distance, as well as I could dynamically stream out other large landmarks at a range higher than the default streaming radius using :PersistentPerPlayer().

All sounds good and viable, but this comment makes me wonder if persistent models are particularly laggy with streaming enabled or something. Anyone know why I shouldn’t do this?

EDIT: Model level of detail is a thing, but it’s also not suitable in terms of quality a lot of the time.

I believe you can mainly only negate the performance improvements of streaming, not necessarily cause it to get worse than having it disabled, however, streaming many instances at once like this could lead to stuttering. This is worse with :PersistentPerPlayer and Atomic Model Streaming Model, because the streaming system can’t spread the workload over a period of time and is instead forced to stream spontaneously.

Oh okay, I could see that. In this case, would it work out if I had it done gradually? Eg, check parts that should be streamed at a distance, and stream them one at a time/slowly?