It's best to use VCE-stateFunction and VCE-callFunction instead of relays. You can also use callFunction to call a relay on each client, instead of per brick. (useful for spells, effects, etc)
Here is an example:

Every 1 second, 100 HEAT and POWER are added to the CORE brick. No lag spikes :)
The best part about VCE functions is that you can call them from a named brick, which means
you can basically do VCE_ifVariable on a named brick by calling it's stated function