Quick answer: Godot 4 Tween.tween_method with a typed Callable showing per-call overhead? Marshaling for typed callables; use untyped for hot paths.

100 simultaneous tweens; profile shows tween_method marshalling at 8% CPU.

Use untyped Callable

Cast to generic Callable; less marshalling.

Or batch updates

One tween updates a shared state; objects read from state. Single marshalling.

Pre-bind args

Bind known args; reduces per-call overhead.

“Typed callables have marshalling cost. Untyped is cheaper.”

For hot-path tweens, the untyped callable is the optimization. Document.

Related reading