- Removed lambdas and TFunctions from FArchiveAsync (this was the culprit of the regression)
- Added THREADSAFE_UOBJECTS to easily disable UObject multithreading safety and potential overhead (not that it even exists)
- Moved a few functions so that they're not called too often (they come up in profiles)
UE-14282
#lockdown Zachary.EdgertonJones
[CL 2522599 by Robert Manuszewski in Main branch]
#UE4 Wrapped expensive stat gathering in #if LOOKING_FOR_PERF_ISSUES and added a yield when flushing async loading in a multithreaded environment
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2519624 by Bob.Tellez on 2015/04/21 14:14:05.
[CL 2519625 by Bob Tellez in Main branch]
#UE4 Reducing TickAsyncLoadingGameThread stat spam by opening the stat section at callsites.
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2517702 by Bob.Tellez on 2015/04/20 11:44:04.
[CL 2517706 by Bob Tellez in Main branch]
- changed an assert to a warning when calling LoadObject in PostLoad
- added an opt-out ability for IsTimeLimitExceeded warning
- added descriptions of the current work performed during async loading for IsTimeLimitExceeded warning
- made sure we don't check IsTimeLimitExceeded when we already know we timed out.
[CL 2515757 by Robert Manuszewski in Main branch]
#UE4 Fix to reduce calls to Seconds() to improve performance on VMs. UE-13843
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2515314 by Bob.Tellez on 2015/04/16 21:33:22.
[CL 2515315 by Bob Tellez in Main branch]
- FUnresolvedStructTracker
- FUniqueObjectGuid
- FLinkerManager
- FStringAssetReference
- FUObjectAnnotationDense
[CL 2507007 by Robert Manuszewski in Main branch]
- removed counters so that async loading stats group can be verbose again
- added a new async loading stats group for game-thread-only stats tracking
- made IsTimeLimitExceeded more aggresive with warnings when the limit is exceeded (reduced the warning threshold from 2.5 to 1.5 * limit)
- made LinkerLoad stats verbose again
- IO blocking will now be reported if it happens on game thread only
[CL 2506386 by Robert Manuszewski in Main branch]
- Fixed PostLoad order on loaded packages
- Fixed imports not being properly streamed due to bad FAsyncPackage setup
[CL 2500049 by Robert Manuszewski in Main branch]