Commit Graph

109 Commits

Author SHA1 Message Date
tyler staples
764da09a56 Put metasound operator pool csv stats behind a cvar that's disabled by default.
Disabled by default to reduce csv bloat. Can be enabled in replays to get the data when desired.
Eventually we'll convert this to csv events to reduce the overhead.

#rnx
#rb ben.woodhouse, phil.popp

[CL 36412150 by tyler staples in 5.5 branch]
2024-09-18 17:46:05 -04:00
tyler staples
2b73ce56e4 Workaround for assert in FOperatorCacheStatTracker.
Pass in the actual number we currently have in the cache to the tracker so it can correct itself if the problem scenario occurs.
Also convert asserts to ensrues so we don't crash.

#rnx
#rb phil.popp
#tests local cooked build in juno, replay run
[FYI] ryan.mangin

[CL 35969595 by tyler staples in ue5-main branch]
2024-09-03 11:53:05 -04:00
tyler staples
e666434230 Categorize metasound operator pre-caching under LLM Audio/Metasound/OperatorPool
#rnx
#rb phil.popp
#tests local llm replay
[FYI] anton.dunchev, simon.orr

[CL 34918653 by tyler staples in ue5-main branch]
2024-07-18 18:15:56 -04:00
phil popp
e36ae70d16 Fix bug in operator cache resulting in too many precached metasounds.
#rb tyler.staples
#rnx

[CL 34905962 by phil popp in ue5-main branch]
2024-07-18 13:32:58 -04:00
tyler staples
306167dd92 Add missing csvprofiler ifdef to metasoundoperator cache stat tracker.
#rnx
#rb anton.dunchev

[CL 34888382 by tyler staples in ue5-main branch]
2024-07-17 18:22:25 -04:00
tyler staples
85b939c217 Add Metasound operator cache csv stats
To better inform which sounds (and how many instances) we should cache, this CL adds several stats to track cache misses and utilzation of cached sounds.

The majority of the tracking logic is encapsulated in the MetaSoundOperatorCacheStatTracker which handles updating active counts for each cached operator and emitting csv events.

This change also adds the ability to write all active metasounds to the csv which can be situationally useful. It is disabled by default due to the overhead/csv bloat.

#rnx
#rb phil.popp
#tests local replays, pie, horde RR

[CL 34887862 by tyler staples in ue5-main branch]
2024-07-17 18:17:44 -04:00
phil popp
8846679f41 Recurse MetaSound Preset Graph Inflation as much as possible.
#rnx
#rb Rob.Gay

[CL 34465653 by phil popp in ue5-main branch]
2024-06-18 12:26:46 -04:00
danny couture
6345bd8b29 [TaskGraph/Misc]
- Replace BusyWait API calls to simple Wait

#rnx
#rb kevin.macaulayvacher

[CL 34315066 by danny couture in ue5-main branch]
2024-06-12 13:56:22 -04:00
phil popp
56737d13eb MetaSound Graph Render Cost
The main elements of this change are:
- Incorporation of "Relative Render Cost" to the AudioDevice in order to do more nuanced voice limiting
- Added a method for tracking a RenderCost in MetaSounds
- Live information on RenderCost is displayed in the MetaSound editor when a sound is previewed

There was some small cleanup as well
- Moved the GraphHierarhcy MetaSound environment variable
- Renamed the MetaSound Environment Variable  TransmissionID to InstanceID
- Put CPU cost and Render Cost into their own widget in the MS editor.

#jira UE-215467
#rb Rob.Gay, Jimmy.Smith

[CL 34020333 by phil popp in ue5-main branch]
2024-05-30 19:36:18 -04:00
helen yang
7e54e11452 MetaSound Array Random Get node fixes for passthrough inputs and node id for Same Node shared state behavior
- Make trigger inputs passthrough
- Use both node id and containing graph id to avoid shared state in duplicated assets when using Same Node shared state behavior
- Use asset class id instead of a newly generated id for FFrontendGraph graph id to guarantee ids are shared for a given asset, and clean up now unneeded id map in the Operator Cache

#jira UE-215243
#jira UE-215587
#rb phil.popp

[CL 33901385 by helen yang in ue5-main branch]
2024-05-24 14:33:22 -04:00
chris ritter
a495329bdf [Metasound] Re-bind vertex analyzers when their output data ref changes (e.g. dynamic graphs re-connecting things)
#rb phil.popp
#tests cooked client/server

[FYI] charlie.huguenard

[CL 33616022 by chris ritter in ue5-main branch]
2024-05-13 22:01:25 -04:00
chris ritter
c92ef085b9 Expose VertexInterface changes in OnGeneratorIOUpdated
#rb phil.popp
#tests PIE, MetasoundDynamicGenerator test suite
[FYI] charlie.huguenard

[CL 32873045 by chris ritter in ue5-main branch]
2024-04-11 02:17:22 -04:00
rob gay
446e58f9fd Move operator cache to use async build pipe instead of task graph (follow-up to listed bug fix per initial review feedback)
#rb Maxwell.Hayes
#jira UE-201787
#rnx

[CL 31918581 by rob gay in ue5-main branch]
2024-02-29 14:30:15 -05:00
nicholas howe
40c961c70e MetasoundMusicClockDriver thread safety fixes.
[REVIEW] [at]buzz.burrowes [at]charlie.huguenard [at]jake.burga [at]robert.rouhani
#rb charlie.huguenard

[CL 31582940 by nicholas howe in ue5-main branch]
2024-02-16 17:20:19 -05:00
rob gay
1e7eb6500f Minor pool clean-up & additional protections in light of review of last submission
#rb maxwell.hayes
#jira UE-201787
#rnx
#tests AudioUnitTests, ran bug repro

[CL 31457867 by rob gay in ue5-main branch]
2024-02-13 20:58:28 -05:00
rob gay
39b577b813 - Fix for shutdown crash in FWaveAsset construction due to IStreamingManager becoming invalid while operator cache is building proxies async
- Fix for shutdown stall caused by operator cache not canceling async build gracefully
#jira UE-201787
#rnx
#rb maxwell.hayes
#tests AudioUnitTests, ran bug repro

[CL 31456120 by rob gay in ue5-main branch]
2024-02-13 19:40:35 -05:00
maxwell hayes
bc39a66768 Cleaning up metasound experimental cvars
#rb Phil.Popp
#jira UE-205183
#rnx

[CL 31180968 by maxwell hayes in ue5-main branch]
2024-02-05 13:30:58 -05:00
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
maxwell hayes
cb6bc25e3c Adding audio csv stats around tracking potential perf culprits.
#rb jimmy.smith

[FYI] Will.Widen

[CL 30402732 by maxwell hayes in ue5-main branch]
2023-12-19 16:07:38 -05:00
AdricEpic
473f754908 - Registration Race Condition Fixes (Attempt #2 w/ cook fixes)
- Part 1/2 fixing inconsistent file naming that is causing code query tool slowdowns (2/2 will be deprecating old MetasoundFrontendRegistries.h header path)
- Replace SoftObjectPaths with TopLevelAssetPaths for perf (ObjPaths do string copies all over, TopLevelAssetPaths are just two FNames)
#rb helen.yang
#rnx
[FYI] sondra.moyls
#tests AudioQA/EngineTest MetaSound Automated Tests, AudioTests, cook WindowsClient, submit and backout and then fix those problems
#jira UE-198785

[CL 30354102 by AdricEpic in ue5-main branch]
2023-12-15 13:21:12 -05:00
rob gay
65111a0774 Fix for cook errors, undo changelist 30246187
#rb helen.yang
#rnx

[CL 30255375 by rob gay in ue5-main branch]
2023-12-11 20:36:24 -05:00
rob gay
a876bffd23 - Registration Race Condition Fixes
- Part 1/2 fixing inconsistent file naming that is causing code query tool slowdowns
- Replace SoftObjectPaths with TopLevelAssetPaths for perf (ObjPaths do string copies all over, TopLevelAssetPaths are just two FNames)
#rb helen.yang
#rnx
#tests AudioQA MetaSound Automated Tests, AudioTests
#jira UE-198785

[CL 30246215 by rob gay in ue5-main branch]
2023-12-11 14:43:42 -05:00
charlie huguenard
0397d1e2b3 [Metasound] Notify listeners only once per render block when a dynamic generator's vertex interface changes.
[FYI] matthew.booth
#rb helen.yang

[CL 30128280 by charlie huguenard in ue5-main branch]
2023-12-05 14:13:33 -05:00
rob gay
c0a29efaed Add cvar to disable manual MetaSoundPrecache all together
#rb helen.yang
#rnx

[CL 30094958 by rob gay in ue5-main branch]
2023-12-04 16:22:01 -05:00
helen yang
3b8e0c7acf Retrieve MetaSound graph before building graph operator in async task (cvarable) and add nullptr checks
[REVIEW] [at]aaron.mcleran, [at]rob.gay
#rb Aaron.McLeran, hilda.cruz, Rob.Gay, ryan.mangin

#localization none
#tests preflight 656ceb1d8b7aa8578b8b235a
#preferred_allowlister derek.ehrman

[CL 30072616 by helen yang in ue5-main branch]
2023-12-03 21:31:16 -05:00