Commit Graph

814 Commits

Author SHA1 Message Date
danny couture
425ebf5c7a Provide caching for FindViewComponentForActor to improve editor responsiveness when a selected actor contains many others.
- Add GetAttachedActor overload which takes a functor so we can iterate more effectively and abort iteration if needed.
    - 5 sec to 90ms per frame (55x improvement) when selected actor contains 60 000 others.
    - 43 sec to 2s (21x improvement) for CaptureSceneThumbnail at the end of datasmith import for a 60 000 actors scene.

From dev-enterprise[at]7062261,7063185

#rb Steve.Robb, Marc.Audy, JeanMichel.Dignard
#jira UE-77027

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: danny.couture
#ROBOMERGE-SOURCE: CL 7259947 in //UE4/Release-4.23/... via CL 7259948
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v371-7306989)

[CL 7334458 by danny couture in Dev-Build branch]
2019-07-16 23:27:00 -04:00
sebastian nordgren
749f6b1eed FScriptMapHelper and FScriptSetHelper now have a GetInternalIndex that maps a logical index (ie. Nth element) to the internal index.
#rb steve.robb

#jira UE-75123

Source: 6932549 (Dev-Editor)

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 7247481 in //UE4/Release-4.23/... via CL 7247483
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v371-7306989)

[CL 7332836 by sebastian nordgren in Dev-Build branch]
2019-07-16 23:14:52 -04:00
zzz77
97e4a99783 PR #6033: Fixes for IntelliSense (Contributed by zzz77)
#rb none
#rnx

[CL 7308593 by Ben Marsh in Dev-Build branch]
2019-07-15 10:09:44 -04:00
robert manuszewski
897db1ef95 Adding a range check to the cluster array index operator that logs the bad index unlike the TArray range check
#rb none

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 7086448 via CL 7104030 via CL 7104131
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v367-6836689)

[CL 7129859 by robert manuszewski in Dev-Build branch]
2019-06-21 02:56:25 -04:00
jamie dale
3b0f3358cd Fixed crash from CL# 7064412
These needed to be pointers as the map may have data added to it while we have a reference to an element within it.

#jira UE-74604
[FYI] Francis.Hurteau
#rb none
#rnx

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 7064703 in //UE4/Release-4.23/... via CL 7064706
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v367-6836689)

[CL 7124419 by jamie dale in Dev-Build branch]
2019-06-21 02:06:37 -04:00
jamie dale
bf4838dfaa Cache which fields from a struct/class types need gathering for localization
This removes repeated work iterating fields, and can save a considerable amount of time when processing large arrays of structs.

#jira UE-74604
#rb Francis.Hurteau

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 7064412 in //UE4/Release-4.23/... via CL 7064417
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v367-6836689)

[CL 7124389 by jamie dale in Dev-Build branch]
2019-06-21 02:06:09 -04:00
marc audy
9f48592dd4 Fix up inconsistencies between UE4/Main and Dev-EngineMerge
#rb
#rnx

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 7021692 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v367-6836689)

[CL 7093797 by marc audy in Dev-Build branch]
2019-06-19 11:13:31 -04:00
ben marsh
11f022162f Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) [at] 6944469
#rb none
#rnx

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 6944849 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v367-6836689)

[CL 7089689 by ben marsh in Dev-Build branch]
2019-06-19 08:52:32 -04:00
Ben Marsh
cfe09c649f Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 6922670 by Ben Marsh in Dev-Build branch]
2019-06-10 19:47:29 -04:00
lina halper
bab821de19 Copying //UE4/Dev-Anim to Dev-Main (//UE4/Dev-Main) [at] 6861656
#rb
#rnx

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: lina.halper
#ROBOMERGE-SOURCE: CL 6863572 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v366-6836689)

[CL 6917136 by lina halper in Dev-Build branch]
2019-06-10 16:16:11 -04:00
jon nabozny
3876f2afb6 Don't look for implicit NAKs for Fast Array Delta Serializers on completely reliable connections.
[at]Ryan.Gerleve, [at]Brian.Bekich, [at]LouisPhilippe.Seguin
#rb Ryan.Gerleve, Brian.Bekich

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 6854235 via CL 6854238 via CL 6854675 via CL 6854734
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v366-6836689)

[CL 6916104 by jon nabozny in Dev-Build branch]
2019-06-10 15:50:24 -04:00
jon nabozny
e45ca892c6 Move Delta Replication out of FObjectReplication and into RepLayout.
This will help reduce code duplication, public api exposure, and memory usage.

[at]Ryan.Gerleve, [at]Brian.Bekich, [at]LouisPhilippe.Seguin, [at]Matthias.Hornlund, [at]Peter.Engstrom
#rb LouisPhilippe.Seguin, Ryan.Gerleve

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 6837547 via CL 6837550 via CL 6839935 via CL 6841215
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v366-6836689)

[CL 6876824 by jon nabozny in Dev-Build branch]
2019-06-07 05:56:07 -04:00
lauren ridge
4e7574127b Adding scriptable extension points to the Data Validation system. Python scripts should register themselves with the EditorValidatorSubsystem, while Blueprint and C++ validators can be found automatically. These validators do not require a custom class, but instead take an individual asset in as an argument to run tests on.
#rb Fred.Kimberley, Chris.Gagnon
#rnx
[FYI] Bob.Tellez

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: lauren.ridge
#ROBOMERGE-SOURCE: CL 6835211 via CL 6838068 via CL 6838187
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v366-6836689)

[CL 6874736 by lauren ridge in Dev-Build branch]
2019-06-07 05:28:45 -04:00
chris gagnon
72ba51c5bd Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none


#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: chris.gagnon
#ROBOMERGE-SOURCE: CL 6838042 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v366-6836689)

[CL 6874679 by chris gagnon in Dev-Build branch]
2019-06-07 05:27:42 -04:00
marc audy
3fc04f1c88 Copying //UE4/Dev-Framework to Dev-Main (//UE4/Dev-Main) [at] 6835245
#rb
#rnx

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 6835252 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v366-6836689)

[CL 6873661 by marc audy in Dev-Build branch]
2019-06-07 05:00:15 -04:00
stefan boberg
285a908f86 Copying //UE4/Dev-Core to Dev-Main (//UE4/Dev-Main)
#rb none

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: stefan.boberg
#ROBOMERGE-SOURCE: CL 6815521 in //UE4/Main/...
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build) (v365-6733468)

[CL 6821265 by stefan boberg in Dev-Build branch]
2019-06-03 19:09:16 -04:00
Ben Marsh
4f8918bbe8 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 6646181 by Ben Marsh in Dev-Build branch]
2019-05-26 14:43:21 -04:00
Ben Marsh
5f3ac5bc9e Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 6620114 by Ben Marsh in Dev-Build branch]
2019-05-23 13:55:56 -04:00
bob tellez
732b67ed8d #UE4 Better FGCObject reporting in obj refs. FGCObject names are now reported in the "obj refs" console command, provided that they pass in FGCObject::GGCObjectReferencer as the referencer when calling AddReferencedObjects. FGCObjects may now also implement GetReferencerPropertyName to describe more details about how it references an object.
#ROBOMERGE-VERSION: 348-6547088
#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 6542056 via CL 6542588 via CL 6542593
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 6563192 by bob tellez in Dev-Build branch]
2019-05-18 10:35:52 -04:00
jamie dale
7d5778936f Exposed Asset Registry GetDependencies and GetReferencers to scripting
#jira UE-74534
#rb Chris.Gagnon

#ROBOMERGE-VERSION: 348-6547088
#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 6520136 via CL 6525931 via CL 6525997
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 6554922 by jamie dale in Dev-Build branch]
2019-05-18 09:56:42 -04:00
nick darnell
8fa6917f88 Adding const variants of some of the more common AddReferencedObject(s) functions to allow for FGCObjects to store const pointers to UObjects or collections and report those references easily, otherwise people make the mistake of creating local ptrs that can't be nulled out correctly.
#rb Robert.Manuszewski
[FYI] Dan.Hertzka

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 5830834 via CL 5830835 via CL 5835213 via CL 5835996
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 5892388 by nick darnell in Dev-Build branch]
2019-04-14 06:45:25 -04:00
pj kack
34785e82c1 Back out integrated changelist 5586728 (5571078) to resubmit all cook -iterate optimizations implemented on //UE4/Dev-core/... (see 5533504)
New AssetRegistryState::InitializeFromExistingAndPrune temporarily disabled until some bugs have been fixed.

Test Scenario:
1) BuildCookStageAndRun with these arguments: -platform=Win64 -configuration=Development
2) CookIterate with these arguments: -run=Cook -CookCultures=en -TargetPlatform=WindowsClient -unversioned -stdout -unattended -iterate

Wall Time Results (as an average of running step 2) two times):
Before: ~09:40 (580 seconds) cook commandlet time
After: ~02:30 (150 seconds) cook commandlet time
=> 07:10 (430 seconds ) faster, i.e. a ~ 3.9x speedup

Win32 FileSystem Results:
Before: 1.5 million GetFileAttribute calls and 1.2 million FindNextFile calls
After: 35 0000 GetFileAttribute calls and 1.6 million FindNextFile calls
=> ~400 000 calls to FindNextFile replaces ~1.5 million calls to GetFileAttribute

#rb none


(peafour-cherrypick of //UE4/Dev-Core/[at]5645695 by PJ.Kack)

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5533504 via CL 5533655 via CL 5536177 via CL 5772728 via CL 5772753 via CL 5772793
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 5783689 by pj kack in Dev-Build branch]
2019-04-08 13:38:49 -04:00
bob tellez
a6445134a2 #UE4 Improve logging when assets fail to load. Failing to get the package linker will now produce fewer redundant log messages and all failure messages will include the asset that failed to load as well as the asset that was requesting the linker where possible.
#rb Robert.Manuszewski

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5713888 via CL 5714486 via CL 5714487
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 5721555 by bob tellez in Dev-Build branch]
2019-04-03 21:43:23 -04:00
bob tellez
18bbe2d40c Back out changelist 5533504. Crash at startup on forking linux servers. (Missing referencer information)
#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5571078 via CL 5572105 via CL 5572109
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 5585205 by bob tellez in Dev-Build branch]
2019-03-27 01:36:46 -04:00
pj kack
bdca04ce2f Copying task stream Dev-cook to Main
Integrate all cook -iterate optimizations from //UE4/Dev-core/...

Test Scenario:
1) BuildCookStageAndRun with these arguments: -platform=Win64 -configuration=Development
2) CookIterate with these arguments: -run=Cook -CookCultures=en -TargetPlatform=WindowsClient -unversioned -stdout -unattended -iterate

Wall Time Results (as an average of running step 2) two times):
Before: ~09:40 (580 seconds) cook commandlet time
After: ~02:30 (150 seconds) cook commandlet time
=> 07:10 (430 seconds ) faster, i.e. a ~ 3.9x speedup

Win32 FileSystem Results:
Before: 1.5 million GetFileAttribute calls and 1.2 million FindNextFile calls
After: 35 0000 GetFileAttribute calls and 1.6 million FindNextFile calls
=> ~400 000 calls to FindNextFile replaces ~1.5 million calls to GetFileAttribute

#rb none

#ROBOMERGE-OWNER: ben.marsh
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5533504 via CL 5533655 via CL 5536177
#ROBOMERGE-BOT: BUILD (Main -> Dev-Build)

[CL 5544723 by pj kack in Dev-Build branch]
2019-03-25 17:30:58 -04:00