Commit Graph

127 Commits

Author SHA1 Message Date
Graeme Thornton
2cb3084599 Integrating CL 2668961 into main:
Improvements and fixes for dependency preloading
 - Fix check when mutliple load requests reference a shared asset
 - Added a package load flag to disable dependency preloading on that package
 - Fix a crash when loading default materials by disabling preloading
 - Added WIP code to cooker to sort maps in pak file.

Display level load times for persistent levels when using "stat levels"

[CL 2669089 by Graeme Thornton in Main branch]
2015-08-26 08:11:35 -04:00
Robert Manuszewski
b2b8cef6bb Cook-by-the-book will now skip saving packages that are referenced only through editor-only properties.
[CL 2652369 by Robert Manuszewski in Main branch]
2015-08-12 03:24:05 -04:00
Robert Manuszewski
9ab0996834 Backing out bad merge. Insert package predicate has already been changed to < instead of <= in main.
#codereview Josh.Markiewicz

[CL 2646208 by Robert Manuszewski in Main branch]
2015-08-06 04:09:21 -04:00
Josh Markiewicz
f8d83447e1 #Integration FN->Main from CL#2642868
Engine Source changes

[CL 2645403 by Josh Markiewicz in Main branch]
2015-08-05 15:54:57 -04:00
Bob Tellez
57607df3c3 [AUTOMERGE]
#UE4 Allowing ResetLoader to get called on FAsyncPackages in cooked games. Previously DetachLinker would get called right before which prevents ResetLoader from deleting the linker and reclaiming the memory used until the UPackage is destroyed.

#codereview Robert.Manuszewski

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2640980 by Bob.Tellez on 2015/07/31 17:03:42.

[CL 2640982 by Bob Tellez in Main branch]
2015-07-31 17:04:17 -04:00
Saul Abreu
a6e1ded6f6 Fixed improper pointer math for accessing the value of a fixed sized array property in gathering localization data from text properties.
[CL 2640824 by Saul Abreu in Main branch]
2015-07-31 15:36:58 -04:00
Robert Manuszewski
92cdf56f08 Merging CL #2599282 by Ben.Zeigler@BenZeiglerZ on 6/24/2015 2:34:03 PM
#UE4 Change the order of the async loading tick to process loaded packages before reading in new ones. This stops it from preloading all packages and exploding memory usage before it processes any of the loaded ones.
Change it so newly requested async load packages are placed after packages of equal priority, this stops them from interrupting in progress loads of the same priority

[CL 2640423 by Robert Manuszewski in Main branch]
2015-07-31 11:35:23 -04:00
Jaroslaw Palczynski
2c16d2b417 FStringAssetReference fixes.
All changes regarding e-mail discussion titled "Asset registry shenanigans".

Changes:
1. Engine now actively is getting rid of short asset paths in FStringAssetReference during saving (for all packages) and loading (only for older packages).
2. Deprecated direct access to FStringAssetReference.AssetLongPathname and exposed it via ToString and SetPath -- SetPath is making sure the path is in correct format. If the path can't be found on disk, the path is cleared.
3. Also access to FStringAssetReference.AssetLongPathnam via Blueprints is guarded using custom Make node function that uses SetPath instead of simple assign.
4. StringAssetReferenceMap will now contain only paths to packages (not objects) and ini references
5. GetDependencies now has additional parameter that lets you chose if it should resolve ini references or not. It was left not as default to keep old behaviour.

[CL 2630589 by Jaroslaw Palczynski in Main branch]
2015-07-23 10:49:29 -04:00
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