Hi,
First of all let me thank you for this amazing library, which is currently powering my own project https://github.com/julianxhokaxhiu/FFNx - This is a 32-bit modding platform loaded as DLL ( w/process injection ).
Through your library we were able to implement animated textures in a game which was never supposed to have them upscaled in the first place. Although as the game itself is developed around "old game logics" ( single core / single thread ), the issue we're currently facing is that when we use this library to hash some data, it can't really scale, and because of this we start to lose FPS.
But in the team, we were having some new ideas which might benefit your code as well, not only our case: Multi-core hashing.
How would this be implemented in practical ways?
- Spawn a new thread that will be ready to listen for new hashes to calculate
- On a new hash request the library will check which available cores we have, and pick one that is currently free
- Throw the hash to that core and return back the result in sync
I know this is not really "async" per-se, but it would help in making those calculations faster as we can throw them to another core which the CPU might squeeze better, instead of parking the current core data to make room for the new calculations it has to do.
What do you think about this implementation? Does it make sense? How complex would it be to have it implemented on the core library code?
Thank you in advance,
Julian