rex_eventbalancer
Introduction
Divide heavy task into ticks.
A heavy task running in one tick might decrease the performance i.e. drop the fps down. One solution is to divide this heavy task into many ticks to keep the fps to 60.
Divide heavy task into ticks.
A heavy task running in one tick might decrease the performance i.e. drop the fps down. One solution is to divide this heavy task into many ticks to keep the fps to 60.
- Call "Action:Start" to start the procedure. It will trigger "Condition:On start" to do some initialize. ("Action:Start" -> "Condition:On start")
- Then "Condition:On processing" will be triggered many times in a tick. Do a slice of task under this condition. (Every tick -> "Condition:On processing" x N)
- When task done, call "Action:Stop" to stop the procedure. i.e. "Condition:On processing" will not be triggered again. And "Condition:On stop" will be triggered to do some finishing off. ("Action:Stop" -> "Condition:On stop")
Executing count in a tick
There are two modes to decide the executing count of "Condition:On processing" in a tick. i.e. how many times in a tick does "Condition:On processing" be triggered?
There are two modes to decide the executing count of "Condition:On processing" in a tick. i.e. how many times in a tick does "Condition:On processing" be triggered?
Dynamic
The executing count is dynamic. This plugin will accumulate the elapsed executing time each tick, once elapsed executing time is larger than
The executing count is dynamic. This plugin will accumulate the elapsed executing time each tick, once elapsed executing time is larger than
"Percentage"*1/60 second
, the executing of this tick will be stopped.
The "Percentage" could be set at properties table, or "Action:Set processing time". The fps will be dropped if the "Percentage" is equal or larger than 1.
The "Percentage" could be set at properties table, or "Action:Set processing time". The fps will be dropped if the "Percentage" is equal or larger than 1.
Static
The executing count is a constant which set by "Repeat count" in properties table, or "Action:Set repeat count".
The executing count is a constant which set by "Repeat count" in properties table, or "Action:Set repeat count".
Debugger
User could see the processing state (true is processing) and elapsed ticks in debugger.
User could see the processing state (true is processing) and elapsed ticks in debugger.
Dynamic loop
Sample capx
"Condition:Dynamic loop" is a for-loop based event which will be repeated until elapsed executing time is larger than "Percentage"*1/60 second i.e. dynamic mode shown at previous section. Or call "Action:Stop" in "Dynamic loop" category to stop this loop.
Note that this loop event only could support single level.
Sample capx
"Condition:Dynamic loop" is a for-loop based event which will be repeated until elapsed executing time is larger than "Percentage"*1/60 second i.e. dynamic mode shown at previous section. Or call "Action:Stop" in "Dynamic loop" category to stop this loop.
Note that this loop event only could support single level.