Do not synchronize game steps between the client and server when using "accurate play solo"

Please complete one of the following sentences:
As a Roblox developer, it is currently too hard to . . .
As a Roblox developer, it is currently impossible to . . .

As a Roblox developer, it is currently hard to experience how “smooth” the client performs when using accurate play solo when the server is occasionally doing work that takes longer than a few ms.
Although accurate play solo does run client and server steps in parallel (which is great), the slowest of the client and server will hold the other instance back. Thus a server that occasionally computes some stuff for more than 16 ms will block the client from rendering the next frame immediately and cause frameskips.

This image clearly illustrates this behavior, where the large top bar is the server doing stuff, clearly holding up the client (the smaller bars):

(I’d expect two separate microprofiler instances here too, one for the server and one for the client.)

If Roblox is able to address your issue, how would it improve your game and/or your development experience? Please be as specific as possible.

It will allow me to always easily observe how well the client and server perform independently of eachother, making accurate play solo even more accurate :wink: .

5 Likes