STOPWATCH

This commit is contained in:
mischa 2023-08-04 12:41:41 +08:00
parent 49228d59e9
commit 4dd29f03a9

View File

@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using Mirror.RemoteCalls;
using UnityEngine;
using Debug = UnityEngine.Debug;
namespace Mirror
{
@ -1711,6 +1713,8 @@ static bool DisconnectIfInactive(NetworkConnectionToClient connection)
internal static readonly List<NetworkConnectionToClient> connectionsCopy =
new List<NetworkConnectionToClient>();
static Stopwatch watch = new Stopwatch();
static void Broadcast()
{
// copy all connections into a helper collection so that
@ -1724,6 +1728,8 @@ static void Broadcast()
connectionsCopy.Clear();
connections.Values.CopyTo(connectionsCopy);
watch.Restart();
// go through all connections
foreach (NetworkConnectionToClient connection in connectionsCopy)
{
@ -1755,6 +1761,8 @@ static void Broadcast()
connection.Update();
}
Debug.Log($"Broadcast took {watch.Elapsed.TotalMilliseconds:F1} ms");
// TODO this is way too slow because we iterate ALL spawned :/
// TODO this is way too complicated :/
// to understand what this tries to prevent, consider this example: