Commit Graph

646 Commits

Author SHA1 Message Date
geoff evans
7017731f32 Only initialize stall detector for UnrealEditor.exe (remove it from cooks)
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]
2021-02-16 20:04:22 -04:00
Arne Schober
6753638a9b U5 - Removing MaxConcurreny from the LowLevelThreadPool and adding a BackgroundHigh Priority to the Backend, also rearranging the priories of the TaskGraph and Taskpool
[CL 15387700 by Arne Schober in ue5-main branch]
2021-02-11 10:59:12 -04:00
geoff evans
8d0488100c Move stall detector shutdown to AppExit to fix some late-constructed detectors causing assert at exit-time.
#rb trivial

#ROBOMERGE-SOURCE: CL 15366531 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15368943 by geoff evans in ue5-main branch]
2021-02-09 15:03:25 -04:00
geoff evans
211e371099 Move up StallDetector shutdown into PreExit to shutdown before exceptions in OnExit broadcast.
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]
2021-02-08 18:41:28 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Andriy Tylychko
b3598fc5d1 commented out usage of PoolThreadStackSize and TaskThreadStackSize config ini parameters as the config is not initialized yet when they are used.
#rb slack

[CL 15280702 by Andriy Tylychko in ue5-main branch]
2021-02-02 12:11:05 -04:00
David Harvey
80aba12736 remove WITH_LEGACY_XDK
#rb jon.cain
#fyi josh.adams
#rnx

[CL 15270061 by David Harvey in ue5-main branch]
2021-02-01 08:25:01 -04:00
Thomas Engel
5a2d6b0546 Moving / removing ticking calls for MediaFramework to ensure proper execution ordering when movie queue rendering is active
#jira UE-96503
#rb none
#rnx

[CL 15253900 by Thomas Engel in ue5-main branch]
2021-01-28 19:11:43 -04:00
geoff evans
4f72b503b8 Add Stall Detector API, enabled only for Editor builds for Windows
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]
2021-01-26 20:26:53 -04:00
danny couture
0790ec6eb0 Create a separate thread pool for the I/O portion of DDC requests to avoid clogging the workers with long I/O waits
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]
2021-01-25 10:55:26 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Arne Schober
1c9e0301fb U5 - temporarely disable the new Scheduler again after reinventing the way how it deals with background tasks. To get the changes tested again. The TaskGraph Backwardscompat layer will now also support Busy waiting.
[CL 15106154 by Arne Schober in ue5-main branch]
2021-01-15 05:53:24 -04:00
paul chipchase
f338370713 Fix the editor shutdown crash that was caused by CL 15049697 and re-enable the code which was disabled in CL 15052142
- 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]
2021-01-13 08:47:01 -04:00
Devin Doucette
7d8efa31e4 DDC: Always initialize DDC in scenarios that do not require cooked content
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]
2021-01-11 13:54:30 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Chris Gagnon
6ffd3241d2 Fix for crash when using the MessageLog in Development builds.
#rb Matt.Kuhlenschmidt

[CL 15014805 by Chris Gagnon in ue5-main branch]
2021-01-07 16:50:17 -04:00
geoff evans
72ac9aae1e Move up canonical setup of GIsEditor in the initialization of the engine. AppInit loads plugins which in turn make library function calls to things like the config system that want to know if it's an editor process running.
#jira UE-99558
#rb francis.hurteau

[CL 14915184 by geoff evans in ue5-main branch]
2020-12-14 14:28:39 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Rolando Caloca
1854a7e4a7 UE5 - Show actual path that couldn't be made
#rb Josh.Adams
#rnx

[CL 14872554 by Rolando Caloca in ue5-main branch]
2020-12-07 15:48:16 -04:00
Richard Malo
a393d148c2 Changed IsRunningCookCommandlet to return value initialized when parsing the command line.
#rb patrick.enfedaque

[CL 14838613 by Richard Malo in ue5-main branch]
2020-12-02 16:40:40 -04:00
Arne Schober
9712441191 UE5 - This is the first step of an upcomming TaskGraph refactoring. New Frontends will be comming at a later time. The goal of this Step is to have a common Backend and prove its performance as well as stability. We have proven that the Taskpool and the TaskGraph can run on the same Backend. The Performance has been tested in Fortnite and is comparable on Android as well as PS4. We have completed all the Engine Test sucessfully, tested the Texture and Shader-compilation as well as cooking pipeline extensively and have run Reverb and Frosty. The Backend is disabled by default and can be enabled with -TaskGraphForceNewBackend Commandline option
[CL 14823215 by Arne Schober in ue5-main branch]
2020-11-30 16:27:34 -04:00
Matt Peters
be1c7b2bdc IPackageResourceManager: Fix crashes in !WITH_ENGINE programs: startup and shutdown need to be called outside of WITH_ENGINE blocks.
#rnx
#rb Catalin.Dragoiu

[CL 14815833 by Matt Peters in ue5-main branch]
2020-11-26 09:46:13 -04:00
Matt Peters
aae0fe62eb PackageResourceManager and PackagePaths
Create a new interface IPackageResourceManager that handles all attempts to load packages from storage. The default implementation passes through to loading from IFileManager. Future implementations will load from other services such as the EditorDomain and TargetDomain.
Add FPackagePath class that holds a LocalFilePath or LongPackageName, or a relative path to a package under a mounted content root (which can be converted into either the LocalFilePath or LongPackageName).
Modify LinkerLoad, BulkData, and AsyncLoader to use FPackagePath and IResourceManager.
Modify UPackage and FLinkerLoad to have a FPackagePath instead of a Filename.
#rb Paul.Chipchase, CarlMagnus.Nordin, Francis.Hurteau, Devin.Doucette
#rn Major Core

[CL 14814912 by Matt Peters in ue5-main branch]
2020-11-25 22:11:10 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
Andriy Tylychko
2a3b4a94cb fixed stoping audio thread on exit: as AudioDeviceManager is released before audio thread stopped, this can lead to (subject of timing) an audio command executing after GAudioDeviceManager was set to nullptr, which causes null reference exception
#rb aaron.mcleran

[CL 14743995 by Andriy Tylychko in ue5-main branch]
2020-11-13 08:27:31 -04:00