We should centralize this pattern in a common system. If we do this, we have the advantage of making a composite of the time-slicing systems and give them some kind of priority. From this way, we can make the timeBudget really global, and not per system. This would ensure some kind of safety in which we can ensure we don't spend more than the time budget per frame for the systems involved.
We agreed on implementing this system if we need more time-slicing logic down the road, and gradually refactor the existing systems that use this kind of logic.
Right now, we have a bunch of systems that implement time-slicing. The pattern goes out like this:
We should centralize this pattern in a common system. If we do this, we have the advantage of making a composite of the time-slicing systems and give them some kind of priority. From this way, we can make the timeBudget really global, and not per system. This would ensure some kind of safety in which we can ensure we don't spend more than the time budget per frame for the systems involved.
We agreed on implementing this system if we need more time-slicing logic down the road, and gradually refactor the existing systems that use this kind of logic.