I think the performance consideration is secondary. The first consideration is, which approach will make the most sense to you and be easiest to maintain?
I’ve got a single task that takes care of the Movement based on Velocity and rotation values. On a key press these values are changed and it seems to be working rather well.
For me the two are similar, that’s why i’m wondering about that…
Perfomances is really important for my game, because there are a lot of thing to display, to calcul and if i can gain some FPS by one of these methods, it’s really good for me.
However this is most probably more of a python problem.
I recommend you using the profiler to find out what is using a lot of time. I had some success using this approach: vrplumber.com/programming/runsnakerun/
You can also check for bottlenecks using the internal panda3d profiler (pstats).
I’d support the approach, easier to read, makes finding bottlenecks easier and use the way you like more. Generally i’d say using 1 task is faster… (less lookups, and jumps) but that change will be so minimal that adding (1+1) would compensate it.
If time is critical and you are short on it, consider rewriting the most time using code objects in C.