I had an idea not long ago, whilst watching a lowely tv show. I sat at my desk and pondered a thought , a solution to a problem I sought. ok poems over.
I sat down and was thinking of methods of optimising code on modern multicore computers specifically for rendering large amounts of objects such as that in an enaconadodecahedron . The idea I came up with was to create two threads , the first being the main game thread and the second being a “Handler” thread.
What would happen is the prepper thread would run through all render tasks that had to be performed and write them to an array that the Handler thread read. When the prepper had started it would tell the Handler to begin reading the array. When the prepper thread had finished it would wait for the Handler to complete its task or for further optimisation check how far the handler is and designate some tasks to the prepper thread. Of course this would require lots of careful coding to make sure both threads were in sync at the end and that the handler did skip infront of the prepper and not render stuff.