Animator modules can decide to calculate this in parallel. If direct is true the application is always done synchronously and is done after the call returns. If direct is false the calculation can be parallel. The affected resources take care of waiting for the result to become ready if required.