Commit Graph

2423 Commits

Author SHA1 Message Date
robert manuszewski
06bfb2e2d1 Deprecating UE_GC_TRACK_OBJ_AVAILABLE as it's not required. Simplified available UObject count tracking.
+ Removed GetObjectArrayNumAvailable which was a temp workaround

#preflight 64072ba8ba12ba64167e2bbf
#rb Johan.Torp

[CL 24575353 by robert manuszewski in ue5-main branch]
2023-03-09 09:41:31 -05:00
joe pribele
a7673567fe change to FObjectPropertyBase ParseObjectPropertyValue and FindImportedObject to take in a TObjectPtr<UObject> instead of UObject
added `SetObjectPtrPropertyValue(void* PropertyValueAddress, TObjectPtr<UObject> Value)`

this allows objects to be imported from text without resolving the object
#preflight 640900fa8832f48a4dc62ee4

[CL 24567650 by joe pribele in ue5-main branch]
2023-03-08 16:56:59 -05:00
robert millar
c3778410d3 Remove unnecessary access to linker annotation in UObject::AddReferencedObjects.
Lifetime of Linker should be set by Package's BeginDestroy.
Speeds up reference traversal in editor significantly. (Approx 25% decrease in bp reinstancing time in a large test case.)

#rb francis.hurteau
#preflight https://horde.devtools.epicgames.com/job/6408d217827cf9251b30fef5

[CL 24567057 by robert millar in ue5-main branch]
2023-03-08 16:30:33 -05:00
paul chipchase
35134bea20 Saving packages with the package trailer stucture is no longer optional.
#rb PJ.Kack
#jira UE-179504
#rnx
#preflight 64089b4f8832f48a4d9db8b8

- Removed the config file option [Core.System]UsePackageTrailer so we no longer read it, the system is now on permantly
- FPackageTrailer::IsEnabled was the only place reading that config file option. To avoid compiler issues it will now always return true but is marked as deprecated so if any 3rd party has been using this (and I cannot think why they would) they will be alerted to the change.

[CL 24559907 by paul chipchase in ue5-main branch]
2023-03-08 10:22:31 -05:00
Thomas Sarkanen
22efb36862 Added ElementType to TSubclassOf
#jira none
#rb Steve.Robb
#preflight 6405fe043206d45d200ce4e3

[CL 24522025 by Thomas Sarkanen in ue5-main branch]
2023-03-06 10:05:03 -05:00
robert manuszewski
efd74512e7 Adding the ability to force garbage collection if the engine is close to reaching UObject count limit
#tests Introduced 10K per frame UObject leak on the server and observed the new code behavior
#preflight 6401d90b5f3b94d29287b028

[CL 24508771 by robert manuszewski in ue5-main branch]
2023-03-03 17:35:14 -05:00
robert millar
47b7b927fa Speculative fix for object being removed from object hash during gc when it was never inserted.
#rb none

[CL 24493733 by robert millar in ue5-main branch]
2023-03-02 20:28:57 -05:00
Matt Peters
7bbd3c4bf0 Cooker,AssetRegistry,AssetManager: Remove deprecation handling for fields deprecated in 5.1 and earlier.
Make AssetManager required; engine startup gives a fatal error if AssetManager is not present.
#rn Minor, Cooking
#rb Zousar.Shaker
#preflight 63ffd322df66ed5fc11d963e

[CL 24493164 by Matt Peters in ue5-main branch]
2023-03-02 19:37:50 -05:00
matt peters
cf3134b007 GarbageCollection support for Cooker SoftGC: When collecting garbage for the cooker, if a package is referenced and will remain in memory, it needs to ensure that all of its public objects will also remain in memory so they can be exported if the package is ever saved.
[REVIEW] [at]graeme.thornton, [at]zousar.shaker
#preflight 6400fb415f3b94d2922766db
#rb Zousar.Shaker
#rnx
#localization none
#tests Fortnite cook, no runtime tests

[CL 24491745 by matt peters in ue5-main branch]
2023-03-02 18:03:52 -05:00
dmytro vovk
4a7ecdab44 UObject data layout optimization
#rb Steve.Robb Tim.Smith
#preflight 64009fc2c63aaf1e135a408c

[CL 24482248 by dmytro vovk in ue5-main branch]
2023-03-02 10:35:18 -05:00
steve robb
89dea5ccb8 Commented-out deprecatation of TScriptDelegate<FWeakObjectPtr> - will actually deprecate when it verified clean in other streams.
#rb andriy.tylychko
#preflight 63ff7397c63aaf1e13f7dbfc

[CL 24480681 by steve robb in ue5-main branch]
2023-03-02 08:44:04 -05:00
francis hurteau
63988aa391 Do not broadcast OnAsyncLoadingFlush delegate when they are done in the context of a sync load when using the zen loader
#rb Robert.Millar, Matt.Peters
#preflight 63ff94bcef1b24bf94a3cc39

[CL 24471295 by francis hurteau in ue5-main branch]
2023-03-01 16:51:52 -05:00
julien stjean
c846852672 Allow the loaded objects to query the linker to know if there package was relocated.
Added a warning when loading a level with some external object or actors that was relocated because it is not properly supported and it might cause some data stumping when saving the external objects and actors.

[REVIEW] [at]francis.hurteau
#preflight 63fe8a9dae54ee4ce9e685d8
#localization none

#tests Loaded some relocated level to validate the presence of the warning. Loaded some not relocated level to validate that the warning is not present. Run a preflight to validate that the change is not creating new cis issues.

[CL 24470081 by julien stjean in ue5-main branch]
2023-03-01 16:02:15 -05:00
francis hurteau
44122576f1 ZenLoader in Editor: Respect the LoadObject flags LOAD_Quiet and LOAD_Warn flags to silence warnings about missing packages in this scenario.
Always silence warning about missing package for script packages, just like GetPackageLinker() simply returns nullptr for PKG_InMemoryOnly.
submitted on behalf of [at]PJ.Kack

#rb Matt.Peters
#preflight 63fe8765ae54ee4ce9e59742

[CL 24469377 by francis hurteau in ue5-main branch]
2023-03-01 15:38:55 -05:00
james hopkin
528c83e026 Fixed cyclic header dependency. UnrealType.h was indirectly including itself via CoreNetTypes.h.
#preflight 63ff3f0cac6c61e2b5ae8636

[CL 24465005 by james hopkin in ue5-main branch]
2023-03-01 12:33:17 -05:00
Matt Peters
8f5d3795c4 Cooker HiddenDependencies analytics.
1) Add -HiddenDependenciesDebug parameter to give warnings for any package references from objects that were not declared in the AssetRegistry dependencies. Removing all hidden dependencies is necessary for robust iterative cooks.
2) Add or extend the PackageScope around all cook operations: Set UE_TRACK_REFERENCING_PACKAGE_SCOPED scope, set packagename for CrashTracker and HiddenDependencies analytics.
3) Remove HybridIterativeDebug parameter; it was the same behavior as the better-named HiddenDependenciesDebug.

#rnx
#rb Zousar.Shaker
#preflight 63ff7badef1b24bf949a2418

[CL 24463786 by Matt Peters in ue5-main branch]
2023-03-01 11:42:56 -05:00
joe pribele
db7a692cc7 second attempt to fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fe5fc7ac6c61e2b553e9a9

[CL 24449378 by joe pribele in ue5-main branch]
2023-02-28 15:26:26 -05:00
steve robb
9eacba307c Removed TScriptDelegate<FWeakObjectPtr> and TMulticastScriptDelegate<FWeakObjectPtr> usage.
#rb andriy.tylychko
#preflight 63fe1d2da134e0b059646d36

[CL 24447109 by steve robb in ue5-main branch]
2023-02-28 13:50:48 -05:00
bryan sefcik
798f48c9f9 Removed the ability to disable inlining gen.cpp files. The engine code relies on this feature and can't compile without it now.
#fyi joe.kirchoff
#preflight 63fd48de2b1a2765f9a987a5

[CL 24447101 by bryan sefcik in ue5-main branch]
2023-02-28 13:50:14 -05:00
johan torp
cdd1199203 Add GC.DumpTokenStats command
#rb pj.kack
#rnx
#preflight 63fe0c722b1a2765f9ea42b9

[CL 24443930 by johan torp in ue5-main branch]
2023-02-28 11:35:57 -05:00
steve robb
3a68953bba Removed TWeakPtr parameter from delegate macros.
#rb andriy.tylychko
#preflight 63fdf98cc35a141980687b1b

[CL 24443091 by steve robb in ue5-main branch]
2023-02-28 10:59:38 -05:00
johan torp
f696e429ea Drop weak token support for CollectReferences/TFastReferenceCollector
#rb  pj.kack
#preflight 63f4f28091018822ccf2579f

[CL 24442012 by johan torp in ue5-main branch]
2023-02-28 09:56:36 -05:00
phillip kavan
f8f5fd63d3 Fix potential for data loss when loading hierarchical Blueprint class assets w/ circular dependencies asynchronously in the editor.
#jira UE-175370
#rb Francis.Hurteau, Dan.OConnor
#preflight 63f5cd08977ceed9151fe3a4

[CL 24436823 by phillip kavan in ue5-main branch]
2023-02-27 20:56:57 -05:00
steve robb
32e7056c6a Static assert when casting a non-UObject to an interface.
#rb devin.doucette
#preflight 63fd1c68ef1b24bf94bb2cc7

[CL 24436797 by steve robb in ue5-main branch]
2023-02-27 20:56:18 -05:00
joe pribele
6d1d492c29 [Backout] - CL24432584
#fyi joe.pribele
Original CL Desc
-----------------------------------------------------------------
fix for performance problem when converting arrays of TObjectPtr to UObject*
changed the access tracking to a bulk operation api to allow for single calls instead of O(n) calls
#preflight 63fd1de9f43e53f6811a37af

[CL 24436160 by joe pribele in ue5-main branch]
2023-02-27 19:54:50 -05:00