* Switching the FRigVMTemplateArgumentType to be backed up by FName instead of FString for faster comparison
* Adding a "Types" storage under the RigVMRegistry of all of the known supported types
* Have the FRigVMTemplateArgument refer to type indices rather than full type structures
* Have the resolval comparison code rely on comparing type indices rather than type structures
* Store relationship between the bool and the TArray<bool> type as an array / element lookup within the registry - to avoid string operations when doing lookups from element to array to 2 dimensional array for a type.
* The preferred types list on the template node is now stored as pairs of argument name and type index <FName, int32> rather than FString.
* Also we no longer support all types for the untyped nodes (such as reroute, select, if etc) - but instead we support all user defined types (non-native structs and enums) as well as all types ever used as a template argument. The reasoning here is that supporting a type that's not used by any node is pointless. This reduced the type set from 9876 to 237.
#rb halfdan.ingvarsson
#jira na
#preflight https://horde.devtools.epicgames.com/job/62b9c666ba62f4498a345be2
[CL 20861728 by Helge Mathee in ue5-main branch]
- Overall Loading time went from 21.439 seconds to 7.521 seconds
- Improved Postload from 6.643 seconds to 0.915 seconds
- Improved InitControlRigEditor from 13.422 seconds to 4.842 seconds
#jira UE-155783
#rb benoit.gadreau
#preflight https://horde.devtools.epicgames.com/job/62b2fe202c753858830d4b11
[CL 20773015 by Helge Mathee in ue5-main branch]