canCache

We should not cache if the calculation is done off-tread because the cache gets cleared on tick, that means calculation which runs on a separate thread could run parallel to the clearing.

Additionally, the caching is not needed if the calculation is multithreaded and therefore already has no performance impact on the render thread.

Event triggers don't normally allow caching either because between clearing and the next execution could be almost a whole tick leading to wrong data when, for example, entities moved.