From 05d8fbeea38ff307aa052d94a0e673a472a9577f Mon Sep 17 00:00:00 2001 From: Johan Torp Date: Tue, 13 Apr 2021 07:38:30 -0400 Subject: [PATCH] Reduce EDLBootNotificationManager allocations during early editor startup #rb matt.peters [CL 15987949 by Johan Torp in ue5-main branch] --- .../Private/Serialization/AsyncPackageLoader.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncPackageLoader.cpp b/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncPackageLoader.cpp index c81b46c382de..a4f0ccd76e60 100644 --- a/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncPackageLoader.cpp +++ b/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncPackageLoader.cpp @@ -151,9 +151,12 @@ struct FEDLBootNotificationManager return; // We assume nothing in coreuobject ever loads assets in a constructor } - FScopeLock Lock(&EDLBootNotificationManagerLock); + TStringBuilder<256> LongNameBuilder; + LongNameBuilder << PackageName; + FPathViews::Append(LongNameBuilder, Name); + FName LongFName(LongNameBuilder.ToView()); - FName LongFName(*(FString(PackageName) / Name)); + FScopeLock Lock(&EDLBootNotificationManagerLock); //FPlatformMisc::LowLevelOutputDebugStringf(TEXT("NotifyRegistrationEvent %s %d %d\r\n"), *LongFName.ToString(), int32(NotifyRegistrationType), int32(NotifyRegistrationPhase));