STOPWATCH

This commit is contained in:
mischa 2023-08-04 12:27:12 +08:00
parent b2b8adacc2
commit 923c6ef8af

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
{
@ -1789,6 +1791,7 @@ static void FlushConnections()
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
@ -1801,6 +1804,7 @@ static void Broadcast()
// socket send/recv later.
connectionsCopy.Clear();
connections.Values.CopyTo(connectionsCopy);
watch.Restart();
// broadcast spawned entities
BroadcastSpawned();
@ -1808,6 +1812,8 @@ static void Broadcast()
// flush all connection's batched messages
FlushConnections();
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: