Hey, I’m a newbie Unity developer. While I was tinkering with the Project Settings on a tutorial project I’ve been working on after I got a message prompt about auto graphics API being disabled while updating the project files to the new Unity version, 6.1, I wanted to try different graphics API and see how they perform on my machine. The difference in performance is extreme: while DX11 offers a steady FPS and a smooth experience, DX12 and Vulkan offers a laggy experience, DX12 being objectively worse (I’m on the editor, haven’t tried building yet). Even though Vulkan and DX12 APIs offer a higher max FPS, frame drops happen quite often. Is this a problem on my end, or does it have something to do with the engine? Can I achieve a steady FPS using those API?
Here are the URP renderer settings I’ve been using:
Edit: min FPS while Vsync is on is lower compared to when it’s off, and overall experience is worse. Also I’ve tried on Unity 6.0 as well using the local backup of the project prior to upgrading, the result is the same.
Definitely run a build. Editor is not representative of actual build behaviour.
Add Graphy to your scene to see a reliable framerate graph so you don’t necessarily have to connect the profiler.
Use of DX12 with URP is questionable however. I doubt it brings any benefits, URP is a fixed function pipeline and works just fine with DX11 or Vulkan. Also DX11 is far more exercised by Unity users which means that URP+DX11 is going to be more stable (battle tested) overall.
DX12 is really mainly for HDRP users (raytracing etc). Enabling it in URP projects, unless it provides an absolutely necessary and notable speed bump (both ‘necessary’ and ‘notable’ being unlikely) it’s really not worth enabling in a URP project.
Hey, thank you for the answer. The Graphy tool is really useful, I love it. I’ve added it to my scene and built the project with Vsync on. I’ve observed the values and both D3D11 and Vulkan offers a reasonable experience. However, Vulkan is a little bit behind, FPS tend to spike occasionally, and the graph is less stable than what D3D11 offers. I’m a bit disappointed on Vulkan performance honestly, since I was expecting a smoother gameplay and a higher average FPS. I guess I’ll stick to D3D11 on Windows.
In this talk starting at minute 3:16 we also show some advanced techniques that can be used in these modern graphics APIs. The stuttering might come from runtime shader compilation that is also discussed there, which can be avoided with PSO caching. But as a beginner, you might just switch to DX11 if that gives you a better experience.
Looking forward to see what you build with Unity 
In my release build tests in Unity 6.1 (HDRP), DX12 is still significantly slower than DX11 and also uses more VRAM.
Also, there is this long and detailed thread:
Why is DX12 so much slower than DX11? - Unity Engine - Unity Discussions
I just updated my HDRP project to Unity 6.1 to give DX 12 and split jobs another try. It’s still slower than DX 11. Not terribly slower like before, but dropping from 80 fps to 75. In release build. Not because of shader compilation lag spikes, but in a plain static shot.
So after all those years it remains a useless feature.