DX9 vs DX11 Performance - Warning!
This week we hit a performance issue so we started testing elements within game that could be creating the impact and lowering our FPS. Problem is what we have found does not bode well for our development, we have learned that DX11 running on UDK does not perform as well as DX9 - and it is easy to see that Epic would have no reason to fix this with UE4 in the pipeline. It is also a known issue in the Epic forums - we now know.
Had someone warned us NOT to develop in DX11 (a best practices sticky page would be a good idea), we would have built things in DX9. Except that in DX9 we don't have the same material functions, or at least that's what it looks like as the DX9 version kicks errors on the materials we've created while developing while in DX11 mode. So maybe we have to go back and redo materials, no big deal right? But what if we are developing for a moment two years out and want DX11 capability and want to maintain the hope we can migrate to UDK 4? Remember that UE4 does NOT support DX9, or so we've read.
Then there's the issue of FPS playback in different modes using the same scene, in the Editor window we see 117fps, in the Viewport at 1920x1200 it slows to 85fps, and finally in 32bit DX9 Game mode at 1280x800 it runs at 52fps. The lesson to be shared here is that when your game is running in stand alone mode (without UDK running in the background) you will get yet another FPS reading. Sorry but I've not run this exact test example, I'm basing this last statement on the fact that we change the display size of UDK and get one FPS reading, and then minimize it and get yet another reading.
I feel like we're amateurs stumbling about, but I guess that's about right.
Had someone warned us NOT to develop in DX11 (a best practices sticky page would be a good idea), we would have built things in DX9. Except that in DX9 we don't have the same material functions, or at least that's what it looks like as the DX9 version kicks errors on the materials we've created while developing while in DX11 mode. So maybe we have to go back and redo materials, no big deal right? But what if we are developing for a moment two years out and want DX11 capability and want to maintain the hope we can migrate to UDK 4? Remember that UE4 does NOT support DX9, or so we've read.
Then there's the issue of FPS playback in different modes using the same scene, in the Editor window we see 117fps, in the Viewport at 1920x1200 it slows to 85fps, and finally in 32bit DX9 Game mode at 1280x800 it runs at 52fps. The lesson to be shared here is that when your game is running in stand alone mode (without UDK running in the background) you will get yet another FPS reading. Sorry but I've not run this exact test example, I'm basing this last statement on the fact that we change the display size of UDK and get one FPS reading, and then minimize it and get yet another reading.
I feel like we're amateurs stumbling about, but I guess that's about right.
