This is a pure optimisation problem. It depends on many factors like:
- What you need to do with the tween
- How many different tweens you need to calculate
- How much signaling between systems you need
- Whether you need to use that data in your CPU bound process or not.
- How much time you have to write the code
- What your tool set supports easiest
- ...
See if you only need one value to interpolate then your CPU is more than likely faster (unless youryou're running some weird embedded system). Even if you move a bunch of points you can still calculate the tween of that one position and do the needed cluster transformation in the GPU, like bone animation.
The GPU only starts to win against your processor if you need to calculate many truly separate animation curves in parallel. Or youryou're in aan otherwise performance bound system like running javascriptJavaScript in a webglWebGL application. If you dousedo use the GPU then itsit's most likely best to tween all vertices, at least unless your object is somehow massive. Since initiating a new draw call is costly and maintaining many states is more complex. Its just that those vertices that dontdon't move would just move from starting point to starting point.