Commit Graph

66 Commits

Author SHA1 Message Date
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
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
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
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
maxwell hayes
dd5caaaf58 Add cvar to allow resetting metasound operators on cache insertion to potentially deallocate memory.
[REVIEW] [at]rob.gay
#rnx

#localization none
#tests local LLM A/B in PIE to confirm regression fixed w/o affecting weapon audio functionality
[FYI] aaron.mcleran

[CL 29596933 by maxwell hayes in ue5-main branch]
2023-11-09 10:54:35 -05:00
maxwell hayes
62beb18e59 [Metasound] Follow up changes to operator pooling behavior.
#jira UE-179996
#rb phil.popp

#swarm https://p4-swarm.epicgames.net/reviews/29255703

[CL 29295416 by maxwell hayes in ue5-main branch]
2023-10-31 18:35:37 -04:00
maxwell hayes
8e9187b0cf [Metasounds] Operator precaching mechanism.
#jira UE-185725, UE-179996,
#rb phil.popp
#swarm https://p4-swarm.epicgames.net/reviews/27703580

[CL 28775007 by maxwell hayes in ue5-main branch]
2023-10-13 17:49:56 -04:00
charlie huguenard
7838330b9f [Metasound] Notify users when a generator's I/O changes
#rb phil.popp

[CL 27842984 by charlie huguenard in ue5-main branch]
2023-09-13 14:53:04 -04:00
stan hormell
f6c41a01d5 [Backout] - CL 27692414 and CL 27732161 - Smoke Crash
#jira FORT-653198
#fyi Maxwell.Hayes
Original CL Desc
-----------------------------------------------------------------
[Metasounds] Adding unreal insights markup:
* Added asset name metadata to "RegisterWithFrontEnd"
* Added per-asset counter for the number of concurrent operators alive at a time.

#jira UE-179996
#rb

[CL 27741788 by stan hormell in ue5-main branch]
2023-09-10 14:48:15 -04:00
Maxwell Hayes
1f1ec75fc8 Follow up tweaks to instance counting (code review comments after PFaS went through).
#jira UE-179996
#rb Phil.Popp

[CL 27732161 by Maxwell Hayes in ue5-main branch]
2023-09-08 18:19:44 -04:00
Maxwell Hayes
c0cc14b36b [Metasounds] Adding unreal insights markup:
* Added asset name metadata to "RegisterWithFrontEnd"
* Added per-asset counter for the number of concurrent operators alive at a time.

#jira UE-179996
#rb

[CL 27692414 by Maxwell Hayes in ue5-main branch]
2023-09-07 18:19:05 -04:00
matthew booth
2c1190d1d5 [Metasound] Add the ability to get Metasound rendering perf numbers (timing) at runtime.
#rb [at]phil.popp [at]charlie.huegunard [at]rob.gay

[CL 27338257 by matthew booth in ue5-main branch]
2023-08-24 08:28:12 -04:00
phil popp
c382cf4cfb Fix for disconnecting MetaSound node using builder API does not update output
#jira UE-189292
#rb Rob.Gay

[CL 26446133 by phil popp in ue5-main branch]
2023-07-18 16:24:42 -04:00
phil popp
7053908920 MetaSound Dynamic Operator and Dynamic Transactor
#jira UE-181887, UE-184051
#rb Rob.Gay

[CL 25995669 by phil popp in ue5-main branch]
2023-06-14 17:01:59 -04:00