Upgrade notes: second parameter of GetFunctionCallspace overrides should be removed - it served no purpose
#rb Michael.Noland
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: dan.oconnor
#ROBOMERGE-SOURCE: CL 6635880 via CL 6639399 via CL 6639673
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)
[CL 6754029 by dan oconnor in Dev-Anim branch]
#rb gil.gribb
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 6417518 via CL 6418865 via CL 6418880 via CL 6418961 via CL 6418984
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 6470326 by ben woodhouse in Dev-Anim branch]
The same ubulk file, typically for a texture, was written by two different threads. This caused a fatal SavePackage assert in FAsyncWriteWorker::DoWork(). There was no need to write out these files to disk at all.
Also cleaned up surrounding code a little bit.
#jira ue-72635
#rb robert.manuszewski
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 5937291 via CL 5937787 via CL 5937827
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 5956295 by johan torp in Dev-Anim branch]
The editor specific feature of querying the file system to identify newly created packages (not having a corresponding file on disk) is really slow.
Early out from this expensive check when the package already has a known file size.
VTune user-mode cpu sampling time results when cooking a big data set (~200 000 packages):
UCookOnTheFlyServer::MaybeMarkPackageAsAlreadyLoaded() down from 10 sec to 0.1 sec, a 100X speedup.
FLinkerLoad::LoadAllObjects down from 400 sec to 280 sec, a 1.4X speedup, i.e. ~4% (120 sec) of the total load time of 2750 sec.
#rb robert.manuszewski
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5818305 via CL 5818901 via CL 5818980
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 5850341 by pj kack in Dev-Anim branch]
New AssetRegistryState::InitializeFromExistingAndPrune temporarily disabled until some bugs have been fixed.
Test Scenario:
1) BuildCookStageAndRun with these arguments: -platform=Win64 -configuration=Development
2) CookIterate with these arguments: -run=Cook -CookCultures=en -TargetPlatform=WindowsClient -unversioned -stdout -unattended -iterate
Wall Time Results (as an average of running step 2) two times):
Before: ~09:40 (580 seconds) cook commandlet time
After: ~02:30 (150 seconds) cook commandlet time
=> 07:10 (430 seconds ) faster, i.e. a ~ 3.9x speedup
Win32 FileSystem Results:
Before: 1.5 million GetFileAttribute calls and 1.2 million FindNextFile calls
After: 35 0000 GetFileAttribute calls and 1.6 million FindNextFile calls
=> ~400 000 calls to FindNextFile replaces ~1.5 million calls to GetFileAttribute
#rb none
(peafour-cherrypick of //UE4/Dev-Core/[at]5645695 by PJ.Kack)
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5533504 via CL 5533655 via CL 5536177 via CL 5772728 via CL 5772753 via CL 5772793
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 5783632 by pj kack in Dev-Anim branch]
Second optimization to a heavily hit function that uses an FArchiveFromStructuredArchive adapter. That class needs optimization, so temporarily use a straight FArchive path when text archive support is compiled out
fyi ben.woodhouse, gil.gribb, per.larsson
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: graeme.thornton
#ROBOMERGE-SOURCE: CL 5716883 via CL 5716884 via CL 5716885 via CL 5716886 via CL 5717811 via CL 5717889
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 5728223 by graeme thornton in Dev-Anim branch]
#rb none
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 5707932 via CL 5708541 via CL 5708552 via CL 5708563 via CL 5708976 via CL 5709035
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 5718591 by robert manuszewski in Dev-Anim branch]