Commit Graph

164 Commits

Author SHA1 Message Date
Arne Schober
0d22a0dd80 U5 - Always wake workers during busy waiting as we might tap out any moment after finishing a task dependency.
#preflight 60b896f64d507d0001dfd19e

[CL 16549988 by Arne Schober in ue5-main branch]
2021-06-03 13:55:51 -04:00
Arne Schober
29044bba4d U5 - Hoist out the shared Sheduler TLS sate into it's own class and allow forcing of background work for busy waiting.
[CL 16526949 by Arne Schober in ue5-main branch]
2021-06-01 20:55:21 -04:00
Andriy Tylychko
0bdece37c9 removed changes that slipped into 16481905 by mistake
[CL 16512642 by Andriy Tylychko in ue5-main branch]
2021-06-01 06:47:00 -04:00
Andriy Tylychko
ba60d1c681 AudioThread replaced by a pipe, with an ability to switch back to audio thread by conditional compilation (UE_AUDIO_THREAD_AS_PIPE)
#rb aaron.mcleran phil.popp

[CL 16481905 by Andriy Tylychko in ue5-main branch]
2021-05-27 04:54:55 -04:00
andrew firth
a44ec91554 [INSIGHTS] - add insights zones to illuminate overall frame time.
#rb Jason.Nadro

#ROBOMERGE-SOURCE: CL 16444116 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v814-16434418)

[CL 16444117 by andrew firth in ue5-main branch]
2021-05-24 22:47:38 -04:00
Andriy Tylychko
5469ce3478 TaskTraces for the new TaskGraph API
WIP

#fyi catalin.dragoiu

[CL 16328386 by Andriy Tylychko in ue5-main branch]
2021-05-14 07:43:28 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
nuno leiria
cce4046751 Remove old clang workaround that creates symbol resolution linker errors
#rb brandon.schaefer

[CL 15889875 by nuno leiria in ue5-main branch]
2021-04-01 11:23:39 -04:00
Andriy Tylychko
a3a59cce63 disabled the old algo of tasks execution context checks to handle busy waiting on named threads
#rb arne.schober

[CL 15833561 by Andriy Tylychko in ue5-main branch]
2021-03-25 18:08:22 -04:00
Andriy Tylychko
327a94d1a4 StatsThread replaced by a Pipe:
* the thread was removed and its surrounding was cleaned up a bit
* ENamedThreads::StatsThread (and relatives) deprecated
* support for single-threaded execution looks a bit messy because it still have to be based on the old TaskGraph API until we convert the game thread to the new API (which will be one of the very last things)
* despite the direct usage of ENamedThreads::StatsThread from an external code is highly unlikely, to preserve backward compatiblity internally TaskGraph redirects all remaining stats tasks to StatsPipe

#rb martin.ridgers

[CL 15794122 by Andriy Tylychko in ue5-main branch]
2021-03-24 04:47:07 -04:00
Arne Schober
5fcffdf5f9 U5 - only wake the emergency worker once during busy wait
[CL 15753315 by Arne Schober in ue5-main branch]
2021-03-19 23:26:22 -04:00
Arne Schober
6226c15344 U5 - scale FG workers with corecount to keep overall system more responsive on high core count machines
[CL 15714318 by Arne Schober in ue5-main branch]
2021-03-16 15:24:24 -04:00
Yuriy ODonnell
7e9fab7a68 Refactored DECLARE_STAT macro to use EStatFlags instead of series of bool parameters. Added a mechanism to disable a external profiler and trace events for a specific stat. Disabled events for CPU stall stats by default.
Use `-verbosenamedevents` command line argument to allow all events (restore old behavior; implies `-statnamedevents`).

#rb ionut.matasaru

[CL 15695521 by Yuriy ODonnell in ue5-main branch]
2021-03-15 08:38:40 -04:00
Arne Schober
0e072c82f3 U5 - change scheduler to use cycles for it's spinloop because that is more predictable across differnt CPU architectures.
[CL 15578850 by Arne Schober in ue5-main branch]
2021-03-02 23:34:26 -04:00
Arne Schober
1026b0f1fa U5 - always wake up backgroundworkers when busy waiting on tasks and there is no work to be done.
[CL 15538110 by Arne Schober in ue5-main branch]
2021-02-25 23:37:58 -04:00
Arne Schober
7e270e59ca U5 - implement the ability to set and propagate Task UserData
[CL 15525800 by Arne Schober in ue5-main branch]
2021-02-24 23:52:27 -04:00
Arne Schober
e0fb5bce47 U5 - Ability to prevent certain tasks from being used during busy waiting
[CL 15514005 by Arne Schober in ue5-main branch]
2021-02-24 10:36:30 -04:00
simon tourangeau
e266ebd713 Added copyright boilerplate to file.
#rb none

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

[CL 15417182 by simon tourangeau in ue5-main branch]
2021-02-16 09:27:10 -04:00
Arne Schober
fd3340243b U5 - Yield long running background pararallelFor Tasks so that higher priority work get's the chance to run.
[CL 15409800 by Arne Schober in ue5-main branch]
2021-02-15 15:50:44 -04:00
Andriy Tylychko
0ad7f07c27 fixed duplicated task trace ID
#jira UE-108006
#rb none

[CL 15408355 by Andriy Tylychko in ue5-main branch]
2021-02-15 13:28:29 -04:00
Arne Schober
d91f22a8bf U5 - enable new Task Backend
[CL 15388033 by Arne Schober in ue5-main branch]
2021-02-11 11:44:44 -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
Arne Schober
043772bdbe U5 - Implement ProcessorGroup support to enable more than 64 cores on Windows.
[CL 15362026 by Arne Schober in ue5-main branch]
2021-02-08 19:24:49 -04:00
Arne Schober
e6779842d1 U5 - add the ability to provide a Scheduler instance to the LowLevel TaskPool so that it can use a seperate instance of a Scheduler.
#fyi Danny.Couture, Francis.Hurteau, Andriy.Tylychko, Mark.Lintott, Mihnea.Balta

[CL 15358539 by Arne Schober in ue5-main branch]
2021-02-08 14:47:51 -04:00
Arne Schober
b96b80b71b U5 - fix WaitCount logic
[CL 15354479 by Arne Schober in ue5-main branch]
2021-02-07 20:00:13 -04:00