#rb jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 15520686 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15520732 by richard malo in ue5-main branch]
Avoid static mesh queuing any more work during shutdown to improve exit speed
#rb JeanFrancois.Dube
#robomerge Release-5.0-EarlyAccess
[CL 15510067 by danny couture in ue5-main branch]
This will help ensure that the first triggered stall, the one that sends telemetry data, will represent a real stall witnessed by a person. This will also shutdown the stall detection thread sooner to alleivate any coupling with other engine systems.
#rb francis.hurteau
#jira UE-108804
#preflight /job/6034575e17838200011a148f
#ROBOMERGE-SOURCE: CL 15497038 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15497095 by geoff evans in ue5-main branch]
- Creating the shader directories relies on the process having a valid project but was being called before we validate the project file.
- This meant that if the project path is invalid instead of getting a clear error dialog about it the user would hit a fatal log while generating the shader directories instead.
- We can safely move the code to a point after the project path has been validated as nothing will have tried to access the list of shader directories yet.
#jira UE-109024
#rb Arciel.Rekman
#rnx
#ROBOMERGE-SOURCE: CL 15491659 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15491661 by paul chipchase in ue5-main branch]
Add function to query if the static API is init and thread should be running
Tidy up some direct checks to the init count to use the new IsRunning function
Make init reference count signed and check for it going negative (mismatched startup/shutdown calls)
Disclaimer: init reference count isn't really used yet, but I'm hoping to propose using it more broadly in the future
#rb francis.hurteau
#jira none
#preflight /job/602c184cada6960001aa3e12
#ROBOMERGE-SOURCE: CL 15425482 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15426390 by geoff evans in ue5-main branch]
Use SleepNoStats to prevent stat accumulation of sleep time
Remove CPUTRACE macros to remove dependency on that system (they weren't really useful)
Improve StallDetector logging
#rb francis.hurteau
#jira none
#preflight /job/602195055cb1b300015c6218
#ROBOMERGE-SOURCE: CL 15361323 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15361335 by geoff evans in ue5-main branch]
This code is meant to help locate and send reports/telemetry for slow code pathways that create unresponsive conditions
FGameThreadHitchHeartBeatThreaded was considered, but doesn't fit Editor's needs because its designed around general GameThread deadlines
Editor workloads are much less homogenous, and proper async support for a consistent GameThread deadline in Editor is a ways away
This necessitates a more focused approach where we can instrument specific routines such that each issue their own telemetry report
Add a "Stalls" counter in the Frame Rate and Memory title bar stats
Add LogStall Log category for viewing details about stalls that have occurred
Introduces a stall counter object on the GameThread to collect statistical data about stalls (this will not report to telemetry)
Future changes will introduce report objects into specific routines to upload to crashreporter
Future changes will introduce support for non-Windows OSes
#jira none
#rb francis.hurteau
[CL 15213394 by geoff evans in ue5-main branch]
Add queued work priority support to auto delete async tasks and schedule DDC Puts as Low priority
ThreadPool threads are now honoring the names they've been given on creation
Move the I/O only async DDC Get into the DDC ThreadPool with higher priority (Normal) than DCC Puts
#rb Devin.Doucette
[CL 15177897 by danny couture in ue5-main branch]
- In the original code we were checking if either of the queues were nullptr before using them however when those queues are deleted they were not actually being set to nullptr, so the checks would not catch this and eventually we would read trash data when trying to use the queues.
- Set both the queues to nullptr on shutdown so no attempt to access them will be made after this point.
#rb Danny.Couture
#rnx
[CL 15066339 by paul chipchase in ue5-main branch]
This avoids a crash when the first use of DDC is from a worker thread when global shader map compilation is skipped due to use of the null RHI.
#jira UE-104924
#rb Zousar.Shaker
[CL 15039561 by Devin Doucette in ue5-main branch]