PipeRift / ActionsExtension

Actions Extension is a lightweight plugin that adds asynchronous actions to UE4
http://piperift.com/ActionsExtension/
Apache License 2.0
57 stars 17 forks source link

Control over TickRate #7

Closed dunenkoff closed 4 years ago

dunenkoff commented 4 years ago

Describe the feature requested Any method of setting TickRate at runtime

How does it help the user (you)? I got several hundreds to several thousands actors running the same action, and when they simultaneously tick, it creates stutter (looks like a saw on UnitGraph). It would be nice to have control over TickRate to spread their ticks a bit to smooth out this type of situation.

[Optional] Propose an approach to the feature (the less we think the better!) Expose the variable when starting action, or a function to change it while its running like Actors do.

muit commented 4 years ago

That´s interesting. Tick in actions should be optimized so that they do tick more efficiently. Could I get some profiler data to know a little more about the issue?

muit commented 4 years ago

In the future we will probably have class specific tick functions.

muit commented 4 years ago

Looking over this issue. I am sure you know, but I would suggest you disable ticking on all actions that don't need it. Action ticking is less expensive than actor ticking, but its still ticking. Its not super quick when done a lot.

I will still see if we can implement tick spreading.

dunenkoff commented 4 years ago

I'm in a situation where 2500 actors have the same action, each running iterations on 100 uobjects over the course of 5 seconds (yeah, large scale simulation in UE4). I found out I can solve this by using timers with start delay variation instead of actions, and even though they're on the same thread it doesn't produce spikes, so I'm closing this request. Sorry I took your time!