#rb Per.Larsson
#rnx
#preflight 60f93e100fc49a0001c95bea
- When a package is saved we now push it's payloads to local storage backends (in memory/local file cache etc)
- In a future piece of work, when a package is submitted we will push it's payloads to the persistent storage backends (jupiter/source control etc)
- When pulling a payload we will first search the local storage backends for it and then go to the slower persistent storage backends if it was not found.
-- Once a payload has been found when being pulled we will immediately cache it to the local storage backends so that subsequent pulls will be faster.
-- At some point a ZenStorage backend will be added which will most likely be the primary local storage backend.
[CL 16922588 by paul chipchase in ue5-main branch]
The following functions would gracefully handle a count of zero:
- EmptyAndAddValues
- EmptyAndAddUninitializedValues
The following functions would assert if given a count of zero:
- AddUninitializedValues
- AddValues
- InsertValues
- RemoveValues
- ClearValues
This change makes all of the above functions gracefully handle a count of zero, which addresses some editor crashes that could easily occur in user scripts when using unreal.Array in Python.
#fyi Malachi.Duncan
#rb Matt.Peters
#preflight 60f74556e885f20001b56003
[CL 16909007 by Jamie Dale in ue5-main branch]
#rb Per.Larsson
#rnx
#preflight 60f7b910a6959a000164fb78
* SVirtualizationStatusIndicator
- Added the total time taken for each activity to the widget's tooltip and reformatted the output to be clearer.
- The initial tool tip should just give a brief highlevel overview of the activity taking place so groups all backends together across all threads.
* VirtualizationManager
- Profiling data for Mirage is now stored as a struct per activity type, making it easier to edit in the future.
- We now store the profiling data in the base format and let the different display methods format it instead.
[CL 16906627 by paul chipchase in ue5-main branch]
2) Added a quick method to query the deferred CppStructOps until we decide on a long term solution
3) Added method to test to see if a source file is the NoExports include file.
#rb none
#rnx
#preflight 60f6c42f25c166000152cbdc
[CL 16895867 by Tim Smith in ue5-main branch]
The UObject would write the correct config state, but UpdateSinglePropertyInSection would fail to remove the data for the updated key as it (correctly) wasn't present in the config being applied. This change has it remove the key from the config section if it exists.
#jira UE-119534
#rb Brooke.Hubert, Matt.Peters
[CL 16884096 by Jamie Dale in ue5-main branch]
useful for RVT on mobile platforms, to save the cost of runtime compression
#rb Dmitriy.Dyomin mihnea.balta
[CL 16872220 by yangke li in ue5-main branch]
Add OnEndLoad calls for Async loaded packages, since the editor sometimes uses async loads.
#rb Francis.Hurteau
#rnx
[CL 16861817 by Matt Peters in ue5-main branch]
- Issues with UObject* properties are upgraded from Warning to Error
- Other types remain the same for both engine and project modules (Display), but engine will soon change to Error as well
Settings can be overridden for either project or engine modules in DefaultEngine.ini (engine defaults are in BaseEngine.ini), e.g.,
[CoreUObject.UninitializedScriptStructMembersCheck]
EngineModuleReflectedUninitializedPropertyVerbosity=Error
ProjectModuleReflectedUninitializedPropertyVerbosity=Warning
#rb marc.audy
[CL 16826159 by Michael Noland in ue5-main branch]
- Fixed the trace of scope cycle counters for UObject to be enabled everywhere where FScopeCycleCounterUObject is used switced by Stats::IsThreadCollectingData().
- Fixed UObject::CallFunction to trace UObject name for Insights only when GVerboseScriptStats is on.
#rb Catalin.Dragoiu
#fyi Johan.Berg, Jeff.Farris
[CL 16824659 by ionut matasaru in ue5-main branch]
Always try to find the likely culprit in case of illegal references
#rb Matt.Peters
#jira UE-115971
#ROBOMERGE-SOURCE: CL 16774967
#ROBOMERGE-BOT: (v836-16769935)
[CL 16774971 by francis hurteau in ue5-main branch]
Updating FVirtualizedUntypedBulkData and textures to use the BulkDataRegistry.
BulkDataRegistry: Add get/put accessors for the cached BulkDataList of packages.
EditorDomain: Move ClassDigests into a global variable that can be shared with BulkDataRegistry.
EditorDomain: Improve performance of GetFileSize by fetching metadata only.
Tickable Cook Objects, for systems used by the cooker that need to be ticked.
Implementation of the the BulkDataRegistry that uses the DDC cache for persistent storage of the BulkDataList.
#rb Devin.Doucette, Paul.Chipchase, Zousar.Shaker
[CL 16768772 by Matt Peters in ue5-main branch]
- 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]