KilianDermoth wrote: »A realtime 3D game is never doing nothing!
A usual game is rendering endlessly new frames as quick and as many as possible, even if the content of the frame only slightly or doesnt change at all, because it is often impossible to find out if and what changes and it would be impossible to render just the changes or would even take more performance trying to do so. Finally you have to do so even if one single pixel changes at the end or atleast if there is a possibility that one single pixel would change.
Using multi threading rendering means that you split the part that feeds your graphics card with new data to be able to render new frames and the rest of the game. Maybe even split more things apart which can run independently. This way, the graphics card can render independently of the rest of the game (input, network, data manipulation, ...). This decreases the latency of any of them and increases overal performance, because there are no waiting times for each other anymore.
But this also means that the rest of the game can immediately start to continue its work and the work of a game is updateing the game state and checking for input / network and other stuff indefinetly, this leads to infinite work while the game is running. Also because the game is realtime you want to happen changes as fast as possible and to have changes happen as fast as possible you need to recalculate even the tiniest changes, which might even be not visible
And the better the engine can seperate workloads and make them independent the more they can utilize your cpu, leading to more performance and lower latencies but also to a much higher cpu usage.
If destiny 2 needs less CPU then this means, that they arent utilizing your hardware as much as possible, thus not using multi threading to its maximum in other words wasting potential. An fully optimized game which uses every bit of your computers performance would take always almost 100% cpu usage, no matter how detailed the graphics are or how complex the game logic is, it just doesnt matter.
In short: its technical and its ok, its even a sign for better usage of your hardware.
At least for me multi threading drastically increases the performance (about double FPS). Because the renderer doesnt have to wait for game logic, network, input, addons and several other stuff and can render frames as fast as the graphics card allows without waiting for the game to finish the other work. Also addons for example can now take their time without makeing everything else wait for them to finish thus haveing a small impact on performance.
But as said all of this comes at a cost: high CPU usage.