• Guest, The rules for the P & N subforum have been updated to prohibit "ad hominem" or personal attacks against other posters. See the full details in the post "Politics and News Rules & Guidelines."
  • Community Question: What makes a good motherboard?

Draw Call Performance In Fallout 4

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
Riding on the back of my previous thread, where users ran an old instancing demo to investigate AMD's draw call performance, I'm extremely curious as to where Ryzen falls in a "modern" game; lots of draw calls, lots of background processing, and huge draw distances.

The reason why, is that all the current benchmarks are bad. Either they only show how average framerates which are useless without minimums, or they show systems getting numbers that they shouldn't be pulling in the first place. The latter is almost certainly due to the testers using an un-intensive part of the game for their systems.

And there's also the fact that all the benchmarks kicking around that measure CPU performance, for Fallout 4 at least, use NVidia GPUs. This is bad, as NVidia's driver supports DCLs, a very crude form of threaded draw calls. This muddies the waters greatly as we're testing worst-case scenario here, so only systems with an AMD GPU need apply. Sorry Green Team.


There's a couple things you'll need to do, before you can jump in:

1. Download these two save files, and place them in your "My Games\Fallout4\Saves" folder: https://mega.nz/#!bxljwZiQ!foEekBl-RWzM8XY5HZYztBOQrBeEpbloSsgZNVH8yLw

2. Backup & replace your .ini files in "My Games\Fallout4" with these: https://mega.nz/#!X88FDB6I!x9FCxGAB79AsFLXN16xyiI4mRjs_CQ_FPOBZ-zYIsJs

3. In FalloutPrefs.ini, replace: sD3DDevice="AMD Radeon HD 7800 Series" with the value from your original FalloutPrefs file.

4. Download and install the latest ENB mod, by placing the files inside the "WrapperVersion" folder, into the same folder as your Fallout4.exe file: http://enbdev.com/mod_fallout4_v0311.htm

5. Replace the ENB .ini files with these: https://mega.nz/#!3kUHTY7K!GnxkhGoqX1WjnqxUsVHMbPhfmO5zFmB5Ys8dcMva048

6. Disable VSync in your GPU driver settings program


And once you're in the game:

1. Load the save(s)

2. Press Shift+Enter to bring up the ENB overlay

3. Click on the "Profiler" category. Pan the camera around until you get the same number of draw calls, as the number in the save. So for "Corvega11700draws21fps", try and get as close to 11700 draw calls as possible. Same gig for the DiamondCity save.

4. Note down your framerate, and number of draw calls.


Finally, when submitting your results, use the following format:

OS:
CPU:
RAM:
GPU:
GPU Driver:

First Save (Corvega)
Draw Calls:
FPS:

Second Save (Diamond City)
Draw Calls:
FPS:


The next post will be used to collect the results.
 
Last edited:
  • Like
Reactions: Khanan and ZGR

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
MajinCry
OS: Windows 7 x64
CPU: AMD Phenom II x4 965 BE @ 3.4Ghz
RAM: 4x4GB DDR3 @ 1333MHz 6-7-6-19
GPU: AMD Radeon HD 7850 2GB
GPU Driver: 17.2.1

First Save (Corvega)
Draw Calls: 11800
FPS: 22

Second Save (Diamond City)
Draw Calls: 8000
FPS: 25


Crono
OS: Windows 10 Professional 64 Bit
CPU: Ryzen 7 1700X @ ~3.5GHz (3492.92 MHz)
RAM: 16GB (2 x 8GB) Team Group T-Force, DDR4-2667, 16-18-18-38
GPU: XFX R9 390 8GB (1015MHz core, 1500MHz memory)
GPU Driver: Radeon 17.2.1

First Save (Corvega)
Draw Calls: 11232
FPS: 37.3

Second Save (Diamond City)
Draw Calls: 7979
FPS: 45.6


behrouz
OS: Windows 10 x64
CPU: AMD Phenom II x4 925 @ 2.8Ghz
RAM: 9GB DDR2 @ 533MHz 5-4-4-12
GPU: XFX 290 Double Dissipation
GPU Driver: 17.2.1

First Save (Corvega)
Draw Calls: 11714
FPS: 15.5fps

Second Save (Diamond City)
Draw Calls: 8046
FPS: 17.4fps


fr0mb3hind
OS: Windows 7 x64
CPU: Intel core i7 870 @3.88ghz
RAM: 16GB DDR3 1600mhz 9-9-9-27
GPU: MSI Gaming X 1070
GPU Driver: 378.78

First Save (Corvega)
Draw Calls: 11000
FPS: 41fps

Second Save (Diamond City)
Draw Calls: 7950
FPS: 50fps


Head1985
OS: Windows 10 x64
CPU: 6700k 4.5Ghz
RAM: 16GB DDR4 3000mhz cl 14-15-15-35 1T
GPU: GTX1070
GPU Driver: 378.78

First Save (Corvega)
Draw Calls: 11703
FPS: 71.8fps

Second Save (Diamond City)
Draw Calls: 8004
FPS: 85.5fps


Reddit User
OS: Windows 10
CPU: Intel Core i7 7700K @ 4.8 GHz
RAM: 2x8GB DDR4 @ 2666Mhz 16-17-17-36
GPU: ASUS R9 NANO (Stock)
GPU Driver: 17.3.2

First Save (Corvega)
Draw Calls: 11006
FPS: 61

Second Save (Diamond City)
Draw Calls: 8001
FPS: 67


Catmerc #1
OS: Windows 10 64bit 14393.953
CPU: Core i5 6600K @ 4.2GHz
RAM: 16GB (2x8) DDR4 3000 15-17-17-35 2T
GPU: R9 390 G1 Gaming (1056 core, 1510 mem)
GPU Driver: 17.3.3

First Save (Corvega)
Draw Calls: 11,734
FPS: 47

Second Save (Diamond City)
Draw Calls: 8,012
FPS: 57


Catmerc #2
OS: Windows 10 64bit 14393.953
CPU: Core i5 6600K @ 3.5 GHz
RAM: 16GB (2x8) DDR4 2400 15-17-17-42 2T
GPU: R9 390 G1 Gaming (1056 core, 1510 mem)
GPU Driver: 17.3.3

First Save (Corvega)
Draw Calls: 11,702
FPS: 43

Second Save (Diamond City)
Draw Calls: 8,012
FPS: 49


Valantar
OS: Windows 10
CPU: Core2Quad Q9450 (2.66GHz) @3.52GHz
RAM: 6GB DDR2-880
GPU: AMD Radeon Fury X
GPU Driver: 17.1.1

First Save (Corvega)
Draw Calls: 11694
FPS: 18.3

Second Save (Diamond City)
Draw Calls: 8025
FPS: 21.4


MylegsareOK
OS: Windows 10 Pro 64bit
CPU: Core i3 7350K @4.2GHz
RAM: 16GB (2x8) DDR4 3200 16-18-18-38
GPU: EVGA 1070 FTW @ 2GHz core, +200 Mem
GPU Driver: 384.76

First Save (Corvega)
Draw Calls: 11,714
FPS: 55

Second Save (Diamond City)
Draw Calls: 8,007
FPS: 62


Kacmem
OS: Windows 10 Home 64bit
CPU: AMD Ryzen 5 1600 (stock 3400Mhz)
RAM: 16GB (2x8) DDR4 2800Mhz 16-17-17-35
GPU: MSI gtx 1080 Gaming X (stock)
GPU Driver: 388.59
SMT on/off = no changes

First Save (Corvega)
Draw Calls: 11,311
FPS: 47

Second Save (Diamond City)
Draw Calls: 8,164
FPS: 52


CombatLemon
OS: Win7 x64
CPU: i7-3930K @ 4.5 GHz (HT off)
RAM: 4x4 GB DDR3 @ 2400 MHz (9-11-11-31-1T)
GPU: GTX 980 Ti @ 1455/7900 MHz
GPU Driver: 385.41

First Save (Corvega) FPS: 60.9

Second Save (Diamond City) FPS: 72.3

gamervivek #1
OS: Win10 Home
CPU: Ryzen 1600 @ 3.5Ghz
RAM: 4x16GB DDR4 2666MHz 14-14-14-35
GPU: Gtx 1080Ti aorus waterforce
GPU Driver:391.35

First Save (Corvega)
Draw Calls:11700
FPS:47

Second Save (Diamond City)
Draw Calls: 8100
FPS: 55



gamervivek #2
OS: Win10 Home
CPU: Ryzen 1600 @ 3.5Ghz
RAM: 4x16GB DDR4 2666MHz 14-14-14-35
GPU: Vega 56
GPU Driver: Unknown

First Save (Corvega)
Draw Calls:11700
FPS:39

Second Save (Diamond City)
Draw Calls: 8100
FPS: 40


CombatLemon #2
OS: Win7 x64
CPU: 8700K @ 3.5 Ghz (cache 3.5 GHz)
RAM: 2x8GB DDR4 2666MHz 14-14-14-35
GPU: GTX 980 Ti
GPU Driver: 390.65

First Save (Corvega)
Draw Calls: 11717
FPS: 62.5

Second Save (Diamond City)
Draw Calls: 8012
FPS: 73.4


.vodka #1
OS: Windows 10 Pro 1803 (17134.1) x64
CPU: Ryzen 7 1700
RAM: 2x8GB DDR4-3466 + Stilt's 15-15-15-35 1T profile with proper subtimings
GPU: R9 290
GPU Driver: 18.3.4

First Save (Corvega)
Draw Calls: ~11693
FPS: ~44.6

Second Save (Diamond City)
Draw Calls: ~7995
FPS: ~57.5


.vodka #2
OS: Windows 10 Pro 1803 (17134.1) x64
CPU: Ryzen 7 1700 @ 3.95Ghz, 1x CCX
RAM: 2x8GB DDR4-3466 + Stilt's 15-15-15-35 1T profile with proper subtimings
GPU: R9 290
GPU Driver: 18.3.4

First Save (Corvega)
Draw Calls: ~11688
FPS: ~48.4

Second Save (Diamond City)
Draw Calls: ~8005
FPS: ~59.7


Tbku
OS: Windows 10 Professional 64 Bit ver.1803(17134.112)
CPU: Ryzen 7 2700X@stock clock(with 0.1v undervolting and Customized Power Plan)
RAM: 16GB (2 x 8GB) Gskill Flare-X, DDR4-3200, 14-14-14-28
GPU: GeForce GTX1080FE(Stock core clock, MemClock +200MHz)
GPU Driver: 398.11

First Save (Corvega)
Draw Calls: 11045
FPS: 66.1

Second Save (Diamond City)
Draw Calls: 7858
FPS: 78.7
 
Last edited:

PhonakV30

Senior member
Oct 26, 2009
977
347
136
when I press "shift+enter" , I see nothing also
Inside L:\Program Files\Fallout 4 , WrapperVersion Folder should be like this ?

_CommonRedist
Data
Mods
WrapperVersion
Fallout4.exe
Fallout4Launcher.exe
unins000.exe
....
...
..
 

Crono

Lifer
Aug 8, 2001
23,727
1,495
136
I don't know if it matters, but I'm missing some of the DLC add-ons/expansions specified by the save files, and I had to uncheck the EnableFPSLimit in ENB.

OS: Windows 10 Professional 64 Bit
CPU: Ryzen 7 1700X @ ~3.5GHz (3492.92 MHz)
RAM: 16GB (2 x 8GB) Team Group T-Force, DDR4-2667, 16-18-18-38
GPU: XFX R9 390 8GB (1015MHz core, 1500MHz memory)
GPU Driver: Radeon 17.2.1

First Save (Corvega)
Draw Calls: 11232
FPS: 37.3

Second Save (Diamond City)
Draw Calls: 7979
FPS: 45.6
 
Last edited:
  • Like
Reactions: MajinCry

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
when I press "shift+enter" , I see nothing also
Inside L:\Program Files\Fallout 4 , WrapperVersion Folder should be like this ?

_CommonRedist
Data
Mods
WrapperVersion
Fallout4.exe
Fallout4Launcher.exe
unins000.exe
....
...
..

No. The files inside the WrapperVersion folder should be placed in the same folder as Fallout4.exe. ENB hooks the application, so you'd install it like ReShade, or DSFix for Dark Souls.


I don't know if it matters, but I'm missing some of the DLC add-ons/expansions specified by the save files, and I had to uncheck the EnableFPSLimit in ENB.

OS: Windows 10 Professional 64 Bit
CPU: Ryzen 7 1700X @ ~3.5GHz (3492.92 MHz)
RAM: 16GB (2 x 8GB) Team Group T-Force, DDR4-2667, 16-18-18-38
GPU: XFX R9 390 8GB (1015MHz core, 1500MHz memory)
GPU Driver: Radeon 17.2.1

First Save (Corvega)
Draw Calls: 11232
FPS: 37.3

Second Save (Diamond City)
Draw Calls: 7979
FPS: 45.6
DLC doesn't matter, but I'll re-make the saves with just the base game. Good catch about the fps limit, I'll update the .ini files.

Could you try running only one CCX? I wonder if the ccx <-> ccx latency is hurting performance.
 

PhonakV30

Senior member
Oct 26, 2009
977
347
136
OS: Windows 10 x64
CPU: AMD Phenom II x4 925 @ 2.8Ghz
RAM: 9GB DDR2 @ 533MHz 5-4-4-12
GPU: XFX 290 Double Dissipation
GPU Driver: 17.2.1

First Save (Corvega)
Draw Calls: 11714
FPS: 15.5fps

Second Save (Diamond City)
Draw Calls: 8046
FPS: 17.4fps
 
  • Like
Reactions: MajinCry

Glo.

Diamond Member
Apr 25, 2015
4,589
3,190
136
Draw Call performance is... more than interesting. At least by looking at your results.
 
  • Like
Reactions: Drazick

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
Draw Call performance is... more than interesting. At least by looking at your results.
We also need results from users with Intel CPUs, to get a clear picture of where it stands. According to that draw call benchmark thread, Ryzen is better than Core 2 Duo, but worse than Sandybridge at draw calls. Intel's later architectures only get better with them, too.
 

Glo.

Diamond Member
Apr 25, 2015
4,589
3,190
136
We also need results from users with Intel CPUs, to get a clear picture of where it stands. According to that draw call benchmark thread, Ryzen is better than Core 2 Duo, but worse than Sandybridge at draw calls. Intel's later architectures only get better with them, too.
This is most interesting part. Nothing in the design of the CPU would bottleneck this front. At least on paper specs.
 
  • Like
Reactions: Drazick

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
This is most interesting part. Nothing in the design of the CPU would bottleneck this front. At least on paper specs.
Yeah, it's unknown what it is that makes draw calls faster. We might have a clear idea if tech sites bothered to contact renderer programmers (I.E, the programmer of ENB due to his no-holds-barred approach), with subsequent pestering of Intel & AMD to shed light on the performance discrepancy.

Want to know what's really weird? With the draw call benchmark, having the program thread on one core cluster, and the driver thread on another, brought the draw call performance way down on Ryzen.
 

Glo.

Diamond Member
Apr 25, 2015
4,589
3,190
136
Yeah, it's unknown what it is that makes draw calls faster. We might have a clear idea if tech sites bothered to contact renderer programmers (I.E, the programmer of ENB due to his no-holds-barred approach), with subsequent pestering of Intel & AMD to shed light on the performance discrepancy.

Want to know what's really weird? With the draw call benchmark, having the program thread on one core cluster, and the driver thread on another, brought the draw call performance way down on Ryzen.
It will always be this way. There are two clusters, and only one Driver thread. It would mean that in every scenario, only one CCX is "really" loaded with job.

I have to say. One of the most spooky things I have ever seen...
 
  • Like
Reactions: Drazick

dogen1

Senior member
Oct 14, 2014
739
40
91
Want to know what's really weird? With the draw call benchmark, having the program thread on one core cluster, and the driver thread on another, brought the draw call performance way down on Ryzen.
Isn't that what you would expect?
 

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
Isn't that what you would expect?
Still weird tho'. Probably due to the driver thread having to communicate with the program thread, but you'd think AMD would have noticed this huge performance drain.
 

fr0mb3hind

Junior Member
Mar 19, 2017
2
1
51
What do you think about Lynnfield? :)
OS: Windows 7 x64
CPU: Intel core i7 870 @3.88ghz
RAM: 16GB DDR3 1600mhz 9-9-9-27
GPU: MSI Gaming X 1070
GPU Driver: 378.78

First Save (Corvega)
Draw Calls: 11000
FPS: 41fps

Second Save (Diamond City)
Draw Calls: 7950
FPS: 50fps
 
  • Like
Reactions: MajinCry

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
What do you think about Lynnfield? :)
OS: Windows 7 x64
CPU: Intel core i7 870 @3.88ghz
RAM: 16GB DDR3 1600mhz 9-9-9-27
GPU: MSI Gaming X 1070
GPU Driver: 378.78

First Save (Corvega)
Draw Calls: 11000
FPS: 41fps

Second Save (Diamond City)
Draw Calls: 7950
FPS: 50fps
Having an NVidia GPU certainly helps, due to the driver supporting DCLs. Do you have an AMD GPU you can pop in? Really curious to see how that would fare, as Nehalem is really good at processing draw calls. It's better than Haswell at them, clock for clock.
 

fr0mb3hind

Junior Member
Mar 19, 2017
2
1
51
Having an NVidia GPU certainly helps, due to the driver supporting DCLs. Do you have an AMD GPU you can pop in? Really curious to see how that would fare, as Nehalem is really good at processing draw calls. It's better than Haswell at them, clock for clock.
Unfortunately i have only Nvidia gpu =(
 

TheELF

Diamond Member
Dec 22, 2012
3,139
336
126
You can disable threaded optimization in the nvidia control panel,not that it does much in games but anyway,it's only doing something in games that where made to take advantage of multiple render threads that's mantle games mainly,I think people do remember nvidia boasting about matching mantle in the thieve game right?

Also this test is still pretty gpu heavy even at 640p so it would be nice of people to run gpuz in a corner and state their gpu utilization.

Best would be screenshots with process hacker in the background showing the threads so we could se if it's a main thread or the driver thread that's holding back performance.
 

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
You can disable threaded optimization in the nvidia control panel,not that it does much in games but anyway,it's only doing something in games that where made to take advantage of multiple render threads that's mantle games mainly,I think people do remember nvidia boasting about matching mantle in the thieve game right?
NVidia's lack of a hardware scheduler makes it easier for them to implement Driver Command Lists. Basically allows for inefficiently parallelized draw calls. I don't know if this is the feature referenced by the driver application. Only one way to find out.
 

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
Right, got a few screenshots. Nabs the ENB profiler data, AMD System Monitor's CPU and GPU usage, and Process Hacker's thread usage.







Important to note, that Fallout 4 has around 100k constant thread locks, so CPU usage is awful. Apparently having eight threads will help quite a bit with rendering, due to a not-insignificant amount of the locks being for the renderer itself.

http://www.enbseries.enbdev.com/forum/viewtopic.php?p=66692#p66692
Haven't checked if "instancing" used anywhere, shadows cannot use instancing and they are the main problem. I don't know how to optimize them yet, if everything slows down when i touch the code, then computations for detecting objects and batching any changed could have the same performance as pure rendering. And when cpu is not fully utilized because of 100k+ multithreading locks per frame, optimization without sources is very hard task.
http://enbseries.enbdev.com/forum/viewtopic.php?f=17&t=5425#p75652
But AMD Ryzen looks good for multithreading applications and when programmers finally learn how to make effective multithreading in games, then Ryzen will be much better. And not all games suffer from draw calls issue, this depends much from game itself. Bethesda games have also issue with too much frequent calls of thread locking functions, maybe Ryzen will take lead in this, i don't know.
 

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
Giving this a bump, defo' need more reports on performance. Especially since a few users seem to have Ryzen working with 3200Mhz RAM.
 

Head1985

Golden Member
Jul 8, 2014
1,826
601
136
Giving this a bump. We need more results, especially with Skylake.
Here is 6700k but with Nv gpu
OS: Windows 10 x64
CPU: 6700k 4.5Ghz
RAM: 16GB DDR4 3000mhz cl 14-15-15-35 1T
GPU: GTX1070
GPU Driver: 378.78

First Save (Corvega)
Draw Calls: 11703
FPS: 71.8fps


Second Save (Diamond City)
Draw Calls: 8004
FPS: 85.5fps
 
  • Like
Reactions: MajinCry

MajinCry

Platinum Member
Jul 28, 2015
2,488
557
136
Here is 6700k but with Nv gpu
OS: Windows 10 x64
CPU: 6700k 4.5Ghz
RAM: 16GB DDR4 3000mhz cl 14-15-15-35 1T
GPU: GTX1070
GPU Driver: 378.78

First Save (Corvega)
Draw Calls: 11703
FPS: 71.8fps

Second Save (Diamond City)
Draw Calls: 8004
FPS: 85.5fps
Christ almighty. Skylake's really good at draw calls, and when it's coupled with DCL's + fast DDR4...Yowza. I'd really like to see how a similar system performs with an AMD GPU. See just how far NVidia's driver benefits the framerate.
 

Head1985

Golden Member
Jul 8, 2014
1,826
601
136
Christ almighty. Skylake's really good at draw calls, and when it's coupled with DCL's + fast DDR4...Yowza. I'd really like to see how a similar system performs with an AMD GPU. See just how far NVidia's driver benefits the framerate.
I will be upgrading to vega so maybe in few months we will see.
 
  • Like
Reactions: MajinCry

CatMerc

Golden Member
Jul 16, 2016
1,114
1,146
136
I'm currently downloading Fallout 4 for your test. Got a 390 and a 6600K, so my system is exactly what you're looking for.

Will take a while though, my internet lately isn't doing the usual 8MB/s on steam, but rather 4-5. And FO4 is 80gigs or so.
 
Last edited:

ASK THE COMMUNITY