Hello Vault Hunters,
UPDATE main takeaways from comments:
- DirectX12 (DX12) seems to provide significant performance over DirectX11 (DX11) when the system has a 6+ core / 12+ thread CPU combined with 1920 x 1080 resolution (HD).
- Often many settings are set to medium, low, or off to maximize framerate (please see my recommended settings below – at least give them a try).
- The reason: The overall observation is that DX11 doesn’t fully utilize the 6+ core CPU on standard HD resolution due to a single thread CPU bottleneck (under utilizing GPU). Swapping to DX12 removes any single threaded CPU bottleneck and allows the GPU to be fully utilized (for more frames)
- DX12 has significantly longer load times when launching the game (3-10 mins of wait time) during which a claptrap will dance.
- 1440p or greater display setups do not seem to CPU bottleneck under DX11 as readily (likely since it’s so much more GPU demanding) and is not gaining the larger frame gains under DX12. People have seen marginal success with 1440p+ setups (even with the best video cards / 2080ti’s etc). Some have even seen a decrease in performance.
- In DX12 it’s easier to achieve higher frames by decreasing graphic settings due to the aforementioned reasons allowing higher core CPU’s to soar.
My takeaways from testing and actual gameplay:
~75% increase in low end FPS, ~28% increase in average FPS. Smoother, sharper, gameplay.
DirectX 12 (DX12) is a massive FPS gain for high end systems. This is simply broken down to the fact that DirectX 11 (DX11) severely bottlenecks the CPU.
Please note this guide is intended to help those with relatively new high-end systems, as it’s the only environment I’ve tested it on – so if you have less powerful hardware you may be better off sticking with DX11.
My Specs:
CPU: AMD 3900x (12-core, 24 thread – OC to 4.2ghz)
GPU: EVGA FTW3 1080ti @ whatever stock speed is
RAM: 16gb DDR4 @ 3200mhz
Disk: 1TB NVMe 970 EVO
Mobo: Asrock x570M Pro4
My in game graphic Settings:
Basic Tab:
- Display Mode: Full Screen
- Target Display: your monitor
- Aspect Ratio: 16:9
- Resolution: 1920x1080 (what I’m using, you may be different based on your display)
- Resolution Scale: 100%
- Vertical Sync: Off
- Frame Rate Limit: Unlimited
- Hud Scale: 1
Camera
- Field of View: 90
- Vehicle Field of View: 90
Advanced Tab:
- Graphics API: DirectX 12 (Beta)
- Performance Stats: FPS
- Overall Quality: Ultra (doesn’t really matter most have been manually changed)
- Anti Aliasing: FXAA
- FidelityFX Sharpening: On
- Object Motion Blur: Off
- Camera Motion Blur: Off
- Texture Streaming: Ultra
- Anisotropic Filtering: 16x
- Material Complexity: Medium
- Shadows: Medium
- Draw Distance: Medium
- Environment Detail: Low
- Terran Detail: Ultra
- Foliage: Ultra
- Character Detail: Ultra
- Ambient Occlusion: Off
- Volumetric Fog: Off
- Screen Space Reflections: Off
I tend to favor framerate over “quality”, so the settings above were set to reduce the settings that netted the highest FPS gains (when lowered), and keep the settings that didn’t really affect FPS as high as possible, please note your system may be different and require a different combination. I would recommend starting at the LOWEST possible settings and slowly bumping settings up from there.
Benchmark Gains after switching to DX12:
I noticed right away my frames were better, load distribution on my CPU was spanning over 8+ cores (16+ threads), and it didn’t look like one thread was bottlenecking my frames. This effectively eliminated my CPU bottleneck. It’s hard to tell what’s going on with the GPU, because Windows 10 doesn’t properly register GPU usage from DX12 applications in task manager, however I was getting realistic numbers from the EVGA GPU tool precision X1.
My frames in areas where I was getting 70-80 FPS (on DX11) jumped to as much as 135-155 FPS (on DX12), and my overall average FPS score in the benchmark tool, went up from 118 to 152.
Conclusions:
I was hesitant to try DX12 as many said it’s awful / broken / worse FPS / RIP. However, I found it to be quite the opposite.
This is evident as under DX11 you will see FPS drop to 70 or below, while your GPU sits comfortably at 50-60% usage (this is because of single thread DX11 CPU bottleneck). This was most obvious to me in the Jungle areas of Eden-6.
Enabling DX12 will cause your game load times to dramatically increase – this is where most people think it’s broken or the game has crashed. Here you just want to wait, and let it finish the DX12 stuff it’s doing in the background.
When loading into the game with DX12 enabled a claptrap will join a black screen and start (very poorly) dancing as your computer does some insanely computational operations in the background. I’m guessing has something to do with the Denuvo anti-piracy application (requiring a rebuilt executable around DX12?).
It took me ~3 mins to load the first time, and takes ~40 seconds to load in subsequent game launches. Your load times may vary (remember I have a 12 core CPU), people have mentioned 10-20 min wait times – However, it seems this is absolutely worth it.
I also noticed DX12 uses a boatload more RAM. DX11 BL3 was using around 2-3gb, while DX12 BL3 was using upwards of 7gb just for itself. I was hitting ~12-13gb of RAM used in DX12 systemwide.
DX12 is clearly better than DX11 for highly multi-threaded hardware; the DEVs probably did what they could to reduce the single thread CPU loads in DirectX 11, but I’m not really sure how much better the DX11 API can perform given the demands of Unreal Engine 4. Borderlands 3 probably still needs a bit of additional optimization with DirectX 12 (hence the beta tag), but DX12 appears to be a much better experience on multi-threaded CPU’s as long as your video card can keep up. Hopefully this helps some people get more value out of their expensive hardware.
Also, the graphic settings descriptions were lackluster at best. It would have been nice to have smarter suggestions, and better descriptions on how settings affect CPU and GPU load.
Notes to Gearbox / DEVS:
Thank you, for making BL3! Being huge BL1 & 2 fans, my brother and I have been counting down the days until this release. We watched all the events, watched and re-watched all the trailers, pre-built characters on the website, and followed prelaunch steamers for the latest updates, on release we played all weekend and had a blast. Overall, I felt the launch was super successful! But I do have one question for you – EXPLOSIONS?