Commit Graph

3394 Commits

Author SHA1 Message Date
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
robert millar
0cc7bdcb60 Don't use SetAndHold in csv profiler which will be backed out, register game thread ticks to push data to the csv profiler each frame.
#rb dan.phillips

#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 16554441 via CL 16554457 via CL 16554465 via CL 16554507 via CL 16554868
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v828-16531559)

[CL 16554877 by robert millar in ue5-main branch]
2021-06-03 18:48:51 -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
paul chipchase
6958a4faa7 Add some basic profile data to Mirage to make it easier for people to see when payloads are being pushed to or pulled from the various backends.
#rb Per.Larsson
#rnx

* VirtualizationManager
- Add method ::IsEnabled which allows the caller to poll if content virtualization is enabled or not.
- Add method ::GetPayloadActivityInfo to return profiling data
- Added a new Profiling namespace containing all of the profiling code.
-- The idea is to try and keep all profiling data contained in the virtualization manager and not require the backends to be aware of it.
- The actual pull/push operations have been moved to new private methods ::TryPushDataToBackend and ::PullDataFromBackend, by limiting the scolpe of where the actual operation occur makes it easier to add the profiling code.
- We use the cooking stats system for recording our profiling data. Currently this adds no real value and we could've implemented our own but longer term this code might get hooked into FCookStatsManager:: CookStatsCallbacks to add it to our telemetry systems and this will be easier to do if it is already in the cooking stats formats.

* SVirtualizationStaticIndicator
- The widget is based on SDDCStatusIndicator for the DDC and is placed just before it in the UI.
- The widget will only be shown if the content virtualization system is enabled, so functions as an easy way to check that (maybe in the future it can be on all the time in which case we'd need the widget to reflect when the systems are disabled)
- Currently shows a green down arrow when a payload has been pulled and a green up arrow when a payload has been pushed.
- The tool tip shown on mouse over will show the total data sizes pulled and pushed from the backends.
#preflight 60b87c34ae46a100017d5334

[CL 16544645 by paul chipchase in ue5-main branch]
2021-06-03 04:35:17 -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
danny couture
d255f4532a Add GeneratedCppIncludes in PCH as it is one of the most included files from vcperf profile runs
Add missing CoreMinimal.h when compiling core
  - 251s -> 245s for QAGame Win64 Development with -NoXGE on AMD TR 3970X

#rb Ben.Marsh

[CL 16527504 by danny couture in ue5-main branch]
2021-06-01 21:34:02 -04:00
robert millar
51aa7f0d82 Expose IoDispatcher and AsyncLoading stats to csv profiler.
#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 16517115 via CL 16517137 via CL 16517179 via CL 16517335 via CL 16517350
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v826-16501804)

[CL 16517376 by robert millar in ue5-main branch]
2021-06-01 13:31:25 -04:00
paul chipchase
99848fd49b Removed UE::Virtualization::IVirtualizedData from core now that there is no need for it.
#preflight 60b6432d6073fb00010d8e11

[CL 16514905 by paul chipchase in ue5-main branch]
2021-06-01 11:44:14 -04:00
robert millar
4af3923ac4 Expose IoDispatcher and AsyncLoading stats to csv profiler.
#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 16510694 via CL 16510697 via CL 16510701 via CL 16510734 via CL 16510747
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v826-16501804)

[CL 16510779 by robert millar in ue5-main branch]
2021-05-31 16:35:03 -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
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
andrew firth
a44ec91554 [INSIGHTS] - add insights zones to illuminate overall frame time.
#rb Jason.Nadro

#ROBOMERGE-SOURCE: CL 16444116 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v814-16434418)

[CL 16444117 by andrew firth in ue5-main branch]
2021-05-24 22:47:38 -04:00
Francis Hurteau
92b7622c2f Fix problem when saving map redirector with Save2
#jira UE-116177
#rb Matt.Peters
#preflight 60a8436a5f690500014c5636

[CL 16427368 by Francis Hurteau in ue5-main branch]
2021-05-21 20:26:16 -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
CarlMagnus Nordin
602e857cfc AsyncLoading2:
Fixed pending io requests trace counter
Added total loaded trace counter
#rnx
#rb pj.kack

[CL 16402446 by CarlMagnus Nordin in ue5-main branch]
2021-05-20 10:13:18 -04:00