Commit Graph

119 Commits

Author SHA1 Message Date
Bob Tellez
a6646aeed7 [AUTOMERGE]
#UE4 Added the exclusive load package time tracker, which is a tool to keep track of the exclusive load times for all packages that are loaded in development/debug builds. Use the "LoadTimes.DumpReport" console command to see the load time report

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2627564 by Bob.Tellez on 2015/07/21 12:07:44.

[CL 2627568 by Bob Tellez in Main branch]
2015-07-21 12:10:07 -04:00
Robert Manuszewski
c488dc8e42 Making FDefferedMessageLog slighly more thread safe
[CL 2626067 by Robert Manuszewski in Main branch]
2015-07-20 13:13:50 -04:00
Richard TalbotWatkin
080b1016b6 Back out changelist 2625724
[CL 2625925 by Richard TalbotWatkin in Main branch]
2015-07-20 11:16:15 -04:00
Richard TalbotWatkin
1e4b7565e1 Removed FDeferredMessageLog. Added concept of 'unseen messages' to IMessageLog. Opened assets now automatically open the message log if they encounter load errors.
#jira UE-18229 - Opening an asset that has load warnings does not pop up the Message Log

[CL 2625724 by Richard TalbotWatkin in Main branch]
2015-07-20 09:01:53 -04:00
Robert Manuszewski
d40edf7214 A few more stats for async loading
[CL 2621654 by Robert Manuszewski in Main branch]
2015-07-15 09:12:25 -04:00
Robert Manuszewski
54ab5bfa0b Reducing log verbosity when inserting package dependencies while async loading
#codereview Graeme.Thornton

[CL 2621521 by Robert Manuszewski in Main branch]
2015-07-15 04:58:04 -04:00
Saul Abreu
37c4c8cfce Editor-only data is now gathered for localization by opting-in through a new setting.
[CL 2621214 by Saul Abreu in Main branch]
2015-07-14 20:21:23 -04:00
Robert Manuszewski
f027f2e8dd Adding stats to detect BulkData async buffer leaks
[CL 2620547 by Robert Manuszewski in Main branch]
2015-07-14 14:28:27 -04:00
Graeme Thornton
4af4e5b6ac Separate asset registry dependencies into "hard" and "soft", where hard references are required to be loaded before the asset, and soft ones are optional (string asset references basically)
[CL 2616463 by Graeme Thornton in Main branch]
2015-07-10 06:22:45 -04:00
Graeme Thornton
641adb6529 Dependency preloading stuff
- Generate a new cooker file open log for unrealpak to use if it can't find a game file order
 - Add dependency data into the "mini" asset registry
 - Load mini asset registry at runtime and use it to load package dependencies BEFORE opening the requested package. Hopefully, all in the same order as the cooker file log

[CL 2608850 by Graeme Thornton in Main branch]
2015-07-02 06:43:49 -04:00
Robert Manuszewski
3cbdecd043 Basic support for flushing async loading for the specified package only.
[CL 2600250 by Robert Manuszewski in Main branch]
2015-06-25 04:47:30 -04:00
Robert Manuszewski
299920bf38 Adding prefixes to GC and Streaming console commands to make them more discoverable. Also added a few placeholder commands to suppress warnings on startup.
Console commands affected:

s.AsyncIOBandwidthLimit
s.MinBulkDataSizeForAsyncLoading
s.AsyncLoadingThreadEnabled
s.WarnIfTimeLimitExceeded
s.TimeLimitExceededMultiplier
s.TimeLimitExceededMinTime
s.UseBackgroundLevelStreaming
s.PriorityAsyncLoadingExtraTime
s.LevelStreamingActorsUpdateTimeLimit
s.LevelStreamingComponentsRegistrationGranularity

gc.MaxObjectsNotConsideredByGC
gc.SizeOfPermanentObjectPool
gc.FlushStreamingOnGC
gc.NumRetriesBeforeForcingGC
gc.AllowParallelGC
gc.TimeBetweenPurgingPendingKillObjects
gc.CollectGarbageEveryFrame
gc.StressTestGC

New console variables:
s.UseBackgroundLevelStreaming
s.AsyncLoadingTimeLimit
s.AsyncLoadingUseFullTimeLimit
s.PriorityAsyncLoadingExtraTime
s.LevelStreamingActorsUpdateTimeLimit
s.LevelStreamingComponentsRegistrationGranularity

[CL 2596909 by Robert Manuszewski in Main branch]
2015-06-23 08:18:32 -04:00
Robert Manuszewski
13b8c2f953 When queueing new async packages, also look for existing packages in loaded packages to process.
Added UPackage member to FPackageAsync to track both linker and the package.

Made sure async packages get deleted when cancelling async loading

[CL 2590490 by Robert Manuszewski in Main branch]
2015-06-17 14:01:54 -04:00
Robert Manuszewski
65fb0ff95e Deferred linker load delete to fix potential crashes when code attempts to access linkers that have already been deleted earlier in the callstack
[CL 2589115 by Robert Manuszewski in Main branch]
2015-06-16 15:08:39 -04:00
Robert Manuszewski
bc0c225c8d Deprecated FAsyncPackage Type as it was not used by anything.
[CL 2587642 by Robert Manuszewski in Main branch]
2015-06-15 14:26:23 -04:00
Robert Manuszewski
87d48ff51c Making FLinkerLoad aware of FAsyncPackage association
[CL 2587214 by Robert Manuszewski in Main branch]
2015-06-15 06:15:31 -04:00
Robert Manuszewski
e1888e87da AsyncLoading: Making sure DeferredFinalizeObjects are always referenced by GC until streaming has finished
[CL 2585861 by Robert Manuszewski in Main branch]
2015-06-12 12:14:42 -04:00
Robert Manuszewski
9c7da1b48d Adding a console variable for TimeBetweenPurgingPendingKillObjects.
[CL 2585365 by Robert Manuszewski in Main branch]
2015-06-12 01:06:55 -04:00
Robert Manuszewski
03d52bf437 Backing out bad merge (CL #2584863)
#codereview John.Abercrombie

[CL 2585363 by Robert Manuszewski in Main branch]
2015-06-12 01:05:55 -04:00
Bob Tellez
e2b5909354 [AUTOMERGE]
#UE4 Avoiding a potential crash with a deleted linker

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2584966 by Bob.Tellez on 2015/06/11 17:20:30.

[CL 2585067 by Bob Tellez in Main branch]
2015-06-11 18:05:29 -04:00
John Abercrombie
0bacc967eb Merging using UE4-Fortnite-To-UE4 @ CL 2578109
[CL 2584863 by John Abercrombie in Main branch]
2015-06-11 16:25:03 -04:00
Robert Manuszewski
8b1c79d515 Exposing more package streaming and garbage collection settings to project settings in the editor.
Also, added new console variables for the existing settings:

New Package Streaming console variables:
- WarnIfTimeLimitExceeded
- TimeLimitExceededMultiplier
- TimeLimitExceededMinTime
- MinBulkDataSizeForAsyncLoading
- AsyncIOBandwidthLimit

New GC console variables:
- FlushStreamingOnGC
- NumRetriesBeforeForcingGC

[CL 2584216 by Robert Manuszewski in Main branch]
2015-06-11 10:42:18 -04:00
Robert Manuszewski
b0e692d87c Adding more configurable settings to time limit exceeded warning when async loading
[CL 2582558 by Robert Manuszewski in Main branch]
2015-06-10 09:07:24 -04:00
Robert Manuszewski
b61c99b409 Removing mutex lock from FAsyncObjectsReferencer::AddReferencedObjects
[CL 2577166 by Robert Manuszewski in Main branch]
2015-06-04 12:30:19 -04:00
Robert Manuszewski
575274152b Reverting bad merge
#codereview Eric.Newman

[CL 2574179 by Robert Manuszewski in Main branch]
2015-06-02 13:53:47 -04:00