MovieScene was targeted as its headers were at the top of profiling ShooterGame builds.
Tested with -disableunity and -nopch. Current timings take ShooterGameEditor rebuild from 480s to 440s
#jira none
#rb josh.adams
#preflight 624c97a63661c8f04a191889
[CL 19634779 by christopher waters in ue5-main branch]
We were previously not clamping compilation range by the containing section's range, so some of the sub-sequence's animation would be taken into account after the last loop and still play.
#rb max.chen, andrew.rodham
#jira none
#preflight 624b3468f73c316f6831724d
[CL 19612766 by ludovic chabant in ue5-main branch]
Also:
- Fixed some references to incorrect tick rates, which would cause problems if the root sequence and playlist item had different tick rates.
- MovieSceneDataChange notifications hoisted out of play all/stop all loops, changing and documenting ISequencerPlaylistItemPlayer return value semantics in support of this goal.
- Fixed a crash caused by "leaked" ticker if we exit the editor during unbounded playback.
- Added some missing blueprint functionality.
- Fixed some bad indentation in MovieSceneCompiledDataManager.cpp.
#jira UE-136967
#rb jason.walter
#preflight 61f841101c5ac5523465e152
#ROBOMERGE-AUTHOR: zach.brockway
#ROBOMERGE-SOURCE: CL 18796549 in //UE5/Release-5.0/... via CL 18797735 via CL 18798454
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
[CL 18798592 by zach brockway in ue5-main branch]
#preflight 61b80ce31a4451f7ba243a23
#rb andrew.rodham
#ROBOMERGE-AUTHOR: max.chen
#ROBOMERGE-SOURCE: CL 18455104 via CL 18455112 via CL 18455121 via CL 18455130 via CL 18456549 via CL 18456575
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v898-18417669)
[CL 18456595 by max chen in ue5-release-engine-test branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
- Gather params need the entire warp counter, not just the index of the latest level, because sub-sequences are not necessarily compiled in top-down order.
- Transforming time from the sub-sequence to the root should use the sub-data, not the parent sub-sequence params.
#rb max.chen
#lockdown Simon.Tourangeau
#jira UE-131206
#ROBOMERGE-OWNER: ludovic.chabant
#ROBOMERGE-AUTHOR: ludovic.chabant
#ROBOMERGE-SOURCE: CL 17846995 in //UE4/Release-4.27/... via CL 17847005 via CL 17847009 via CL 17871078 via CL 17871097
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE-CONFLICT from-shelf
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 17874089 by ludovic chabant in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
- Empty dissection ranges are now skipped
- Determinism fences that exist at the exact same time as the start of the current eval time are now skipped
- Fences are no longer added at interim segments of the sub-sequence tree, only at the true start/end points of sub sequences
#jira UE-115463
#rb Max.Chen
#ROBOMERGE-OWNER: Andrew.Rodham
#ROBOMERGE-AUTHOR: andrew.rodham
#ROBOMERGE-SOURCE: CL 16298600 via CL 16298650 via CL 16298665 via CL 16298666
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v800-16297934)
[CL 16298998 by andrew rodham in ue5-release-engine-test branch]
- Empty dissection ranges are now skipped
- Determinism fences that exist at the exact same time as the start of the current eval time are now skipped
- Fences are no longer added at interim segments of the sub-sequence tree, only at the true start/end points of sub sequences
#jira UE-115463
#rb Max.Chen
#robomerge starship-release-engine-test
#ROBOMERGE-SOURCE: CL 16298600 via CL 16298650 via CL 16298665
#ROBOMERGE-BOT: (v800-16297934)
[CL 16298666 by andrew rodham in ue5-release-engine-staging branch]
- This change introduces two separate types for dealing with binding IDs in different spaces explicitly: FFixedObjectBindingID and FRelativeObjectBindingID. The latter is portable if the sequence it was created within is nested inside another foreign hierarchy.
- FMovieSceneObjectBindingID remains, and is able to represent both of the new types, but should only be used for serialization to ensure compatability and consistency with editor tools that operate in different spaces.
- Any manual ResolveLocalToRoot or GetSequenceID processing has now been replaced with the new ResolveBoundObjects API, which provides a less error-prone way of resolving bindings that live in different sequences
#jira UE-74450
#rb Max.Chen, Ludovic.Chabant
[CL 14915667 by Andrew Rodham in ue5-main branch]