If we can parallelize parts of the update loop, then we could vastly increase performance by doing most of the work in worker threads.
A simple example would be doing all AI updates in one thread, and simultaneously doing collision detection in another thread.
A very complex example would be doing 1/8 of the collision detection in each thread, with a total of 8 threads (optimal configuration for an 8-core machine). The biggest issue here is doing parallel collision detection/response in a deterministic manner.
If we can parallelize parts of the update loop, then we could vastly increase performance by doing most of the work in worker threads.
A simple example would be doing all AI updates in one thread, and simultaneously doing collision detection in another thread.
A very complex example would be doing 1/8 of the collision detection in each thread, with a total of 8 threads (optimal configuration for an 8-core machine). The biggest issue here is doing parallel collision detection/response in a deterministic manner.