Преглед изворни кода

FrameMessage使用对象池,减少消息gc

tanghai пре 2 година
родитељ
комит
e303813bcd

+ 0 - 6
Unity/Assets/Config/Proto/LockStepOuter_C_11001.proto

@@ -42,12 +42,6 @@ message Room2C_Start // IActorMessage
 	repeated LockStepUnitInfo UnitInfo = 2;
 }
 
-message LSInput
-{
-	TrueSync.TSVector2 V = 1;
-	int32 Button = 2;
-}
-
 message FrameMessage // IActorMessage
 {
 	int32 Frame = 1;

+ 4 - 2
Unity/Assets/Scripts/Codes/Hotfix/Client/LockStep/RoomClientUpdaterSystem.cs

@@ -40,8 +40,10 @@ namespace ET.Client
             room.Update(oneFrameMessages);
             ++frameBuffer.NowFrame;
 
-            LSInput lsInput = new LSInput() { V = self.Input.V, Button = self.Input.Button };
-            clientScene.GetComponent<SessionComponent>().Session.Send(new FrameMessage() {Frame = oneFrameMessages.Frame, Input = lsInput});
+            FrameMessage frameMessage = NetServices.Instance.FetchMessage<FrameMessage>();
+            frameMessage.Frame = oneFrameMessages.Frame;
+            frameMessage.Input = self.Input;
+            clientScene.GetComponent<SessionComponent>().Session.Send(frameMessage);
         }
 
         private static OneFrameMessages GetOneFrameMessages(this RoomClientUpdater self, int frame)

+ 3 - 19
Unity/Assets/Scripts/Codes/Model/Generate/Client/Message/LockStepOuter_C_11001.cs

@@ -99,21 +99,6 @@ namespace ET
 
 	}
 
-	[Message(LockStepOuter.LSInput)]
-	[ProtoContract]
-	[MemoryPackable]
-	public partial class LSInput: MessageObject
-	{
-		[ProtoMember(1)]
-		[MemoryPackOrder(0)]
-		public TrueSync.TSVector2 V { get; set; }
-
-		[ProtoMember(2)]
-		[MemoryPackOrder(1)]
-		public int Button { get; set; }
-
-	}
-
 	[Message(LockStepOuter.FrameMessage)]
 	[ProtoContract]
 	[MemoryPackable]
@@ -167,9 +152,8 @@ namespace ET
 		 public const ushort C2Room_ChangeSceneFinish = 11005;
 		 public const ushort LockStepUnitInfo = 11006;
 		 public const ushort Room2C_Start = 11007;
-		 public const ushort LSInput = 11008;
-		 public const ushort FrameMessage = 11009;
-		 public const ushort OneFrameMessages = 11010;
-		 public const ushort Room2C_AdjustUpdateTime = 11011;
+		 public const ushort FrameMessage = 11008;
+		 public const ushort OneFrameMessages = 11009;
+		 public const ushort Room2C_AdjustUpdateTime = 11010;
 	}
 }

+ 3 - 4
Unity/Assets/Scripts/Codes/Model/Generate/ClientServer/Message/LockStepOuter_C_11001.cs

@@ -152,9 +152,8 @@ namespace ET
 		 public const ushort C2Room_ChangeSceneFinish = 11005;
 		 public const ushort LockStepUnitInfo = 11006;
 		 public const ushort Room2C_Start = 11007;
-		 public const ushort LSInput = 11008;
-		 public const ushort FrameMessage = 11009;
-		 public const ushort OneFrameMessages = 11010;
-		 public const ushort Room2C_AdjustUpdateTime = 11011;
+		 public const ushort FrameMessage = 11008;
+		 public const ushort OneFrameMessages = 11009;
+		 public const ushort Room2C_AdjustUpdateTime = 11010;
 	}
 }

+ 3 - 4
Unity/Assets/Scripts/Codes/Model/Generate/Server/Message/LockStepOuter_C_11001.cs

@@ -152,9 +152,8 @@ namespace ET
 		 public const ushort C2Room_ChangeSceneFinish = 11005;
 		 public const ushort LockStepUnitInfo = 11006;
 		 public const ushort Room2C_Start = 11007;
-		 public const ushort LSInput = 11008;
-		 public const ushort FrameMessage = 11009;
-		 public const ushort OneFrameMessages = 11010;
-		 public const ushort Room2C_AdjustUpdateTime = 11011;
+		 public const ushort FrameMessage = 11008;
+		 public const ushort OneFrameMessages = 11009;
+		 public const ushort Room2C_AdjustUpdateTime = 11010;
 	}
 }