the answer to your question in literal form would be : profiling.
the most helpful answer would be: tick interval. by changing the tick interval you can specify how often you do something.
tick is the right tool to use if you know how/when. https://www.youtube.com/watch?v=S2olUc9zcB8
i’ve created a component that sends the info from the client to the server, using unreliable rpc, with a tick interval of … 1sec or (configurable to your needs).
the server then forwards that to the other clients using unreliable multicasts, (or you can use property replication, which will incur in pretty much the same cost, but are less controllable (without extra code)).
then the simulated proxies will tween and predict on those values in their own ticks. each tick interval is controlled with a significance plugin (i’ve made my own but there’s also the one from tom looman on github), so it’s pretty efficient.
and with the added net-relevancy correctly configured, you only do as much calculations/network as needed.
the replication for other stuff doesn’t work much different than that.
edit: well done on thinking about network (maybe cpu) performance and keeping that in mind.