NetworkPerformance
Provides custom monitors for measuring networking performance. Included as an autoload.
Enabling monitoring
By default, network performance monitoring is only enabled in debug builds and when running from the editor.
Use the netfox_noperf
feature tag to force disable network performance
monitors.
Use the netfox_perf
feature tag to force enable network performance monitors.
These feature tags enable customization for each export preset.
Performance monitors
Network loop duration
Network loop duration measures the time spent in the network tick loop. Note that this includes time spent on the rollback loop as well.
This value is updated once for every tick loop, it is not reset to zero after the loop has run. This means that you may get a non-zero reading, even if the tick loop is currently not running.
Rollback loop duration
Rollback loop duration measures the time spent in the last rollback loop. This includes all of its steps.
The value of this monitor may be zero, if no players have joined, no nodes use rollback, or rollback is disabled.
Network ticks simulated
Network ticks simulated measures the number of ticks run in the last network tick loop. If the game runs at a higher FPS than the network tickrate, this value should be consistently one.
Higher, stable values mean that the game itself runs slower than the network tickrate, and needs to catch up by running multiple ticks on each frame.
Rollback ticks simulated
Rollback ticks simulated measures the number of rollback ticks run in the last rollback loop. Generally, this denotes the age of the oldest input or state received, depending on whether the game is running as a server or client.
The measurement is strongly correlated to network latency - the higher the latency, the older the state and input packets will be upon arrival.
The more rollback ticks need to be simulated, the more work the rollback tick has to do, which can negatively affect performance.
Rollback tick duration
Rollback tick duration provides the average time spent simulating a single tick in the last rollback loop.
This can be useful to determine if the rollback tick duration comes from too many ticks being simulated, or the individual ticks being expensive to simulate ( or both ).