I just did an API draw calls test in 3DMark and noticed that single-threaded DX11 was just slightly faster than multi-threaded. What's up with this?
Is that result repeatable? Do you have MFAA set to on in the global NVIDIA because I noticed that it cause some weird results similar to yours on my system when it is, including DXDiag not detecting DX12 but DX11.3 and the DX12 3DMark API Overhead test not running. Turn MFAA off and the results are what you'd expect with a higher multi-threaded score and DX12 is detected and working.
It is repeatable and MFAA on or off makes no difference. Could this have something to do with having my CPU cores unparked?
Here are my results: 3DMark, DX11 only (MFAA on, detected as DX11.3): http://www.3dmark.com/aot/44056 3DMark, DX11/DX12 (MFAA off, detected as DX12): http://www.3dmark.com/aot/46084 As you can see in the first test the single-threaded result is higher than the multi-threaded one!!!
I'm not running Windows 10 so can't check DX12 performance. Wouldn't DX12 naturally be better in any case? What are your MFAA on and off results with just DX11? One thing, I did notice that with MFAA off when actually in the program I got a significantly higher draw calls per frame on multi-threaded despite the end result being the same. Also the MT thread test has 2 parts with MFAA off as opposed to 1 with MFAA on. Edit: disregard my first paragraph, I should have actually clicked your results.
Ah, OK, sorry I assumed you were using Windows 10 due it being primarily a test to show off DX12. However, it is interesting that MFAA on causes lower multi-threaded results in this test on both Windows 8.1 and Windows 10. That is something that NVIDIA need to address because MFAA is a setting intended to be left on globally by design and doing so clearly affects the results of that API test.
um isn MFAA a form of aa? why would that be ment to be on globally? or is MFAA more of addon option ment to be used when MSAA is used?
MFAA is automatically used in any game that uses MSAA so it is best enabled globally as far as I have been able to discern since it does not affect any game that does not use MSAA (which is the majority of games these days, sadly). Of course, you can disable MFAA on a per-game basis if you prefer not to have MFAA in that title but since it effectively doubles the amount of anti-aliasing for little or no cost, e.g. 2xMSAA + MFAA = 4xMSAA, then there is nothing to lose by leaving it set globally IMO. Except for skewered 3DMark and DXDiag results...
yah MSAA isnt exactly compatible with most engines thes days. guess it dont mater as MFAA dont work on kepler so it kind disabled on my end anyway, but if MFAA is messing with single thread performance vs off that would be bad bug imo
In any case that doesn't seem to be affecting me. The way it looks on my test results is that single thread is way higher than it should be and multi thread is right where it should be. Could this be due to unparking my CPU cores or some other weirdness?
unparked cores would be max performance for both test, parked cores would reduce performance on both test, cant see how that would be the issue though
Yes it was always like so, well at least in Win8.1 btw 350.xx to 353.06 had another jump too, each driver branch actually adds a few extra calls, 305.06 was the fastest so far. 350.05 http://www.3dmark.com/aot/23143 DX11 Multi-threaded draw calls per second 2 428 128 DX11 Single-threaded draw calls per second 2 324 301 352.86 http://www.3dmark.com/aot/26031 DX11 Multi-threaded draw calls per second 2 457 365 DX11 Single-threaded draw calls per second 2 510 688 353.06 http://www.3dmark.com/aot/29824 DX11 Multi-threaded draw calls per second 2 463 436 DX11 Single-threaded draw calls per second 2 557 310 353.38 http://www.3dmark.com/aot/38140 DX11 Multi-threaded draw calls per second 2 426 594 DX11 Single-threaded draw calls per second 2 499 234 353.49 , although now im using 4.6ghz & 2133 http://www.3dmark.com/3dm/7870893? DX11 Multi-threaded draw calls per second 2 346 244 DX11 Single-threaded draw calls per second 2 478 748 EDIT: Ok 4.7Ghz & 2400, made that difference 353.49 http://www.3dmark.com/3dm/7871215? DX11 Multi-threaded draw calls per second 2 431 530 DX11 Single-threaded draw calls per second 2 549 102 looks like they're the closest to 353.06 perf. at least single threaded part, which imo still matters the most. Its because of that main render thread limit by Dx9 - Dx11, AVP2010 is the best example with 1 thread 99% of the time @ 95-99%. check these slides here, dx11 pipleline vs dx12 pipeline. http://wccf tech.com/amd-directx-12-async-shaders-multithreaded-command-buffer-dx12/
windows 8.1 http://www.3dmark.com/aot/46242 DX11 Multi-threaded draw calls per second 2 035 629 DX11 Single-threaded draw calls per second 2 198 633 Score 17081 firestrike http://www.3dmark.com/fs/5288325 Graphics Score 21247
so can fxaa but that not ment too be enabled globably and general is bad idea to be too, just cause it can be enabled globally dont mean it should be, just means there is option to do so if one wants too.