• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Civilization 6 benchmarks

This is the interesting part. I was under the impression that turn time calculations were 100% CPU, and DX12 reduces the GPU rendering load on the CPU, so it should be the opposite.

I'd be very curious to figure out why this is the case.

I mentioned this before in a BF1 thread. DX12 messes up the CPU scheduling as compared to DX11. DX11 is highly predictable, 1 thread for the graphics. DX12, DX12 creates multiple threads and Windows schedules those threads. Your remaining CPU threads now face more competition when running.

PS4/XBone, it is very clear what is running in the other cores, you know what CPU time is available to you. Windows, 2/4/6/8 cores are available, depending on how many cores your CPU has. Then what services and background processes are you running? One of the most interesting problems that my studio's Devs are trying to solve for dx11/DX12 is that the game becomes easier in DX12 due to the AI thread getting less processing time.

I hope people will now please open your eyes and realize that when I said DX12 is not going to save a particular IHV's bacon, I was doing it so we don't let that IHV get complacent and lose their lead in DX12.
 
https://forums.civfanatics.com/threads/dx12-comparison.605457/

By a short glimpse it seems that in graphics Maxwell, Pascal, GCN 1.0 and 1.2 is slower in DX12.

For everyone AI turn speed is slower in DX12.
Blame him.



I'm not sure what you are pointing out here, but I kind of like the fact that they give us the 99th percentile performance in the benchmark.

I would have preferred FPS instead of frametime, but on single GPU systems this is easy to convert.

1000 / (frametime in ms) = framerate in FPS.
 
I'm not sure what you are pointing out here, but I kind of like the fact that they give us the 99th percentile performance in the benchmark.

I would have preferred FPS instead of frametime, but on single GPU systems this is easy to convert.

1000 / (frametime in ms) = framerate in FPS.

Oh don't mind me. I was just being cynical.
 
Well, if anyone is curious here are mine:

- Sandy-E i7-3930k@4.8Ghz, hexacore with HT enabled for 12 logical cores.
- 64GB DDR3-1866
- Titan X (Pascal) at 2063Mhz core and 5508Mhz VRAM
- 64bit Windows 10 Pro build 1607
- Latest 375.95 Nvidia drivers

Settings:
Resolution: 4k (3840x2160)
Antialias: 8x MSAA
Quality: Everything set to highest allowable setting in advanced tab.



Click for full screen shot.

DX11 Graphics:

DX11 Graphics Benchmark-crop.jpg
Converted to FPS:
Avg: 88.01 FPS
99th: 68.55 FPS


DX12 Graphics:

DX12 Graphics Benchmark-crop.jpg
Converted to FPS:
Avg: 80.70 FPS
99th: 62.97 FPS

So, since I normally play this game with vsync on and set to 60hz, either of these will likely result in the same performance. Raw output - however - appears to drop about 10% with DX12.


DX11 AI:
DX11 AI Benchmark-crop.jpg



DX12 AI:
DX12 AI Benchmark-crop.jpg


Looks like turn time went up by ~3.5% going from DX11 to DX12.


So, yeah, on my rig I'm getting expected results with DX12 as posted by others.

Framerate is ~10% lower and turn times are ~3.5% higher.


These are probably not even noticible in game unless measuring, but I see no reason to choose the DX12 option.
 
They need to do large planet end of marathon game benchmarks. Once it starts to take like a 30 seconds to cycle all the CPU turns.
 
i can't alt+tab out of the game and the steam overlay doesn;'t work when running in DX12 mode on a RX480 latest amd drivers installed.
 
Figured since I upgraded to a Threadripper, and there is a new more intense GS benchmark now, I'd update my numbers:

Hardware Specs:
CPU:
AMD Threadripper 3960x (24c/48T, based 3.8Ghz, Boost 4.5 Ghz)
GPU: Nvidia Titan X (Pascal)
RAM: 64GB (4x16GB) DDR4-3600 CL16
Screen/Resolution: 4k (3840x2160)@120hz (G-Sync on, V-Sync disabled)

OS: Windows 10 Professional 1909

Settings:
- Full screen mode
- 3840x2160@119hz
- All quality settings (inclusion AA) at max
- Vsync off
- UI Scaling at 100%

Overclocking:
CPU:
Stock Settings
GPU: Power Limit: 120, Core Clock +165, Memory Clock +500. Results in in-game clock of 2063Mhz

Cooling:
System is cooled with a custom water loop, with fan control set to keep coolant at 33C, which results in a GPU load temp when overclocked at full load of <40C

Results:
Code:
                    DX11            DX12
Old Graphics Avg    10.967 ms       14.118 ms    
Old Graphics 99th   14.048 ms       17.920 ms
Old AI Avg Turn      6.72 s          6.75 s
GS Graphics Avg     14.567 ms       18.932 ms
GS Graphics 99th    17.711 ms       22.949 ms
GS AI Avg Turn      31.61 s          31.65 s

Considering how the last two Civ releases have been renowned for their multi-threading, I was hoping this Threadripper beast would really crush it. Seems like the engine limits itself to "only" utilizing ~16 threads heavily, one or two threads more lightly, with the rest just showing some noise level load (probably just DX12 calls) which is probably what's holding it back. Still, can't complain.

Here is a screenshot of the core load during the GS AI benchmark in DX12 if anyone is interested:

Civ6_GS_AI_Bench_DX12.png


Another interesting note is that DX12 performs worse across the board. Not sure how much of it is due to cache thrashing from the DX12 calls spreading out over all the threads, and how much of it is just due to Nvidia's Pascal implementation for DX12 maybe being subpar, but it is what it is.

The difference is small, but since there is no visual distinction between the two to my eye, I'll be sticking with DX11 for now.

I've often theorized that DX12 primarily benefits slower CPU's, and particularly slower, highly threaded CPU's. If you have a CPU that can handle the load without hitting 100% on any core in DX11, it would likely be faster in DX11, as moving to DX12 would offer little benefit, and just add cache thrashing.

Would be curious what everyone else thinks.
 
Another interesting note is that DX12 performs worse across the board. Not sure how much of it is due to cache thrashing from the DX12 calls spreading out over all the threads, and how much of it is just due to Nvidia's Pascal implementation for DX12 maybe being subpar, but it is what it is.

I think it's mostly from DX12 being shoehorned into existing codebases. Those releases that skip DX11 altogether (like Gears 4 and 5), or those that use Vulcan like Doom 2016, which is very similar to DX12 in implementation, just plain fly.

Until games start using engine codebases that have been built for the new consoles en masse, I largely consider DX12 to be 'experimental' until proven to be well implemented.
 
Back
Top