Hello DOTS wizards, I some performance questions regarding events.
1.
Is it better to write one large System for handling multiple similar data, or multiple smaller systems for each of these cases separately?
Namely, I want to implement an Event system, so I wonder if it's better to group it all events together into one system, or have a more modular solution, where I add new events independent of each other.
The system basically just works by enabling a component when it should be fired, and then disabling the component on the end of the frame after all other systems - so if there was perhaps even better solution for DOTS events, let me know please.
2.
When two separate systems perform an identical Query, is it evaluated for each of these systems separately, effectively doubling the time necessary to process it, or is there only one evaluation for all systems? I'm asking, before I start to split up code into smaller chunks, in case it leads to worse performance.
3.
What is the go-to efficient way of handling user Inputs?
I've seen people use SystemBase to either continuously check for input each frame (which doesn't seem to be that optimal), or alternatively use an even system similar described in the first question.
Can ISystem be used instead? What's the most performant way to get the input?
Thank you for your suggestions!