ConnectionQuality.cs
1.提供以下连接质量级别:
public enum ConnectionQuality : byte
{
EXCELLENT, // ideal experience for high level competitors
GOOD, // very playable for everyone but high level competitors
FAIR, // very noticeable latency, not very enjoyable anymore
POOR, // unplayable
ESTIMATING, // still estimating
}
现成提供算法:
- Simple (based on Ping & Jitter) .
- Pragmatic (based on Snapshot Interpolation).
NetworkPingDisplay
1.该组件可添加到 NetworkManager 中,以便在屏幕右下方显示 Ping 和连接质量指示器。您可以根据自己的需要随意修改或创建自己的组件。
NetworkManager Callbacks
1.CalculateConnectionQuality() 可以被覆盖,以注入自己的启发式。默认情况下,它会使用上面的简单方式。它每隔几秒调用一次 connectionQualityInterval,这也可以在 NetworkManager 中进行配置。
protected virtual void CalculateConnectionQuality()
{
NetworkClient.connectionQuality = ConnectionQualityHeuristics.Simple(
NetworkTime.rtt,
NetworkTime.rttVar
);
}
OnConnectionQualityChanged() 可用于向用户显示警告。默认情况下,它会发出日志信息,这对调试用户日志等非常有用。
protected virtual void OnConnectionQualityChanged(ConnectionQuality previous, ConnectionQuality current)
{
Debug.Log($"[Mirror] Connection Quality changed from {previous} to {current}");
}
2206

被折叠的 条评论
为什么被折叠?



