The involved types don't need the alignment, the intent is just to put things on separate cache lines. Instead of passing the correct alignment when allocating Contexts I switched to manual padding, since MB2/3 fall back to expensive external allocations rather than using small block bins for >16 alignment.
#rb neil.henning
#[fyi] andrew.scheidecker
#rnx
#preflight 63bed621af3ebedd997768dd
[CL 23660060 by johan torp in ue5-main branch]
Reduces memory from 3.2 MB to 2.2 MB for an internal project with > 500 000 objects, and prevents large and slow reallocs.
Note that the object archetype may already be cached if GetArchetype is called before CacheArchetypeForObject for an object where the outer does not have RF_NeedLoad set (e.g. UPackages), and this causes the same annotation to be added twice.
Make FUObjectAnnotationChunked::AddAnnotation behavior consistent with FUObjectAnnotationDense by removing the existence check and allowing overwrites.
#jira UE-143138
#rb robert.manuszewski
#rnx
#preflight 63b68b94995dced03ab2df0d
[CL 23648554 by pj kack in ue5-main branch]
MemQuery plugin. LLM tracking of Assets and AssetClasses if enabled.
Memory usage queries to display memory usage for assets and classes with group breakdowns amongst other uses.
Modification to LowLevelMemTracker to support asset and assetclass tracking.
#rb Matt.Peters
[CL 23599453 by simon orr in ue5-main branch]
GetTypeHash will create a packaged object ref for hashing if the class is defined as lazy load otherwise raw pointer is hashed
a map was added for moved objects and ObjectPathId can be a WeakObjectPtr
the map allows UObjects to be mapped back to packed object refs
#rb zousar.shaker
https://p4-swarm.epicgames.net/reviews/23356491
#preflight 63b5de641c35d1cbdbccecf7
#preflight 63b70406e26e31879b8aa6d3
[CL 23589497 by joe pribele in ue5-main branch]
Use the same log verbosity logic for all properties, no matter if they have a custom default constructor or not.
Let the test succeed or fail based on the absence or presence of errors instead of based on the uninitialized struct count.
#jira UE-170827
#rb johan.torp
#rnx
#preflight 639c3c7e680483bcb10f48c7,63b3d93443330e63e5490b69
[CL 23564366 by pj kack in ue5-main branch]
Make sure to also reuse the serial number when reusing the internal index.
#jira UE-172667
#rb carlmagnus.nordin
#rnx
#preflight 639c3c248c5081ee9a4bbe79,63b3db852960b7322014a4a3
[CL 23564284 by PJ Kack in ue5-main branch]
Allow EditorDomain to save BulkDataType FBulkDataInfo::BulkSegment.
Declare a Region for each BulkData passed into the EditorDomain PackageWriter.
Mark BulkDatas saved by reference as PayloadInSeparateFile.
Allow RegionTypeNone in SerializePayload.
#rb Francis.Hurteau
#rnx
#preflight 639cec7c776b61ba3b905f8a
[CL 23542385 by Matt Peters in ue5-main branch]
- allow file region of type None
- don't early out when saving bulk data by reference
#rb trivial
#jira none
#preflight 639b6de30a67152550853ab9
#rnx
[CL 23529938 by Per Larsson in ue5-main branch]
#rb Per.Larsson
#jira UE-172748
#rnx
#preflight 639b08552540a78d27dd55a0
- CL 23489396 introduced a problem for packages that contain both BulkData and EditorBulkData. When saved for the workspace domain FPackageFileSummary would be provided the wrong values for PayloadTocOffset (it would be a lower value than BulkDataStartOffset) causing the trailer to fail to load. When an editor bulkdata is later serialized it would be unable to find itself in the trailer (since the trailer doesn't exist) and we would assert as this should never be the case.
- Although the bug generating the bad data will be fixed, we can still load the trailer by jumping to the end of the package file and reading the trailer in reverse order, although this is a slower method which is why we prefer the forward reading method based on the stored offset.
- We will limit this fix to packages with the version number == EUnrealEngineObjectUE5Version::DATA_RESOURCES so that we only try this with packages that we know could have incorrect offsets.
[CL 23525286 by paul chipchase in ue5-main branch]