Plans for Multithreading/Multiprocessing (i.e. using ALL THE CORES)
#1,540 opened on Nov 23, 2023
Repository metrics
- Stars
- (3,524 stars)
- PR merge metrics
- (PR metrics pending)
Description
Is your feature request related to a problem? Please describe.
I have enjoyed the original trilogy, as well as Anomaly in vanilla and GAMMA flavours. openXRay 1.6 is the de-facto way to play the OG trilogy as well as the upstream for xray-monolith on which Anomaly is based, hence I'm asking about this here:
Are there any plans to implement multithreading/multiprocessing?
With the engine being pretty CPU-bound, it was already frustrating at 4 cores that the engine would only utilize 25% of the CPU, but now that after over a decade I finally upgraded to a 16-core CPU I get the engine to utilize a whopping… 6.25% of available CPU resources. And this will only get more ridiculous if things like RISCV enter the desktop market, i.e. machines where you can expect like 128 cores, but each with very low performance.
I fully expect to still play some variation of STALKER 15 years from now, so I don't really care about how long it would take and I don't care either if it won't receive any sort of priority for years to come, but I would like to see at least some acknowledgement, that this is on developers' minds.
Describe the solution you'd like
The engine being able to use all cores, i.e. have all CPU-bound subsystems like A-Life use either multithreading or multiprocessing to achieve maximum parallel resource usage.
Describe alternatives you've considered
The engine being able to use… more cores than now, with dedicated threads or processes for specific subsystems like A-Life, physics, etc. Not ideal, but sounds like it would be an easier approach to get a considerable boost of CPU-bound performance within an intermediate timeframe.
Additional context
Love the project either way. ❤️