Hello all, long time since I was last active here but now I want to do some engine programming again after a long absence.
My engine should be based on jobs which are executed by Intel's TBB. My design is similar to the one Intel uses in Smoke.
The job system itself is working but there are two things I want to do in 2 separate threads. The first one is creating textures etc. (With a shared OpenGL context) and the second one is rendering.
Now to my questions:
1. Are such job systems in general state of the art? I ask because I was out of engine programming for some time.
2. Is it a good idea to make the 2 extra threads? My thoughts behind this idea were that using dedicated threads for those two tasks reduces permant calls to MakeCurrent because in the "normal" job system I would not know in which thread the task is running the next time.
3. Is the performance of TBB's job scheduling affected by my custom threads? The number oft threads TBB creates is based on the number of CPU cores so my two tasks "steal" some processing power. But I think that the job stealing in TBB will handle this, am I right?