From 32aa32d64a32f4051443846073e84b0aa0432f39 Mon Sep 17 00:00:00 2001 From: AzureGem Date: Sun, 19 Jul 2020 13:03:23 -0400 Subject: [PATCH] Remove ReadProcessMemory call New performance metric for the uncached case: About `55ms` --- Dalamud/Game/ClientState/Actors/ActorTable.cs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Dalamud/Game/ClientState/Actors/ActorTable.cs b/Dalamud/Game/ClientState/Actors/ActorTable.cs index 6369b9c6e..b430c8b40 100644 --- a/Dalamud/Game/ClientState/Actors/ActorTable.cs +++ b/Dalamud/Game/ClientState/Actors/ActorTable.cs @@ -73,14 +73,7 @@ namespace Dalamud.Game.ClientState.Actors { private Actor ReadActorFromMemory(IntPtr offset) { try { - // FIXME: hack workaround for trying to access the player on logout, after the main object has been deleted - if (!ReadProcessMemory(Process.GetCurrentProcess().Handle, offset, actorMem, actorMemSize, out _)) - { - Log.Debug("ActorTable - ReadProcessMemory failed: likely player deletion during logout"); - return null; - } - - var actorStruct = Marshal.PtrToStructure(actorMem); + var actorStruct = Marshal.PtrToStructure(offset); switch (actorStruct.ObjectKind) { case ObjectKind.Player: return new PlayerCharacter(offset, actorStruct, this.dalamud);