@@ -681,15 +681,13 @@ private void Update()
681681 {
682682 if ( ( NetworkTime - lastSendTickTime >= ( 1f / NetworkConfig . SendTickrate ) ) || NetworkConfig . SendTickrate <= 0 )
683683 {
684- NetworkProfiler . StartTick ( TickType . Send ) ;
685684 foreach ( KeyValuePair < uint , NetworkedClient > pair in connectedClients )
686685 {
687686 byte error ;
688687 NetworkConfig . NetworkTransport . SendQueue ( pair . Key , out error ) ;
689688 if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Send Pending Queue: " + pair . Key ) ;
690689 }
691690 lastSendTickTime = NetworkTime ;
692- NetworkProfiler . EndTick ( ) ;
693691 }
694692 if ( ( NetworkTime - lastReceiveTickTime >= ( 1f / NetworkConfig . ReceiveTickrate ) ) || NetworkConfig . ReceiveTickrate <= 0 )
695693 {
@@ -838,8 +836,16 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId, uint
838836 else if ( isPassthrough && ! isServer )
839837 passthroughOrigin = reader . ReadUInt ( ) ;
840838
841- byte headerSize = 0 ; //TODO
842- NetworkProfiler . StartEvent ( TickType . Receive , totalSize - headerSize , channelId , messageType ) ;
839+ long headerBitSize = BitWriter . GetBitCount ( messageType ) + BitWriter . GetBitCount ( targeted ) ;
840+ if ( targeted ) headerBitSize += BitWriter . GetBitCount ( targetNetworkId ) + BitWriter . GetBitCount ( networkOrderId ) ;
841+ headerBitSize += BitWriter . GetBitCount ( isPassthrough ) ;
842+ if ( isPassthrough && isServer )
843+ headerBitSize += BitWriter . GetBitCount ( passthroughTarget ) ;
844+ else if ( isPassthrough && ! isServer )
845+ headerBitSize += BitWriter . GetBitCount ( passthroughOrigin ) ;
846+
847+ uint headerByteSize = ( uint ) Math . Ceiling ( headerBitSize / 8d ) ;
848+ NetworkProfiler . StartEvent ( TickType . Receive , totalSize - headerByteSize , channelId , messageType ) ;
843849
844850 if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Data Header" +
845851 ":messageHeader=" + messageType +
0 commit comments