- Added new Important visibility slow tasks to override visibility of other tasks (making them invisible and the Important task visible in its place)
- Added a new loop that looks specifically for a the new Important tasks and adjusted the existing loop to insert the default tasks in the remaining slots.
[REVIEW] Josh, Bryan, Andrew, Cory
#jira: https://jira.it.epicgames.com/browse/FORT-599030
#testing: Converted the DBZ map which has a lot of progress bar changes to make sure the progress bars still work correctly and the new Important child tasks also show up (Including invisible tasks staying invisible).
Also tried increasing the number of sub loading bars just to make sure that code still worked as well.
And profiled the code to see if performance would be affected (the function still only took a micro second on average since the stack rarely gets past 10 elements and I have not seen it get to 20)
Tested to make sure an empty text important task did not break anything and made sure default tasks were inserted before, in-between, and after important tasks correctly
#preflight: https://horde.devtools.epicgames.com/job/645129ebc86798f650b8d71e
[CL 25309641 by garrett conti in ue5-main branch]
High Level Vision:
https://docs.google.com/document/d/13R4nJ2UNMJZlf6JCjYssFMSY-5CrURazE4tqxW77yBw/edit#heading=h.bpycydduomgi
Details of changes:
Removed "most" references to FStudioAnalytics from Engine code.
Deprecated use of FStudioAnalytics::FireEvent_Loading(), will deprecate FStudioAnalytics in due course.
Added FAnalyticsFlowTracker to the engine code base based on the flow system used in UEFN.
Added explicit DDC Resource and DDC Summary events to track DDC usage by resource type.
Moved common Editor analytics callbacks into EpicStudioAnalytics plugin
Added a variety of delegates to the engine code to so that analytics capture can be defined in the plugin code or within the game code instead of the engine code ( eg. load map, editor initialization, cooking, slow task )
Added JSON serializer for analytics events to provide facility to capture analytics in restriced environments ( eg. UEFN CookWorker ). Though this fetaure is not enabled yet.
This will temporarily break Loading and Cooking analytics for Lyra, ShooterGame, CitySample but not Fortnite or UEFN. The remainder will need to be "fixed up" in UE5/Main once the changes have propogated (stakeholders have been notified)
[FYI] zousar.shaker, devin.doucette, eric.knapik, francis.hurteau
#rb wes.hunt
#preflight 643e45150a5a4b944e603be8
[CL 25083739 by mark lintott in ue5-main branch]
This is a defensive change to more uniformly gate conditions of various pathways that want to "nice" CPU consumption when the application is not the foreground application (doesn't "Have Focus"). In benchmarking scenarios we don't want a focus-grabbing application to cause change in behavior while taking performance measurements. This could be in local workstation benchmarking where other foreground apps will naturally come to the front or in data center build where antics that might otherwise be completely unknowable could impact benchmark measurements.
This change was formulated after finding some "nice" CPU conditionals that were instrumented, but not all of them are. This change aims to prevent having to instrument, profile, and mitigate each condition separately.
#rnx
#jira none
#rb francis.hurteau, brandon.schaefer
#preflight 611ec9248ff55400018d5018
[CL 17463345 by geoff evans in ue5-main branch]
- Fixed a bug in the splash screen that would only show the root most scoped slow task resulting in only "Initializing..." displaying. Now we work from the back of the array (top of the stack) to pull the innermost scoped slow task message. This results in more log messages displaying.
- Display the splash screen percentage leftmost justified to avoid it jumping around due to the length of the message.
- Adding messages to the global shader scoped slow tasks.
- Fixed a bug where blocking material compilation wasn't displaying a message to the splash screen. Simply adding a FScopedSlowTask will not update the UI's display message. The UI is only updated when EnterProgressFrame is called.
#rb Matt.Kuhlenschmidt
[REVIEW]
#jira none
#ROBOMERGE-SOURCE: CL 15624861 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)
[CL 15624912 by jason nadro in ue5-main branch]
#ROBOMERGE-SOURCE: CL 15379156 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15383280 by matt kuhlenschmidt in ue5-main branch]
Added timing information to record when PIE starts.
#rb none
#ROBOMERGE-OWNER: Nick.Darnell
#ROBOMERGE-AUTHOR: nick.darnell
#ROBOMERGE-SOURCE: CL 11104590 via CL 11104688 via CL 11104690
#ROBOMERGE-BOT: (v640-11091645)
[CL 11104846 by Nick Darnell in Main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]