New Optimization Feature: Interpolation Throttling

This does seem perfect for big and complex games. I’ll be sure to use it when it’s out of beta!

10 Likes

To clarify, does having a Disabled option mean that there will always be an option to Disable it when it’s released (at least for the foreseeable future)?

5 Likes

Right now it’s about 1ms avg spent in the interpolateNetworkedAssemblies section of the microprofiler.

We may adjust this threshold, add new methods for detecting when it should kick in, and change how we decide what assemblies are throttled over time.

The specifics of future changes to this are kinda up in the air right now, and those decisions will be made based on your feedback, so we will take your questions into consideration for sure!

12 Likes

Does StreamingEnabled have to be on for this feature to work? I still have some issues with StreamingEnabled that make it a deal breaker for me and it’d be awesome if this would work without it.

2 Likes

Now that it’s confirmed to still be possible to step at 30Hz, what if it could always be 30Hz? For old Roblox simulation? Being able to cap at 30Hz might also improve performance for low-end in any game.

2 Likes

The plan with this feature is to follow the typical rollout plan. Right now this feature is opt-in, eventually it will become opt-out (by switching from Default to Disabled), and ideally eventually always on, and the property removed.

However the state of the feature by the time we get to the third phase will likely be very different from what it is now, and should be totally unnoticeable (like how regular physics throttling is now Workspace | Documentation - Roblox Creator Hub)

14 Likes

Simulation radius ~= Streaming radius.

Simulation radius is the radius at which the player takes local ownership of an anchored part as well as leaving it to the server.

Streaming radius is of course the radius used by streaming enabled.

tl;dr no

7 Likes

We are not stepping physics at a lower frequency, just network updates. Remotely owned mechanisms are not simulated on your machine, they simply receive positional updates from the server.

It will basically look like they are moving at 30FPS, instead of 60, and this feature is intended to improve performance for low-end devices, without the need to cap.

Also, I’m pretty sure there was never an “old roblox simulation” of 30hz.
Physics used to not be synced with rendering freq, applying updates at 30hz. However physics simulation was never at 30hz

15 Likes

What I mean is like how Roblox was before this update. Roblox Blog - All the latest news direct from Roblox employees.

6 Likes

This feature is essentially in a “beta phase”. We encourage everyone to set this property to Enabled and report any issues, give feedback, or as questions here!

i think you should atleast try it xd

1 Like

Does enabling this make everything move slower that’s not in the simulation radius?

1 Like

If it does, it seems to be unsaid.

But from what we can see, no

sauce:

When InterpolationThrottling is Enabled , then it can kick in whenever interpolation time is slow. If your game’s interpolation time never meets the threshold, then you won’t notice any changes (even if it does, you still might not notice it).

(only when interpolation time is slow, or to clarify:

1ms avg spent in the interpolateNetworkedAssemblies section of the microprofiler.

5 Likes

This will help a bunch on my vehicle project. Thanks a ton, yo.

3 Likes

This is great news. I’m really glad to see more updates focusing on optimisation which is a classic issue on the platform with large, especially detailed, maps.

3 Likes

This article is extremely important to this conversation, thank you GuestIsJustBest. Its funny because 7 years ago from today, it was published. September 29th, 2013.

I read through the article, and it brings questions to what’s happening.

Synchronizing Physics and Rendering at a Smooth 60 FPS

Before Update in 2013

After Update in 2013

This forum somewhat goes back to limit the Frame Rate of Physics prior the 2013 Update Article, on certain conditions.

As for this new update,

  • Does this update overall game job management?

  • If so, is there a noticeable lag time?

  • Will this update lag large scripts, and will it lag large scripts on large maps?

4 Likes

Okay some of us are very confused like myself for the benefit of all can you please create of video or step by step write out how to enable this?

1 Like

Click on Workspace in the explorer, then find Interpolation Throttling in the Properties window:

ex

2 Likes

Hey,
Do you have any plans for unloading instances for the Streaming API, now that we have all this?

4 Likes

AAAAAAAAAAAA LETS GO

Glad to see that you guys are focusing on more optimization stuff. It’s greatly needed especially now as more games gravitate toward bigger and more detailed maps. Hoping to see more stuff like this in the future so that games like these (including mine) can be a lot more performant

3 Likes

“Large maps” - I assume you mean large maps with moving parts? From what I understand, the update isn’t very impactful for games where almost everything is anchored, correct?

7 Likes