When using the ‘net stat’ command, the client is reporting a ping of ~35, even with the client instance is running on the same machine as the server. How should we be interpreting the ping value reported here? Is this expected or could there be a setting that is artificially increasing latency for us?
We have verified that PacketSimulationSettings are turned off (i.e. PktLag=0, PktLagVariance=0, etc).
Any insight would be appreciated.
I have attached a screenshot showing our net stat output (server & client running on the same machine).
Have you messed with any of the values described in this post?
Thanks for the reply. As I mentioned in my post, we disabled all PacketSimulationSettings.
Ah sorry
Are you running in the editor, or from a packaged build?
35 milliseconds is suspiciously close to 30 fps. Does this value match your frame rate?
Without looking at the code too closely, I suspect this relates to something that is only called once a frame - possibly UNetConnection::Tick().
I wouldn’t worry about 35 milliseconds. Keep in mind that client side moves (that originate from player input) are only passed from the client to the server once per frame (via a reliable message) - any network latency is on top of this.
Yea we suspected that the 35ms had to do with the tick rate somehow, but it’d be nice to get a confirmation from Epic on this.
Looked at this again due to problems which turned out to be frame rate related (rendering delays rather than bandwidth saturation).
This is just tick induced lag (when each client reads the local clock). Set your frame rate to fixed 90 fps and when windowed you should see a ping <= 10.
ie.DefaultEngine.ini
[/Script/Engine.Engine]
bUseFixedFrameRate=True
FixedFrameRate=90.000000
MinDesiredFrameRate=90.000000
bSmoothFrameRate=True
Note that there are many (many) settings that affect net bandwidth and different code paths for editor/game windowed/fullscreen listen server/dedicated server. It looks like a lot of effort has been put into balancing the default settings…
Other things to check:
[/Script/OnlineSubsystemUtils.IpNetDriver]
bClampListenServerTickRate=False
NetServerMaxTickRate=XX
MaxClientRate=XXXXX
MaxInternetClientRate=XXXXX
[/Script/Engine.Engine]
NetClientTicksPerSecond=XX
[/Script/Engine.GameNetworkManager]
TotalNetBandwidth=XXXXX
MaxDynamicBandwidth=XXXX
MinDynamicBandwidth=XXXX
Do a search for '::GetMaxTickRate(); in the source if you want to know more.
1 Like