Commit Graph

1396 Commits

Author SHA1 Message Date
aurel cordonnier
d17d20ca36 Merge from Release-Engine-Test @ 16758890 to UE5/Main
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719 (and Release-17.00 @ 16658211)

[CL 16763350 by aurel cordonnier in ue5-main branch]
2021-06-23 17:51:32 -04:00
PJ Kack
93ab2dcb43 GarbageCollection: Improve GC reachability analysis wall time by letting the GT do work using a ParallelFor instead of waiting.
#jira UE-116567
#rb danny.couture
#rnx

[CL 16755950 by PJ Kack in ue5-main branch]
2021-06-23 08:53:57 -04:00
danny couture
0c5673e3f3 Optimize the ddc fill job
- Avoid redundant iterations and processing of UPackages by implementing a listener instead
  - Process many packages asynchronously (not just one) by keeping them in memory longer and finishing them later
  - Make the ddc fill job wait for async tasks properly
  - Fix texture always being single threaded by allowing async at all time for ddc fill jobs
  - Avoid calling IsCachedCookedPlatformDataLoaded too often on objects still being compiled
  - Use a more sensible max memory usage in WorldPartitionHelpers to avoid calling the GC too often

  - 30m16s to 7m44s when running -run=DerivedDataCache -fill -map=P_Construct_WP -mapsonly -projectonly with hot cache
  - 2h30m to 1h11s when running -run=DerivedDataCache -fill -map=P_Construct_WP -mapsonly -projectonly with cold cache

#rb Zousar.Shaker, Devin.Doucette
#preflight 60d1fd5571002f0001b8880e

[CL 16745009 by danny couture in ue5-main branch]
2021-06-22 12:50:20 -04:00
Matt Hoffman
afdbbebef0 Matinee: Misc cleanup (code comment changes, etc.)
#jira UE-105313
#rb Trivial
#preflight 60cb86666092ba00014e413d

[CL 16708963 by Matt Hoffman in ue5-main branch]
2021-06-17 14:56:54 -04:00
Zousar Shaker
cf116088ae Integrating //UE5/Dev-Cooker @ 16678003 to //UE5/Main (Zousar.Shaker-YEG-0943-Quaternary)
Non-DevIteration_ShooterGame

[CL 16678907 by Zousar Shaker in ue5-main branch]
2021-06-15 16:36:57 -04:00
Cody Albert
ab69b2a835 Exposed FInt32Interval to blueprints
#rb jamie.dale

[CL 16675762 by Cody Albert in ue5-main branch]
2021-06-15 13:21:53 -04:00
ionut matasaru
6bfb55b3bd [Insights]
- Fixed tracing of UObject names and function names (UObject::CallFunction, FScopeCycleCounterUObject) when "stat named events" toggle is enabled (-statnamedevents, "stat NamedEvents" console command).
  - Added FCpuProfilerTrace::OutputBeginDynamicEvent(const FName), in addition to existing API that receives const ANSICHAR*  or const TCHAR*. It uses a separate DynamicFNameScopeNamesMap.

#rb Johan.Berg
#fyi Jeff.Farris

[CL 16657504 by ionut matasaru in ue5-main branch]
2021-06-14 08:51:02 -04:00
Marc Audy
1d4ce4f57a Shrink FObjectImport
#rb Michael.Noland

[CL 16644166 by Marc Audy in ue5-main branch]
2021-06-11 13:49:31 -04:00
aurel cordonnier
e0ad4e25df Merge from Release-Engine-Test @ 16624776 to UE5/Main
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16625248 by aurel cordonnier in ue5-main branch]
2021-06-10 13:13:24 -04:00
Tim Smith
c21dd493c5 Fixed global delegate functions to support changes when doing live coding.
Fixed issue where changing a function signature in an interface wouldn't update nodes in a blueprint.
Changed the API of the deferred registry to be more inline with UE coding standards.

#rb ben.marsh phillip.kavan
#rnx
#jira UE-113662
#preflight 60c0c0fdc61264000190e16a

[CL 16606206 by Tim Smith in ue5-main branch]
2021-06-09 11:42:43 -04:00
PJ Kack
e7c06e9e13 Add trace scopes for garbage collection and memory trim
#rb carlmagnus.nordin
#jira none
#rnx

[CL 16567410 by PJ Kack in ue5-main branch]
2021-06-07 03:14:13 -04:00
Matt Peters
b2660eae6b EditorDomain: Mark that package flag PKG_ReloadingForCooker is transient; it should not be saved to or loaded from the PackageFileSummary.
Add an enum value for transient package flags and clear them all on load from PackageFileSummary in addition to the current clearing on save, so that newly-marked transient flags that were previously saved out can still avoid being set when loading.

#rnx
#rb Francis.Hurteau

[CL 16547525 by Matt Peters in ue5-main branch]
2021-06-03 10:50:00 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
PJ Kack
cd3de34b14 Optimize FPropertyValueIterator to alleviate the GC performance regression from 16048941.
Add separate stack entries instead of inserting elements in one single array to minimize mem copying.
Minimize processing of non matching properties.
Do expensive IsA-checks only once per property.
Use TInlineAllocator to reduce allocations.
Fix broken GetPropertyChain feature.

Iterator Tests:
Extend test with recursion.
Add test without recursion.
Add test for SkipRecursiveProperty feature.
Add test for previously broken GetPropertyChain feature.

Impact on TPropertyValueIterator in EngineTest on Win64:
~2X speedup for TPropertyValueIterator<T> on UEngineTestPropertiesObject for any T != FProperty, less when actually iterating all properties

Impact on Garbage Collection Reachability Analysis for a big internal project on a slower platform running reachability analysis in parallel in 4 task queues:
~130 ms => ~005 ms for UClass::AddReferencedObjects (TPropertyValueIterator<FObjectProperty>) for the worst case UAnimBlueprintGeneratedClass
~150 ms => ~035 ms total wall time
~300 ms => ~130 ms total thread time

Impact on Garbage Collection Reachability Analysis for a big internal project on a faster platform running reachability analysis in parallel in 7 task queues:
~040 ms => ~002 ms for UClass::AddReferencedObjects (TPropertyValueIterator<FObjectProperty>) for the worst case UAnimBlueprintGeneratedClass
~045 ms => ~022 ms total wall time
~200 ms => ~150 ms total thread time

#jira UE-116567
#rb robert.manuszewski
#rnx

[CL 16482526 by PJ Kack in ue5-main branch]
2021-05-27 07:46:38 -04:00
sebastian nordgren
5072dd8816 UEditorConfigSubsystem now has helpers to directly load into UObjects based on the EditorConfig= class metadata, as well as filtering of properties tagged with the EditorConfig property metadata.
#rb tim.smith, lauren.barnes
#jira UETOOL-3448
#preflight 60aceb521d02bb000144bc59

[CL 16447508 by sebastian nordgren in ue5-main branch]
2021-05-25 10:01:03 -04:00
Matt Peters
739ff80ac5 Compiletime improvement: remove LinkerSave.h from Package.h and CoreUObject.h.
#rb Devin.Doucette
#rnx

[CL 16423864 by Matt Peters in ue5-main branch]
2021-05-21 15:53:22 -04:00
Devin Doucette
fd7825f16c Removed unnecessary include of PathViews.h in a header that is included nearly everywhere
#rb Matt.Peters
#rnx
#preflight 60a7ef3f6905a600011d463b

[CL 16423171 by Devin Doucette in ue5-main branch]
2021-05-21 15:24:13 -04:00
Jamie Dale
b288b2bf19 FScriptInterface/TScriptInterface improvements
- Added type-safe overloads of GetInterface/SetInterface on TScriptInterface.
 - Added GetTypeHash to FScriptInterface.
 - Cleaned-up operator= overloads with non-standard return types.
 - Ensure that FScriptInterface is always constructed with both an object and interface argument specified.

#rb Steve.Robb
#preflight 60a6b17ab7ccb00001cab117

[CL 16408981 by Jamie Dale in ue5-main branch]
2021-05-20 16:10:46 -04:00
Tim Smith
0d25892ca9 Fixing issue with ScriptStructs and Enumerations appearing in the blueprint editor that have already been re-instanced. This resulted in a crash with ScriptStructs. Also fixed issue with changes to default values in a script struct not being refected in the blueprint nodes.
#rb marc.audy
#rnx
#jira UE-115768
#preflight 60a3a53aae0db00001ba6c8c

[CL 16365503 by Tim Smith in ue5-main branch]
2021-05-18 08:12:55 -04:00
dave jones2
ece8a053f4 Removed unncessary FLinkerLoad::StaticInit.
This appears to be a really old holdover from early UE4 development. It was originally introduced in CL 1258792 to satisfy a lingering Engine dependency. However, that dependency was eventually removed in CL 3119255, which this change probably should've been lumped with.

#jira nojira
#rb marc.audy, robert.manuszewski

[CL 16351204 by dave jones2 in ue5-main branch]
2021-05-17 11:01:55 -04:00
Tim Smith
f9d1032a62 Adding CLASSCAST flags for the new LWC property. It was acting as a numeric when used in an IsA<> test. This resulted in UHT accepting any numeric as a valid blueprint type.
#rb andy.davidson
#rnx

[CL 16330599 by Tim Smith in ue5-main branch]
2021-05-14 11:51:35 -04:00
Matt Peters
b90ea68f18 VirtualBulkData and EditorDomain: Do not update the PackagePath for VirtualBulkData if SavePackage is saving to a copy rather than updating the Package's PackagePath.
#rb Paul.ChipChase
#rnx

[CL 16328647 by Matt Peters in ue5-main branch]
2021-05-14 08:35:53 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
RobertVater
6b04af6ace PR #7908: FPrimaryAssetID can now be serialized into a FArchive (Contributed by RobertVater)
#jira UE-115186
#preflight 609bc9978f6375000101480f

[CL 16298628 by RobertVater in ue5-main branch]
2021-05-12 09:45:16 -04:00
Benn Gallagher
7f2e95997c Chaos: Fixing implicit type conversions where there could be data loss.
Mostly casting directly to the correct type but caught a few bugs in selected types that are now fixed)
Also made such conversions warnings within the Chaos and ChaosCore modules, may promote to error once we're sure it's buliding fine.
#rb cedric.caillaud
#jira UE-88355
#preflight 609a5e934cb94000015ae9f1

[CL 16268359 by Benn Gallagher in ue5-main branch]
2021-05-11 09:48:22 -04:00