Commit Graph

185 Commits

Author SHA1 Message Date
ionut matasaru
338b2dc613 [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

[CL 16824659 by ionut matasaru in ue5-main branch]
2021-07-12 09:22:58 -04:00
Andriy Tylychko
10b5e05d00 conditional compilation for "StatsThread as a pipe" with an ability to turn back to "StatsThread as a named thread"
#jira UE-117540

[CL 16686290 by Andriy Tylychko in ue5-main branch]
2021-06-16 07:11:06 -04:00
ionut matasaru
6bfb55b3bd [Insights]
- Fixed tracing of UObject names and function names (UObject::CallFunction, FScopeCycleCounterUObject) when "stat named events" toggle is enabled (-statnamedevents, "stat NamedEvents" console command).
  - Added FCpuProfilerTrace::OutputBeginDynamicEvent(const FName), in addition to existing API that receives const ANSICHAR*  or const TCHAR*. It uses a separate DynamicFNameScopeNamesMap.

#rb Johan.Berg
#fyi Jeff.Farris

[CL 16657504 by ionut matasaru in ue5-main branch]
2021-06-14 08:51:02 -04:00
Catalin Dragoiu
25a3d25fd7 Fix Non Unity Build Errors
#rb none #jira UE-117067

[CL 16539217 by Catalin Dragoiu in ue5-main branch]
2021-06-02 16:53:02 -04:00
zach bethel
9016b5542c Expose operator == and != on TStatId for state filtering.
#rb none

[CL 16316357 by zach bethel in ue5-main branch]
2021-05-13 14:48:55 -04:00
will damon
bc656d20e0 Initial import of AGXRHI
AGXRHI is starting out as a clone of MetalRHI, but will be refactored and overhauled with several goals in mind:

- Reduce/Eliminate technical debt
- Substantially improve readability and maintainability
- Introduce clear layers for platform independent vs dependent code
- Reduce memory footprint and generally improve memory usage
- Remove legacy concepts (like manual reference counting) and enable better integration with platform tools
- Implement newer and more modern features provided by Metal (such as ray tracing and enhanced command buffer debugging)
- Target/tune the software architecture and API usage for performance on Apple designed GPUs

#rb jack.porter, richard.wallis
#jira none
#fyi lukas.hermanns
#rnx

[CL 16225160 by will damon in ue5-main branch]
2021-05-06 15:47:24 -04:00
Johan Torp
83e9856501 Reduce Stats allocations during early editor startup
#rb devin.doucette

[CL 15987404 by Johan Torp in ue5-main branch]
2021-04-13 05:45:27 -04:00
mark lintott
69f62bf934 #jira UE-111719
#rb andrew.ladenberger, ionut.matasaru
Replaced references to ue4stats with uestats.
Fixed frontend profiler to load uestats
#preflight 60630fd74862cc0001ef53c6

#ROBOMERGE-SOURCE: CL 15861539 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15861543 by mark lintott in ue5-main branch]
2021-03-30 09:48:17 -04:00
ionut matasaru
72d8caf179 Added "stats VerboseNamedEvents" command to toggle GShouldEmitVerboseNamedEvents. This is in addition to exisiting "stat NamedEvents" command that toggles GCycleStatsShouldEmitNamedEvents. When verbose is toggled on, it will also turn on the NamedEvents, if not alreay enabled.
Also made a minor optimization re test for "verbose" flag in FCycleCounter::Start.

#rb Catalin.Dragoiu
#fyi Yuriy.ODonnell

[CL 15821781 by ionut matasaru in ue5-main branch]
2021-03-25 08:30:02 -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
19e5e75bf5 UE5EA - the event that blocks thread creation is outside of a thread tag scope, therefore revert this code to the previous version that did no care about tags.
#RB Andriy.Tylychko

#ROBOMERGE-SOURCE: CL 15753324 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15762914 by arne schober in ue5-main branch]
2021-03-22 11:04:08 -04:00
Yuriy ODonnell
4efc7c9b3c Fixed missing EStatFlags::ClearEveryFrame flag in DECLARE_CYCLE_STAT_WITH_FLAGS
#rb none (trivial)

[CL 15709733 by Yuriy ODonnell in ue5-main branch]
2021-03-16 04:42:24 -04:00
Yuriy ODonnell
e70a2129bb Disable several very verbose profiling events by default. Changed DECLARE_CYCLE_STAT_WITH_FLAGS_EXTERN to always include ClearEveryFrame, as that's what all cycle counter stats expect. Removed explicit ClearEveryFrame at use sites.
Disabled profiling events:
- FMaterial::TryGetShaders
- Various D3D12 RHI cycle stats
- CreateClusters GT cycle counter
- Moved FLinkerLoad::Preload event into slow path
- PSOGraphics/ComputeFindOrCreateTime (added explicit profiling events when slow path is taken)

Dramatically reduces trace file sizes, even with quite detailed instrumentation via -statnamedevents.

#rb ionut.matasaru
#preflight 604fdda44f3ff20001294145

[CL 15702820 by Yuriy ODonnell in ue5-main branch]
2021-03-15 19:13:58 -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
jeff newquist
34f6ef6d1c Stats system is still using 32-bit cycle counts, so don't use Cycles64() which may have a different resolution. Fix issue with hitch detection resulting from use of 64-bit count.
#jira UE-107359, UE-94786
#rb Yuriy.Odonnell
#rnx

#ROBOMERGE-SOURCE: CL 15643029 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)

[CL 15643057 by jeff newquist in ue5-main branch]
2021-03-08 13:39:18 -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
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
andrew ladenberger
2b450983f7 Removed named event overhead from STAT_AddSubjectPrimitive. Also, removed now empty verbose groups from CL 10988572.
#rb jian.ru


#ROBOMERGE-SOURCE: CL 11529612 via CL 11529656 via CL 11529676
#ROBOMERGE-BOT: (v654-11333218)

[CL 11529695 by andrew ladenberger in Main branch]
2020-02-18 18:50:19 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
Stefan Boberg
55a8b15f1f Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb none

[CL 11258477 by Stefan Boberg in Main branch]
2020-02-05 14:26:36 -05:00
PJ Kack
741d8d98a2 MANUAL MERGE
Merging //UE4/Main @ 11112898 to //UE4/Dev-Core (dev-core-l0178)

#rb none

(ushell-p4-mergedown)

[CL 11113594 by PJ Kack in Dev-Core branch]
2020-01-26 11:37:21 -05:00
PJ Kack
3a9ca4d2f9 Merging //UE4/Main @ 11112898 to //UE4/Dev-Core (dev-core-l0178)
#rb none

(ushell-p4-mergedown)

[CL 11113592 by PJ Kack in Dev-Core branch]
2020-01-26 11:33:22 -05:00
michael noland
2d6847d01a Core: Fixes for various unsafe implicit type conversion warnings in the Core module (WIP; some files still suppress the warning)
- Ptrdiff -> int32
- Float/int confusion and double/float
- size_t stuff; various changes to the algorithms to use a deduced IndexType template argument and/or decltype to use the appropriate size for indicies and counts
- Fixed GetNum(FString) incorrectly returning SIZE_T instead of int32, and GetNum(container) now returns whatever container.Num() does (so usually int32)
#jira UE-86949
#rb marc.audy, steve.robb


#ROBOMERGE-OWNER: michael.noland
#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 11050799 via CL 11050828 via CL 11050837
#ROBOMERGE-BOT: (v637-11041722)

[CL 11051763 by michael noland in Main branch]
2020-01-17 13:49:41 -05:00
andrew ladenberger
d0d320bccf Removing a few common small scope counters to reduce stats overhead. Trivial scopes were deleted while some non-trivial scopes were moved to verbose groups.
Made Verbose:  FStaticComponentRenderAssetManager_IncrementalUpdate, STAT_Collision_PreFilter, STAT_AddSubjectPrimitive, STAT_GnmCreateUniformBufferTime
Deleted: STAT_ParticleMemTime, STAT_SpriteSpawnTime, STAT_PARTALLOC, STAT_FMeshBatchAndRelevance, STAT_DequeueCooldowns, STAT_GatherTicksForParallel
Moved: STAT_SpriteSpawnTime

#rb mickael.gilabert
[FYI] ben.woodhouse, derek.ehrman
#rnx

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: andrew.ladenberger
#ROBOMERGE-SOURCE: CL 10986597 via CL 10988572 via CL 10988627 via CL 10988681
#ROBOMERGE-BOT: CORE (Main -> Dev-Core) (v633-10983880)

[CL 11013029 by andrew ladenberger in Dev-Core branch]
2020-01-15 22:19:04 -05:00