Why are thinclient worlds so seemingly heavy?
Don’t they only have to generate fake input to send to the server?
A lot of my client systems currently run for thinclients too, and I have to manually disable them, since I don’t want them to run in the thinclient world.
Hey Rupture13!
We agree that thin clients are unnecessarily heavy at the moment. We have plans to optimize them a lot in the near future. We expect a minimum of 10x improvement, likely much more.
Thin clients do have to process some of the snapshot stream too.
Which version are you on? In 1.0 you have the option to set the [WorldSystemFilter(WorldSystemFilterFlags.ClientSimulation)]
(which will ignore Thin Client worlds).
Thin clients:
- does not process ghosts
- does not do a prediction or interpolation
- they don’t have presentation group
- they just send input as you say.
However, all systems that are tagged to run for client will runs. Also, because they are all in different worlds, these extra costs, sum up.
Even scheduling a job that does nothing may add a visible overhead in the editor (especially if the JobDebugger is enabled). So, in general, care is still necessary to achieve decent results.