Commit Graph

784 Commits

Author SHA1 Message Date
nick darnell
246f1e0104 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: ryan.vance
#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 5830834 via CL 5830835 via CL 5835213 via CL 5835996
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5876858 by nick darnell in Dev-VR branch]
2019-04-12 21:13:56 -04:00
pj kack
b21c5947b5 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: ryan.vance
#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: DEVVR (Main -> Dev-VR)

[CL 5787307 by pj kack in Dev-VR branch]
2019-04-08 14:08:44 -04:00
bob tellez
deeafb033b #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: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5713888 via CL 5714486 via CL 5714487
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5723933 by bob tellez in Dev-VR branch]
2019-04-03 22:21:45 -04:00
bob tellez
a3624c000c Back out changelist 5533504. Crash at startup on forking linux servers. (Missing referencer information)
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5571078 via CL 5572105 via CL 5572109
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5586437 by bob tellez in Dev-VR branch]
2019-03-27 02:01:56 -04:00
pj kack
a255328cb8 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: ryan.vance
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5533504 via CL 5533655 via CL 5536177
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5546459 by pj kack in Dev-VR branch]
2019-03-25 17:48:25 -04:00
marc audy
83d3103481 Rework sparse delegate storage to not use uobject annotation and manage its own map and lock state. This eliminates unnnecessary annotation cache overhead and ensures entire operation on map is completed while the lock is in place rather than copying per-object map out of the annotation and then moving modified inner per-object map back in to the annotation as two separately locked actions.
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5483896 via CL 5483909 via CL 5483913 via CL 5487278 via CL 5487454
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5510133 by marc audy in Dev-VR branch]
2019-03-22 17:25:12 -04:00
steve robb
fa5082908a Fix for warnings about engine classes being hot reloaded when they haven't even changed.
#jira UE-71581
#rb none
[FYI] jamie.dale
#lockdown cristina.riveron

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 5459196 in //UE4/Release-4.22/... via CL 5459199
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5477267 by steve robb in Dev-VR branch]
2019-03-20 13:30:59 -04:00
robert manuszewski
10da75c078 Fixing issues with objects not being serialized before they are being ConditionallyPostLoaded by other objects and LoadContext related crashes
#rb none
#jira UE-69177

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 5401696 in //UE4/Release-4.22/... via CL 5401697
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5412053 by robert manuszewski in Dev-VR branch]
2019-03-15 06:07:24 -04:00
Ryan Vance
35eb0041ab Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
#rb integration

[CL 5387703 by Ryan Vance in Dev-VR branch]
2019-03-13 15:19:08 -04:00
marc audy
820736a82c A second attempt at soothing Linux build errors
#jira UE-71127
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5335697 via CL 5335698 via CL 5335818 via CL 5335829
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387252 by marc audy in Dev-VR branch]
2019-03-13 14:44:54 -04:00
jon nabozny
1c83b87b05 Fast TArray Delta Serialization
[REVIEW] [at]Brian.Bekich [at]Ryan.Gerleve [at]Mattias.Hornlund [at]Bart.Hawthorne [at]Peter.Engstrom [at]LouisPhilippe.Seguin
#rb Ryan.Gerleve

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 5334271 via CL 5334273 via CL 5334274 via CL 5335302 via CL 5335303
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387015 by jon nabozny in Dev-VR branch]
2019-03-13 14:38:20 -04:00
marc audy
a700a0cbef Attempt to fix linux CIS
#jira UE-71127
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5334253 via CL 5334255 via CL 5335168 via CL 5335172
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5387014 by marc audy in Dev-VR branch]
2019-03-13 14:38:18 -04:00
marc audy
cca8414090 Override GetCPPType in the multicast delegate TProperty specialization as the new hierarchy was using the TProperty version instead of the UMulticastDelegateProperty version.
This fixes nativization crash generating code for a multicast delegate.
#rb Phillip.Kavan
#rnx
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5313198 via CL 5313199 via CL 5315969 via CL 5316036
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5333405 by marc audy in Dev-VR branch]
2019-03-06 19:15:42 -05:00
marc audy
e464a221ab Provide a comment at the check that will occur if a sparse delegate is used on the stack so user has better understanding of why it is checking.
#rnx
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5313147 via CL 5313158 via CL 5315966 via CL 5316033
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5333404 by marc audy in Dev-VR branch]
2019-03-06 19:15:40 -05:00
marc audy
718ec962bc Dynamic Multicast delegates can now specify that their storage be stored in a sparse allocation for delegates that are expected to be bound rarely. The memory usage of an unbound sparse delegate is 1 byte instead of 16 bytes (for the empty array), however, a bound sparse delegate will have access overhead to retrieve the invocation list from the sparse object annotation.
The definition of the delegate type must specify the class and property name of the delegate that will use it and the type cannot be used outside of that context or just on the stack.
UMulticastDelegateProperty is now abstract and has 2 subclasses (UMulticastDelegateInlineProperty and UMulticastDelegateSparseProperty). The SparseProperty SignatureFunction will be a USparseDelegateFunction.
The sparse delegates do not work correctly with the python bindings at this point, but this will be visited soon.
#rb Michael.Noland
#jira

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5295832 via CL 5306530 via CL 5306657
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5323394 by marc audy in Dev-VR branch]
2019-03-06 18:07:13 -05:00
dan oconnor
2d3b206b62 Revert to old behavior of using a vcall to get the ubergraphframe due to misuse of event graph by animblueprintcompiler
#rb Phillip.Kavan
#jira None

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: dan.oconnor
#ROBOMERGE-SOURCE: CL 5235482 in //UE4/Release-4.22/... via CL 5235483
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5254722 by dan oconnor in Dev-VR branch]
2019-02-28 18:11:58 -05:00
marc audy
09333e141e Add DECLARE_CAST_BY_FLAG for all properties with cast flags that weren't already being declared.
#jira
#rnx
[FYI] Steve.Robb

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5205583 via CL 5205586 via CL 5205907 via CL 5229819
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5246616 by marc audy in Dev-VR branch]
2019-02-28 17:17:17 -05:00
josh adams
019c12863e - Merging Dev-Kairos/Engine/... to Main/Engine/...
- Brings over the necessary engine changes for embedding UE4 mobile as a dylib/so in native mobile app
- Various changes for facial animation, screen recording, others
- ARKit and ARCore plugins were removed, as deemed "not ready"
#rb many people

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024 via CL 5226277
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5244512 by josh adams in Dev-VR branch]
2019-02-28 17:06:02 -05:00
robert manuszewski
cffe245309 Fixing incremental build compile errors introduced in CL #5223889
#rb none
#jira UE-70640

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 5223925 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5243257 by robert manuszewski in Dev-VR branch]
2019-02-28 16:59:11 -05:00
robert manuszewski
b997e1b951 DuplicatedDataReader and DuplicatedDataWriter will now store UObject serialize context internally so that they don't crash in case of an error
#rb none
#jira UE-70144

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 5223889 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5243244 by robert manuszewski in Dev-VR branch]
2019-02-28 16:59:09 -05:00
gil gribb
a30c093e32 UE4 - Moved mapped ubulk files to .m.ubulk so that they can be aligned and not compressed without affecting other bulk data such as textures.
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: gil.gribb
#ROBOMERGE-SOURCE: CL 5010556 via CL 5010559 via CL 5013445 via CL 5037908
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5122571 by gil gribb in Dev-VR branch]
2019-02-22 01:02:16 -05:00
josh adams
021ac88d25 iOS - Enabled animation memory mapped IO on IOS. Saves 10-20 megs of memory
#rb josh.adams

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: gil.gribb
#ROBOMERGE-SOURCE: CL 4993025 via CL 4993026 via CL 4995423 via CL 4999718
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5077329 by josh adams in Dev-VR branch]
2019-02-19 18:11:03 -05:00
jamie dale
9725673ec3 Editor Utilities now respond to editor requests to cleanse object instances by clearing their references to any objects pending purge
This fixes crashes where they would take references to things like an actor within a world, and then the active editor world was changed (which verifies against GC reference leaks).

#jira UE-69150
[FYI] Michael.Noland
#rb Lauren.Ridge

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 4987801 in //UE4/Release-4.22/... via CL 4987804
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5034266 by jamie dale in Dev-VR branch]
2019-02-16 07:56:54 -05:00
robert manuszewski
9bf13b8dcf Fixing CIS
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 4981798 via CL 4981801 via CL 4982121 via CL 4984555
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5034149 by robert manuszewski in Dev-VR branch]
2019-02-16 07:52:42 -05:00
robert manuszewski
45845da7e1 Reduced Linker annotations memory usage by introducing new annotation array type that can reclaim memory from object ranges that no longer require the annotation
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 4981648 via CL 4981653 via CL 4982090 via CL 4984532
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5034142 by robert manuszewski in Dev-VR branch]
2019-02-16 07:52:32 -05:00