Where Revival tries to revert any Cancellation as if it never happened. If the canceled Task was already executed by the Scheduler the revival will fail
(the Task will not be relaunched if revival fails). And where Expediting tries to fast track a task if the result is needed immediately on the current Context.
#preflight 6230cb60f41c515c3704cf08
#RB Francis.Hurteau
[CL 19388819 by Arne Schober in ue5-main branch]
- Only the first 20 bytes of the RawHash field in the header will be consumed.
- In a subsequent change, the last 12 bytes of the RawHash field will be set to zero for new compressed buffers.
- Leveraged composite buffers to avoid performing an extra copy of compressed blocks.
- Updated FBlockEncoder::Compress to always use ParallelFor.
- Added ParallelForWithPreWorkWithTaskContext.
#preflight 622ba3869b7ce6ea5d44b7ab
#rb Zousar.Shaker
#rnx
[CL 19360767 by Devin Doucette in ue5-main branch]
- This restore proper prioritization support that was lost with the new task backend while keeping a sane number of threads
- This helps to prevent latency sensitive tasks from going to efficient cores for Alder Lake
- This fixes performance problems caused by high prio task getting picked up by background threads and being preempted under high-load, causing FPS hiccups.
- SetThreadPriority takes ~20us on average on Windows System and is only paid for background work
- Longer SetThreadPriority can be expected when lowering the priority of a task under heavy load, which might cause the caller to be preempted right away, this is expected.
- Can be A/B tested from command-line with -TaskGraphUseDynamicPrioritization=1/0
#rb Andriy.Tylychko, Arne.Schober, Stefan.Boberg
#preflight 622786a7e83598518f3745a1
[CL 19314282 by danny couture in ue5-main branch]
Also staring to remove some of the legacy TaskBackend Code to reduce the maintenence effort.
#preflight 6206a235c663666c89aa0e96
[CL 18955688 by Arne Schober in ue5-main branch]
#ushell-cherrypick of 18452559 by arne.schober
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18452544 via CL 18452545 via CL 18452554 via CL 18883856 via CL 18883880 via CL 18883884 via CL 18884166 via CL 18884239
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18884913 by andriy tylychko in ue5-main branch]
[FYI] Andriy.Tylychko, Francis.Hurteau, Mihnea.Balta
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18764566 via CL 18764592 via CL 18764599 via CL 18765175 via CL 18765413
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18765421 by arne schober in ue5-main branch]
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18719672 via CL 18719675 via CL 18719677 via CL 18720056 via CL 18720138
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18720140 by arne schober in ue5-main branch]
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18713882 via CL 18713934 via CL 18713942 via CL 18714811 via CL 18715173
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18716923 by arne schober in ue5-main branch]
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18706010 via CL 18706012 via CL 18706014 via CL 18706159 via CL 18706184 via CL 18706255
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18706278 by arne schober in ue5-main branch]
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18705977 via CL 18705984 via CL 18705985 via CL 18706158 via CL 18706183 via CL 18706254
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18706276 by arne schober in ue5-main branch]
#preflight trivial
#ROBOMERGE-OWNER: arne.schober
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18705843 via CL 18705878 via CL 18705880 via CL 18705980 via CL 18705982 via CL 18706248
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18706268 by arne schober in ue5-main branch]
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18701731 via CL 18701732 via CL 18701733 via CL 18702234 via CL 18702250 via CL 18702285
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18702289 by arne schober in ue5-main branch]
#preflight trivial
#ROBOMERGE-OWNER: arne.schober
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18686629 via CL 18686657 via CL 18686660 via CL 18688919 via CL 18688931 via CL 18688946
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18688977 by arne schober in ue5-main branch]
#RB Ben.Woodhouse, Danny.Couture
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18673424 via CL 18673479 via CL 18673484 via CL 18674320 via CL 18674401 via CL 18674465
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)
[CL 18679699 by arne schober in ue5-main branch]
#RB Ben.Woodhouse, Danny.Couture
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18673418 via CL 18673478 via CL 18673481 via CL 18674312 via CL 18674344 via CL 18674390
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)
[CL 18679696 by arne schober in ue5-main branch]
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18622745 via CL 18622769 via CL 18622784 via CL 18623393 via CL 18623425 via CL 18623448
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)
[CL 18623467 by arne schober in ue5-main branch]