Commit Graph

209 Commits

Author SHA1 Message Date
marc audy
a25c77c3cc Bring RES files in line with EM
#rnx

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 21434216 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21437233 by marc audy in ue5-main branch]
2022-08-17 21:56:00 -04:00
ben woodhouse
f01fc33a83 Make a new RenderthreadCriticalPath stat which includes dependent waits. The new stat still excludes GPU occlusion query waits, the present wait and non-critical path waits (waiting for the game thread or RHI thread). Waits for tasks kicked on the GT are included though (unlike the existing stat).
The implementation extends the existing FThreadIdleStats to track critical path vs non-critical path waits for a thread.

The cvar r.RenderThreadTimeIncludesDependentWaits forces the main renderthread stat to use the new behavior, but this is disabled by default for historical tracking reasons.

#rb Nuno Leiria

#ROBOMERGE-AUTHOR: ben.woodhouse
#ROBOMERGE-SOURCE: CL 21386702 via CL 21387159 via CL 21387356 via CL 21391039 via CL 21391830
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21394348 by ben woodhouse in ue5-main branch]
2022-08-15 17:15:00 -04:00
mark lintott
e2d74ce99d Fixed unacceptable words in Stats and Profiling system
#jira UE-158612, UE-158573, UE-158613
#rb pj.kack
#preflight 62f3b39cf75a2a539c84166f

[CL 21317572 by mark lintott in ue5-main branch]
2022-08-10 09:49:10 -04:00
tuo chen
0e558e9997 fix compile error when missing DECLARE_STATS_GROUP_SORTBYNAME if STATS==0
#preflight skip
#jira none
#rb none

[CL 21267096 by tuo chen in ue5-main branch]
2022-08-08 07:01:28 -04:00
mickael gilabert
b2c395d8b8 Trim Low level allocator memory when OS might go into OOM
[REVIEW] [at]rob.millar
[FYI] dave.barrett
#rnx

#ROBOMERGE-OWNER: mickael.gilabert
#ROBOMERGE-AUTHOR: mickael.gilabert
#ROBOMERGE-SOURCE: CL 21204808 via CL 21205552 via CL 21205565 via CL 21205612
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21209877 by mickael gilabert in ue5-main branch]
2022-07-21 17:08:05 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
jordan cristiano
ccf6bcc2c0 Removed usage of and deprecated Stats::IsThreadCollectingData. It was only used for FScopeCycleCounterUObject which does the checks internally already.
#rb evgenii.babinets

#ROBOMERGE-AUTHOR: jordan.cristiano
#ROBOMERGE-SOURCE: CL 21118006 via CL 21118268 via CL 21118652
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21142500 by jordan cristiano in ue5-main branch]
2022-07-17 22:46:06 -04:00
jordan cristiano
7fb93f7d17 Reduced FScopeCycleCounter complexity by undoing the description string addition. Replaced the one use case with a dynamic stat string.
#rb evgenii.babinets
[FYI] jason.hoerner

#ROBOMERGE-AUTHOR: jordan.cristiano
#ROBOMERGE-SOURCE: CL 21046539 via CL 21046557 via CL 21047685
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21075529 by jordan cristiano in ue5-main branch]
2022-07-13 13:58:40 -04:00
Jason Nadro
9c36c843b8 Removed unacceptable words from RenderCore.
#rb trivial
#jira UE-158668
#preflight 62c840a57e606620fd5c2847

[CL 21007335 by Jason Nadro in ue5-main branch]
2022-07-08 10:54:10 -04:00
bryan sefcik
a9cc65bca4 Updated Core code to not use CoreMinimal.h when possible.
Core public headers still will contain CoreMinimal.h if any included it before my IWYU changes.
#preflight 62c73594756222ced4e48707

[CL 20991367 by bryan sefcik in ue5-main branch]
2022-07-07 16:02:19 -04:00
bryan sefcik
9905eb52bb Pass 2 on running IWYU on Core.
Things to note regarding this pass:
* No includes are currently being removed from public headers.
* Any private file that has a #if is currently not being updated.
#preflight 62c703bbd13fac04f11da948

[CL 20985655 by bryan sefcik in ue5-main branch]
2022-07-07 12:30:11 -04:00
bryan sefcik
62489fe2b3 Ran a pass of IWYU on Core.
Things to note regarding this pass:
* No includes are currently being removed from public headers.
* Any private file that has a #if is currently not being updated.

#rb Devin Doucette and Marc Audy
#preflight 62c62086756222ced497ff95
#preflight 62c626d12f2d04691814d331
#preflight 62c630107e606620fdd64e31
#preflight 62c635c6756222ced49a13cf

[CL 20979027 by bryan sefcik in ue5-main branch]
2022-07-06 21:44:18 -04:00
ionut matasaru
17bfdee3de [Insights] Fixed StatsTrace incorrectly tracing disabled stats (i.e. when the stat name is set to "None").
#rb Johan.Berg
#preflight 6285208f571eb4bfb6f161cc

[CL 20277511 by ionut matasaru in ue5-main branch]
2022-05-19 05:02:06 -04:00
evgenii babinets
1bf9d7bb91 Unifying how we modify GCycleStatsShouldEmitNamedEvents so that we guarantee it won't drop below zero (should never happen, but just in case so that we can change checks to be != 0).
#rb jordan.cristiano

#ROBOMERGE-AUTHOR: evgenii.babinets
#ROBOMERGE-SOURCE: CL 20190641 via CL 20190656 via CL 20190671
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20192726 by evgenii babinets in ue5-main branch]
2022-05-13 20:46:55 -04:00
robert millar
5811293e2a Add TargetRules.bFNameOutlineNumber as an option to reduce the size of FName by 4 bytes by storing the number in the name table.
Adds a define UE_FNAME_OUTLINE_NUMBER.
Removes of FName, FMinimalName from memory image support. Adds of FMemoryImageName.
Removal of FMinimalName operator<<, all fields made private, size made variable.
All fields of FScriptName made private.
Added console commands for dumping numbered/unnumbered names and stats.

#rb johan.torp

#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19058026 via CL 19058611 via CL 19058656 via CL 19061727 via CL 19061740 via CL 19064047
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19066701 by robert millar in ue5-main branch]
2022-02-21 02:35:48 -05:00
robert millar
b4bfddef0a MallocBinned2 fork support.
Clear caches and update a canary value across the fork boundary to avoid touching pages that were allocated pre-fork to minimize unnecessary duplication of shared pages.
Savings depend on pre-fork fragmentation/slack and number of concurrent child processes.

#rb louisphilippe.seguin, johan.torp, arciel.rekman

#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19057122 via CL 19057644 via CL 19057693 via CL 19057718 via CL 19057737 via CL 19059617
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19066314 by robert millar in ue5-main branch]
2022-02-21 02:04:42 -05:00
evgenii babinets
92b6faea1c Optimize code size and overhead for Insights markers generated for scope cycle counters. Down from 213 bytes per marker to 142 bytes (overall program size down ~600KB).
Details: removes duplicate checks on CpuChannel by resolving SpecIds inside the scope event structure and avoiding passing in CpuChannel as the fine-grained channel when we always check CpuChannel at least.

#rb jordan.cristiano

#ROBOMERGE-AUTHOR: evgenii.babinets
#ROBOMERGE-SOURCE: CL 19003995 via CL 19004354 via CL 19005197 via CL 19008129 via CL 19008734
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 19008810 by evgenii babinets in ue5-main branch]
2022-02-15 20:37:22 -05:00
Sebastian Thomeczek
8691e4a479 Stats Trace: Add stat group tracking
#rb Ionut.Matasaru
#jira none
#preflight
#preflight 620683bab84973a2bb8cfb43

[CL 18952844 by Sebastian Thomeczek in ue5-main branch]
2022-02-11 10:57:43 -05:00
jason hoerner
294c5dd557 UE5_RELEASE: Virtual Production, improved profiling for multiple view family scenarios.
* Increased limit for GPU profiler events on D3D12.  A typical frame with 4 view families would easily exhaust the old limit of 1K events resulting in many events not showing up in the profile -- limit increased to 8K, and confirmed negligible difference in memory.  Fixed bug where we were only using half the queries allocated as well (unnecessary multiplication by 2 when calling RHICreateRenderQueryPool).
* Added optional "ProfileDescription" to FSceneViewFamily, which is appended to the Unreal Insights profile event names for both CPU and GPU, so you can differentiate view families.
* Infrastructure added to CPU profiler to allow a verbose name to be added to a Stat timing block.
* Infrastructure added to GPU profiler to allow verbose names to be added to timing blocks in general, both Event and Stat timing blocks.
* Added stats display for Display Cluster listing the CPU and GPU cost, and GPU assignment per view family by name, with the goal of allowing clients to tune features enabled per view family to adjust performance, without needing to gather performance information from Unreal Insights.
* FSceneRenderer::DoCrossGPUTransfers uses push transfer without lockstep (logic copied from 4.27), which significantly improves perf.

#rb zach.bethel marc.audy mihnea.balta
#jira none
#rnx
#preflight 61df4d23484d866ec01f17cf

#ROBOMERGE-AUTHOR: jason.hoerner
#ROBOMERGE-SOURCE: CL 18591295 in //UE5/Release-5.0/... via CL 18591308 via CL 18591324
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18591346 by jason hoerner in ue5-main branch]
2022-01-12 18:25:48 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
johan torp
3f3c413f23 Core constexprification pass to reduce code bloat, improve performance and simplify searching for non-constexpr constants
#rb steve.robb
#jira FORT-412107

#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 17679994 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17680001 by johan torp in ue5-release-engine-test branch]
2021-09-30 13:05:39 -04:00
aurel cordonnier
7f517562d5 Merge from Release-Engine-Staging @ 17438845 to Release-Engine-Test
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17439044 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-06 12:23:53 -04:00
ionut matasaru
be4ea8e9bf Fixed Stats macros cause extra evaluations of their 'Value' expressions.
#jira UE-124570
#rb Justin.Hare, Catalin.Dragoiu
[FYI] CarlMagnus.Nordin

#ROBOMERGE-SOURCE: CL 17351178 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17351186 by ionut matasaru in ue5-release-engine-test branch]
2021-08-30 08:59:24 -04:00
martin ridgers
a3c6d44183 Compile error fix if CPUPROFILERTRACE_ENABLED was off by STATS is on.
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 17048453 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v850-17047176)

[CL 17049906 by martin ridgers in ue5-release-engine-test branch]
2021-08-04 09:33:51 -04:00
ionut matasaru
c0495f965d [Insights]
- Fixed the trace of scope cycle counters for UObject to be enabled everywhere where FScopeCycleCounterUObject is used switced by Stats::IsThreadCollectingData().
  - Fixed UObject::CallFunction to trace UObject name for Insights only when GVerboseScriptStats is on.

#rb Catalin.Dragoiu
[FYI] Johan.Berg, Jeff.Farris

#ROBOMERGE-SOURCE: CL 16824659 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16824668 by ionut matasaru in ue5-release-engine-test branch]
2021-07-12 09:25:05 -04:00