Commit Graph

2134 Commits

Author SHA1 Message Date
Michael Noland
9366100a2f Core: Changed the verbosity of the unintialized reflected property check to an error for types in engine modules or UObject* properties
#codereview nick.darnell
#preflight 60d50948925f140001249b76

[CL 16780416 by Michael Noland in ue5-main branch]
2021-06-24 20:03:03 -04:00
francis hurteau
c3bd55cb3d Remove the usage of modal message dialog in package saving
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]
2021-06-24 12:05:25 -04:00
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
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
JeanFrancois Dube
1774c44de3 Bring back 16574112 with proper fix:
Implement fast path for FCoreRedirects::GetMatchingRedirects when looking for a single redirect type.
Saves ~18% of the time spent in FLinkerLoad::FixupImportMap, which is time sliced in a 5ms window in PIE.

#rb francis.hurteau

[CL 16728888 by JeanFrancois Dube in ue5-main branch]
2021-06-21 11:45:54 -04:00
Jurre deBaare
3df2098b7c Launch on to platform crashes on open Assertion failed: IsAligned(PropertyDest, TheCppStructOps->GetAlignment())
#fix actually allow for 32-byte aligned UObject allocations, allocate by size and aligment rather than aligned size and added development/debug build verification of resulting mem adress
#jira UE-117778
#rb Johan.Torp
#fyi Andrew.Davidson, Zak.Middleton
#preflight 60cb32e79ecd3e000199a396

[CL 16703994 by Jurre deBaare in ue5-main branch]
2021-06-17 09:47:20 -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
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
Johan Torp
3c39552646 Set/map property loading optimization
~40x speedup for set property loading, 281ms -> 6.5ms, initial load time for Win64 Test client in an internal project

Slight refactor in preparation of more advanced container allocators and allocating all UObject property memory linearly after UObject itself

#rb steve.robb

[CL 16623583 by Johan Torp in ue5-main branch]
2021-06-10 11:02:41 -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
jeanfrancois dube
3ea3e2ea3e Undo changelist 16574078
#rb none


#ROBOMERGE-SOURCE: CL 16588399
#ROBOMERGE-BOT: (v828-16531559)

[CL 16588406 by jeanfrancois dube in ue5-main branch]
2021-06-08 12:19:12 -04:00
Tim Smith
3738ff82ef Fix error message that was incomplete
#rb trivial
#rnx
#preflight 60be765b545fbc0001b00cb6

[CL 16578702 by Tim Smith in ue5-main branch]
2021-06-07 17:58:58 -04:00
jeanfrancois dube
3263a29487 Implement fast path for FCoreRedirects::GetMatchingRedirects when looking for a single redirect type.
Saves ~18% of the time spent in FLinkerLoad::FixupImportMap, which is time sliced in a 5ms window in PIE.

#rb francis.hurteau, ben.zeigler


#ROBOMERGE-SOURCE: CL 16574078
#ROBOMERGE-BOT: (v828-16531559)

[CL 16574112 by jeanfrancois dube in ue5-main branch]
2021-06-07 13:50:00 -04:00
jeanfrancois dube
d0c4d2723a Avoid going through ObjectToPackageMap in UObject::Serialize when not needed.
#rb francis.hurteau


#ROBOMERGE-SOURCE: CL 16569558
#ROBOMERGE-BOT: (v828-16531559)

[CL 16569559 by jeanfrancois dube in ue5-main branch]
2021-06-07 09:12:55 -04:00
Thomas Sarkanen
f732928d64 Downgrade linker warning for missing parent structs
Apply similar logic to functions that are missing their parent implementation
Only for UScriptStructs that are outered to a UClass (e.g. sparse class data) and only when that class is not regenerating on load

#jira UE-116437 - AnimBP - Cannot Save Child AnimBP
#rb Phillip.Kavan

[CL 16568690 by Thomas Sarkanen in ue5-main branch]
2021-06-07 07:56:21 -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
Matt Peters
52a484ae8a Fix compile error '&&' within '||'.
#rb None, trivial
#rnx

[CL 16535475 by Matt Peters in ue5-main branch]
2021-06-02 12:02:54 -04:00
Francis Hurteau
87fd0a4157 Harvest soft object path package on save for cooker to handle save permutations such as the world partition grid cell split:
* Added a function to RedirectCollector to ingest soft package references
* Push the harevest soft package references from save to the redirect collector on a succesful save
* Moved the processing of soft package reference associated with a package during cook to after that package has been saved

#rb Matt.Peters
#jira UE-115137

[CL 16534223 by Francis Hurteau in ue5-main branch]
2021-06-02 10:28:45 -04:00
Matt Peters
425c24ebdd EditorDomain: Fix version warning when receiving EditorDomain packages from other users on the shared DDC.
Warning: Asset has been saved with a newer engine and can't be loaded.
#rb Zousar.Shaker
#rnx

[CL 16534179 by Matt Peters in ue5-main branch]
2021-06-02 10:24:44 -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
jeanfrancois dube
c0aa158f8d Removed trace tags from UObject tracepoints since the cost of these functions has been fixed in 16266767.
Saves ~1ms in PIE based on SuperLuminal sampling.

#rb andy.firth

#ROBOMERGE-SOURCE: CL 16469231 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674)

[CL 16469439 by jeanfrancois dube in ue5-main branch]
2021-05-26 10:51:49 -04:00