Skip to content

Commit cc100c4

Browse files
committed
perf(RPC): 使用对象池优化RPC消息处理性能
将Activator.CreateInstance替换为MessageObjectPoolHelper.Get,减少对象创建开销,提高RPC消息处理性能
1 parent bb72411 commit cc100c4

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

GameFrameX.Core/BaseHandler/RPC/BaseRpcComponentHandler.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
using GameFrameX.Core.Abstractions.Agent;
3333
using GameFrameX.Core.Actors;
3434
using GameFrameX.Foundation.Logger;
35+
using GameFrameX.NetWork;
3536
using GameFrameX.NetWork.Abstractions;
3637
using Serilog;
3738

@@ -129,7 +130,7 @@ public override Task InnerAction(int timeout = 30000, CancellationToken cancella
129130

130131
async Task Work()
131132
{
132-
var response = Activator.CreateInstance<TResponse>();
133+
var response = MessageObjectPoolHelper.Get<TResponse>();
133134
var requestId = RequestMessage.UniqueId;
134135
try
135136
{

GameFrameX.Core/BaseHandler/RPC/BaseRpcMessageHandler.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131

3232
using System.Diagnostics;
3333
using GameFrameX.Foundation.Logger;
34+
using GameFrameX.NetWork;
3435
using GameFrameX.NetWork.Abstractions;
3536
using GameFrameX.Utility.Setting;
3637

@@ -101,7 +102,7 @@ public virtual async Task InnerAction(int timeout = 30000, CancellationToken can
101102

102103
try
103104
{
104-
var response = Activator.CreateInstance<TResponse>();
105+
var response = MessageObjectPoolHelper.Get<TResponse>();
105106
var requestId = RequestMessage.UniqueId;
106107

107108
var task = InnerActionAsync(RequestMessage, response);

0 commit comments

Comments
 (0)