01-03-2016, 08:15 PM
There's two big benefits of DX12 over GL :
- It leaves resource management to the app. Previous API managed resources in order to present them "as if" they were produced and consumed immediatly while in reality there was a delay between the instant a gfx command is submitted and the instant it is executed by the GPU. Unfortunatly this is often costly and redundant since PS3 app already have to handle resource management. This frees a lot of cpu cycle that can be better spent on PPU or SPU emulation.
- It's much much more reliable than GL. GL drivers are known for being buggy, unconformant and often slow and while there is a lot of efforts to solve this in my experience they're far far away from dx12 counterpart (although dx12 beeing available for 6 month ago). Of course there are some difference sometimes between dx12 implementation but nothing as bad as GL.
Hopefully Vulkan will solve both points. It's pretty much a given for the first one ; for the later hopefully the usage of a common shader IR (à la dxgi) and with a reduced API reliability can be achieved.
- It leaves resource management to the app. Previous API managed resources in order to present them "as if" they were produced and consumed immediatly while in reality there was a delay between the instant a gfx command is submitted and the instant it is executed by the GPU. Unfortunatly this is often costly and redundant since PS3 app already have to handle resource management. This frees a lot of cpu cycle that can be better spent on PPU or SPU emulation.
- It's much much more reliable than GL. GL drivers are known for being buggy, unconformant and often slow and while there is a lot of efforts to solve this in my experience they're far far away from dx12 counterpart (although dx12 beeing available for 6 month ago). Of course there are some difference sometimes between dx12 implementation but nothing as bad as GL.
Hopefully Vulkan will solve both points. It's pretty much a given for the first one ; for the later hopefully the usage of a common shader IR (à la dxgi) and with a reduced API reliability can be achieved.