Commit Graph

1481 Commits

Author SHA1 Message Date
robert manuszewski
703fbc2727 Fixing a crash when reporting long reference chains with 'obj refs' command.
#rb none

#ROBOMERGE-VERSION: 349-6578295
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 6543528 via CL 6543620 via CL 6543667
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6578921 by robert manuszewski in Dev-VR branch]
2019-05-20 14:21:06 -04:00
bob tellez
d4a5ddeb20 #UE4 Better FGCObject reporting in obj refs. FGCObject names are now reported in the "obj refs" console command, provided that they pass in FGCObject::GGCObjectReferencer as the referencer when calling AddReferencedObjects. FGCObjects may now also implement GetReferencerPropertyName to describe more details about how it references an object.
#ROBOMERGE-VERSION: 349-6578295
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 6542056 via CL 6542588 via CL 6542593
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6578718 by bob tellez in Dev-VR branch]
2019-05-20 14:14:27 -04:00
jamie dale
aa05f25043 Exposed Asset Registry GetDependencies and GetReferencers to scripting
#jira UE-74534
#rb Chris.Gagnon

#ROBOMERGE-VERSION: 348-6547088
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 6520136 via CL 6525931 via CL 6525997
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6557178 by jamie dale in Dev-VR branch]
2019-05-18 10:05:30 -04:00
ben woodhouse
970d2b258f Fix linker loop deadlock bug (causes loading deadlock in some cases)
#rb gil.gribb

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 6417518 via CL 6418865 via CL 6418880 via CL 6418961 via CL 6418984
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6497723 by ben woodhouse in Dev-VR branch]
2019-05-15 14:18:10 -04:00
josh adams
00528d0aee - Added debug spikemark and spikemarkcheck to track objects that get destroyed after a mark, which can be used to track objects that go away right after being loaded; can help reduce memory spikes of objects being loaded and GCd right away
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 6402899 via CL 6403012 via CL 6404642 via CL 6404653
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6489357 by josh adams in Dev-VR branch]
2019-05-15 13:08:26 -04:00
robert manuszewski
f55a326805 Fixing a crash when launching cooked projects with the Event Driven Loader disabled
#rb none
#jira UE-73368
#lockdown cristina.riveron

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 6316372 in //UE4/Release-4.22/... via CL 6317373
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6350224 by robert manuszewski in Dev-VR branch]
2019-05-07 18:00:23 -04:00
david harvey
77d8ce7044 [LLM] another pass over EngineMisc. moves about 15MB out in my test replay, mostly moved to LoadMapMisc and StreamingManager.
#rb anthony.bills

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: david.harvey
#ROBOMERGE-SOURCE: CL 6173661 via CL 6179493 via CL 6179684
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6218434 by david harvey in Dev-VR branch]
2019-05-01 18:51:32 -04:00
marc audy
b75b4ebd75 Merging using //Ocean/Dev-EngineMerge-To-//UE4/Main
#rb
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5986648 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5999094 by marc audy in Dev-VR branch]
2019-04-18 21:21:10 -04:00
johan torp
25f11ea9ae Fix race condition in cook -diffonly
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: ryan.vance
#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 5937291 via CL 5937787 via CL 5937827
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5956336 by johan torp in Dev-VR branch]
2019-04-17 17:01:09 -04:00
nick darnell
246f1e0104 Adding const variants of some of the more common AddReferencedObject(s) functions to allow for FGCObjects to store const pointers to UObjects or collections and report those references easily, otherwise people make the mistake of creating local ptrs that can't be nulled out correctly.
#rb Robert.Manuszewski
[FYI] Dan.Hertzka

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 5830834 via CL 5830835 via CL 5835213 via CL 5835996
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5876858 by nick darnell in Dev-VR branch]
2019-04-12 21:13:56 -04:00
pj kack
8b34e2ed76 Optimize UPackage::IsFullyLoaded() for cooker.
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: ryan.vance
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5818305 via CL 5818901 via CL 5818980
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5856467 by pj kack in Dev-VR branch]
2019-04-12 13:52:56 -04:00
pj kack
b21c5947b5 Back out integrated changelist 5586728 (5571078) to resubmit all cook -iterate optimizations implemented on //UE4/Dev-core/... (see 5533504)
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: ryan.vance
#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: DEVVR (Main -> Dev-VR)

[CL 5787307 by pj kack in Dev-VR branch]
2019-04-08 14:08:44 -04:00
bob tellez
9bbdf24fb9 #UE4 Changed the order of the asset load error message to show the referencer first
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5755606 via CL 5763296 via CL 5763365
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5776193 by bob tellez in Dev-VR branch]
2019-04-08 13:01:56 -04:00
graeme thornton
ce60c733b0 Edigration of an FLinkerLoad optimization from Dev-Core CL 5709116
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: ryan.vance
#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: DEVVR (Main -> Dev-VR)

[CL 5729182 by graeme thornton in Dev-VR branch]
2019-04-04 01:13:38 -04:00
bob tellez
deeafb033b #UE4 Improve logging when assets fail to load. Failing to get the package linker will now produce fewer redundant log messages and all failure messages will include the asset that failed to load as well as the asset that was requesting the linker where possible.
#rb Robert.Manuszewski

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5713888 via CL 5714486 via CL 5714487
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5723933 by bob tellez in Dev-VR branch]
2019-04-03 22:21:45 -04:00
robert manuszewski
954d3726bb Fixing crashes in pkg info commandlet
#rb none

#ROBOMERGE-OWNER: ryan.vance
#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: DEVVR (Main -> Dev-VR)

[CL 5718602 by robert manuszewski in Dev-VR branch]
2019-04-03 21:04:31 -04:00
bob tellez
1deb83c532 #UE4 Fix a bug that caused logs about missing assets to not show their referencer
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5641069 via CL 5641333 via CL 5648075
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5653878 by bob tellez in Dev-VR branch]
2019-03-29 17:06:05 -04:00
bob tellez
a3624c000c Back out changelist 5533504. Crash at startup on forking linux servers. (Missing referencer information)
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5571078 via CL 5572105 via CL 5572109
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5586437 by bob tellez in Dev-VR branch]
2019-03-27 02:01:56 -04:00
daniel lamb
f589c24b82 Fixed crash in diff cook commandlet.
#rb Andrew.Grant

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: daniel.lamb
#ROBOMERGE-SOURCE: CL 5558994 via CL 5559027 via CL 5560253 via CL 5561251
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5585198 by daniel lamb in Dev-VR branch]
2019-03-27 01:36:43 -04:00
pj kack
a255328cb8 Copying task stream Dev-cook to Main
Integrate all cook -iterate optimizations from //UE4/Dev-core/...

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

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5533504 via CL 5533655 via CL 5536177
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5546459 by pj kack in Dev-VR branch]
2019-03-25 17:48:25 -04:00
marc audy
92d4e15440 Fix crash on shutdown depending on order of globals being destroyed
#jira
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5494625 via CL 5494635 via CL 5494639 via CL 5497857 via CL 5497991
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5516123 by marc audy in Dev-VR branch]
2019-03-22 18:13:07 -04:00
dan oconnor
4d57a48ceb Avoid resetting bExportLoadFailed when an object is destroyed, allows exports to stay invalidated after a GC call. Also we now invalidate exports for nodes replaced via ReplaceOldNodeWithNew
#rb Robert.Manuszewski
#jira UE-70904
#lockdown Cristina.Riveron

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: dan.oconnor
#ROBOMERGE-SOURCE: CL 5497598 in //UE4/Release-4.22/... via CL 5497599
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5516100 by dan oconnor in Dev-VR branch]
2019-03-22 18:12:46 -04:00
robert manuszewski
49e924db5a Fixing crash when the engine tries to open content saved with a newer engine version
#jira UE-71880
#rb none
#lockdown cristina.riveron

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 5496341 in //UE4/Release-4.22/... via CL 5496403
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5516098 by robert manuszewski in Dev-VR branch]
2019-03-22 18:12:42 -04:00
marc audy
83d3103481 Rework sparse delegate storage to not use uobject annotation and manage its own map and lock state. This eliminates unnnecessary annotation cache overhead and ensures entire operation on map is completed while the lock is in place rather than copying per-object map out of the annotation and then moving modified inner per-object map back in to the annotation as two separately locked actions.
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5483896 via CL 5483909 via CL 5483913 via CL 5487278 via CL 5487454
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5510133 by marc audy in Dev-VR branch]
2019-03-22 17:25:12 -04:00
steve robb
fa5082908a Fix for warnings about engine classes being hot reloaded when they haven't even changed.
#jira UE-71581
#rb none
[FYI] jamie.dale
#lockdown cristina.riveron

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 5459196 in //UE4/Release-4.22/... via CL 5459199
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5477267 by steve robb in Dev-VR branch]
2019-03-20 13:30:59 -04:00