Battlefield 4 VRAM Wall Performance Drop?

srhnd

Honorable
Sep 16, 2013
87
0
10,640
Hello,

I am running Battlefield 4 on ultra-maxed out @ 1600x900 resolution.

My rig;

3570k @ 4.4 Ghz on air 1.35v
2x4 8GB Kingston HyperX Genesis 1600 cl9 @ 1866 9-10-9-28
2xAsus Gtx 660 DC2(OC) @1175max/6400mem 1.212v
700W 80+ PSU
MSI z77ma-g45 mobo

Situation:

After all the benchmarks I have run on 64man full multiplayer servers the conclusion is:

19 FPS lowest frame rate so far and in most benchmarks it was not lower than 45-50
93 FPS average frame rate, average of all results
203 FPS maximum frame rate, peak of all results

So, obviously the average frame rate indicates to good performance but more often than not I got a stuttering gameplay, not micro-stuttering kind of stuttering but more like laggy kind of stuttering.

Another observation:

I have not seen higher VRAM usage than 1662 VRAM and that was exceptional, mostly VRAM usage seems to be "actually" stuck @ 1532 VRAM.

This makes me think that 192-bit memory is blocking the last 512MB memory and hence the performance is reduced whenever memory is pushed beyond that point hence creating a laggy/stuttering gameplay.

But this is just my idea, what I want to know is what you guys think and if this is actually the case? If so I will actually regret buying the second 660 some weeks ago.

In other games like Crysis 3, Metro LL, Far Cry 3, Battlefield 3, Tomb Raider, Sleeping Dogs, Batman Arkham City, Batman Arkham Origins my setup actually surpasses the performance of a stock Gtx 780, I confirmed this from techspot 1680x1050 benchmarks and other 1600x900 benchmarks I could find online. But again in those games VRAM usage sits at 1400 VRAM and doesn't go much higher than that.
 
Solution
Oh sorry this didnt help. Personally, i would wait for some drivers to show up maybe because your current setup can easily outperform the r9 280x easily in most games (that support sli). However, if bf is your life and you are strictly addicted to it, then why not getting the 280x specially with the mantle drivers coming up to relieve your cpu and maybe improve performance. Finally, i dont recommend doing this now, as your 1.5 gb of vram usage seems normal instead of being a bottleneck in the bus width of the 660s check this out http://www.guru3d.com/articles_pages/battlefield_4_vga_graphics_performance_benchmark,11.html the game @ ultra and 4xmsaa ( i dont know what AA setting are you using), i think that at your res (no offense i...
With a 192bits memory controller and 2GB RAM, this means the memory configuration is non-uniform: two channels have 512MB while the third has 1GB. I would not be surprised if drivers tried to avoid using more than 512MB on that 1GB channel to mitigate load imbalance between channels.
 
I wouldn't immediately start by assuming there's something wrong your memory configuration. I would begin by looking at your graphics quality settings and try to pinpoint a culprit, like Ambient Occlusion or Transparency AA. Then there's the fact that if you're online, that's often going to be inconsistent no matter what type of setup you have.
 
So you are suggesting I should wait for next patches to have some potential issue fixed that may be causing this?

About the settings, doesn't that still mean that after around 1532 MB of VRAM usage my 660s even in SLI setup will start to have terrible performance compared to what they got below that amount?
 

That would depend on how badly the channel with extra RAM gets hit compared to the others. As long as the extra RAM on that channel only gets used for infrequently used textures and buffers, it should be ok but optimizing memory allocation between channels to make that happen could be tricky... so that would be my guess why they might try to use the last 512MB more conservatively.
 
Crysis 3 is going to hog more VRAM than BF4 (with similar settings) so I'm expecting there is something else going on, hopefully fixed with drivers/patches. It's entirely possible that there is a bias against your architecture on BF4, which developers are known to do, particularly on recent AMD Gaming Evolved titles (Tomb Raider was a good example, and BF4 clearly favors AMD). Basically, there's not much you can do except play around with the graphics settings and wait for patches and more mature drivers. Again, expect performance hiccups when playing on 64 player on-line servers.
 
BS about the 192 bit crap. on my system running 1080p ultra, i get about 1750mb max vram useage. many people are experiencing stuttering in this game, particularly on multiplayer. use google, there are many fixes. i had stuttering in the beta at first, till i ran the c++ and dx setups from the game folder, then it was ok, 60fps pretty much solid with the odd dip here and there, most likely due do network bandwidth/server issues. havnt tried the full game release yet though, not really interested in playing it.
 
Ok I don't remember the exact VRAM usage on Crysis 3 at peak so I will check that out when I can.

192 bit crap is unfortunately real although this may not be the issue with BF4.

images.bit-tech.net/content_images/2012/08/nvidia-geforce-gtx-660-ti-2gb-review/zotacgtx660-10b.jpg

the ones below the gpu are the ones that share the same bus width when the 1500mb is surpassed.
 
I can confirm that BF4 hits a VRAM wall on my 660s.

When I set Textures to high the max amount of VRAM usage is 1480-1490, does not push further and I have absolutely no lag, fluid gameplay it is. FPS solid stable @ 58 FPS. (no AA)

When I set Textures to ultra the max amount of VRAM usage is 1532-1625, does not push further than that and my gameplay is ruined with FPS drops to 10-17-25 from the max FPS amount I have set as 58. Gameplay is often laggy and stuttering. (no AA)

Can I know assume that I will not be able to play it with my setup at maxed out at ultra?

FYI in beta I could play fluidly and even record a high quality fraps video, my FPS would hover between 50-60, never dropped or stuttered, I had only 1 single GTX 660 back then and my settings were all @ ultra without AA.

So with two 660s in released version I cannot even run it like 1 660 ran it back in beta.

In Crysis 3 VRAM usage gets as high as 1580 ONLY if I run the game with 8xAA max quality AA which I usually don't and even at 4xAA VRAM usage does not go above 1509 which is still fluid experience.
 
I get 98 fps average in 15 minute gameplay of reaching to the VIPs level in single player, stuttering still sometimes occur but is very negligible compared to that in multiplayer. Still the max VRAM usage went up to 1584 MB I assume this is why it occurred. So was it a mistake to buy this card because of its 192 bit limitation then? I guess it is fine until it gets to 1500 MB usage and after that it becomes a low end like card eh? God damn nvidia.
 
The last post above yours is me testing the single player.

BTW, I overclocked the memory frequency to 6600Mhz by unlocking the voltage and fixed GPU speed @ 1175Mhz by putting equal values to gpu base and boost clocks. Now at Ultra Textures I see my VRAM usage is max 1522 MB, I have 99.9% no more stuttering. This means it really was the VRAM bottleneck I guess.

I think the fact that with increased frequency it processes textures faster makes it use less VRAM and hence no stuttering. Nevertheless I am disappointed with the solution I settled on by purchasing another 660 instead of selling it and buying a 770 or 760 SLI.

Edit:

48-man FULL server settings all @ Ultra with Weapon DOF off + MSAA OFF
Frames 59422
Time (ms) 477344

Min Max Avg
47 175 124.485

This is actually a pretty good result isn't it? But it was still a bit laggy.

Funny thing is, Vsync or any other FPS limitation mechanisms adds more lag and causes even less fps.
 
No, Vsync is buggy, I limit the FPS by ingame console but that above average was without FPS limit and it even ran and felt better. I guess there is some issue here with FPS drops being related to maybe something else in general. That high of FPS does not really indicate to a VRAM bottleneck does it?

Benchmarking on Sleeping Dogs, Tomb Raider and Splinter Cell Blacklist with this overclock yields me results as good as a reference Titan and 660Ti SLI with reference clocks.

Is there a way to do anything via Nvidia Inspector or something?

guru3d.com/articles_pages/battlefield_4_vga_graphics_performance_benchmark,7.html

Benchmarked the exact same level with exact same settings but at 1600x900

Result: Minimum 79 Average 107 Maximum 136
Frames Time (ms) Min Max Avg
9627 89844 79 136 107.152
 
need i say again, having 1750mb vram usage on my system, ultra preset 1080p (higher res, so higher vram usage), vsync on, smooth as silk with the odd hitch due to network and i have nearly identical setup. I do sometimes use nvidia inspector batch files to force constant clock, some games (crysis 2/3) boost clock causes the game to crash/freeze, forcing constant clock solved the probblem in that case. although i didnt come across this in bf3/4.
 
Can you give me some specific and clear instructions on how to modify the driver or gpu bios or whatever to achieve the smooth performance you got? We have near identical setup obviously and it only means I can achieve it as well then.

For example;

Is your processor at stock speed?
Did you overclock your GPUs?
Did you unlock voltage of GPUs?
Did you modify the driver or game settings in any specific way?
What kind of settings you use in Nvidia control panel?


With the voltage unlocked overclocks on mine I get that high average fps in the same level as the benchmark you can see above and it is fine too in single player, on multi it is stuttering.

Edit:

The best case scenario is always going to be that the entire 192bit bus is in use by interleaving a memory operation across all 3 controllers, giving the card 144GB/sec of memory bandwidth (192bit * 6GHz / 8). But that can only be done at up to 1.5GB of memory; the final 512MB of memory is attached to a single memory controller. This invokes the worst case scenario, where only 1 64-bit memory controller is in use and thereby reducing memory bandwidth to a much more modest 48GB/sec.

www.anandtech.com/show/6159/the-geforce-gtx-660-ti-review/2
 
Interesting, didnt know that about the memory bandwidth, i had to look further into it. and found this article:
http://www.behardware.com/articles/876-3/review-nvidia-geforce-gtx-660-asus-directcu-ii-top-and-sli.html
mentions software/drivers would have to be modified to only use the remaining 512mb for infrequent accessed commands. So just a thought, maybe latest game-ready drivers would improve things to utilize memory correctly.
I found that the game was choppy at first. but after installing c++ libraries and dx update from the game folder, it flattened out to just a little bit of stutter here and there. Many people with varying hardware report stuttering in this game particularly multiplayer, and there are many fixes around. I would suggest using driversweeper to remove old drivers, and installing latest ones. All my nvidia settings were on standard, game settings ultra preset 1080p. i didnt have to do any voltage/overclock tweaks.
The thought of this vram thing is kind of bumming me out now, thanks for making me aware of it 😛, maybe i should sell my cards and get a 3gb 7970 ghz on clearance.....I would get some free games then too......
 
I am thinking of selling them either to be honest, I actually bought my second 660 just some weeks ago. I was trying to decide between 770, 760 SLI or 7970/280x and I just bought another 660, bad decision on my part.

I actually think that it is an automatic process that infrequently used bits and bytes are already being pushed to the last 512mb by Nvidia's design somehow but I may be wrong.

I tested a lot, as long as I stay below 1536 VRAM game is so smooth and fps drops are almost non existent.

When I put it all on ultra ans SMAA it foes to 1680 VRAM at max, does not even utilize the rest for me and FPS is all over the place.

Until BF4 this solution was however pretty much viable I guess. I doubt they will reduce the size of the textures in upcoming patches so I am pretty much screwed.
 
well, all games seem to run well on my near identical setup but i run higher resolution, which should put even more strain on the cards. if you read the tomshardware link posted it shows AA having a significant impact on these cards, i found the ultra preset 4x setting to be fine.
 


on toms hardware benches it shows that the 3gb model is actually slower than the 2gb model. just that amount of data over 192 bit, doesnt have enough bandwidth even without the 512mb that runs on 64 bit.
2560_5_8xAA.png

"The gap between the 2 and 3 GB versions of Nvidia's GeForce GTX 660 Ti is even larger when we apply 8x MSAA.
Lesson learned: spending extra on 3 GB is pointless when capacity isn't the problem. "

although this is a pretty old article now and things might be more optimized. either that or they had physx on on the nvidia cards and off on the amd cards, as i dont see that kind of performance hit in my system.
 
Damn Nvidia what can I say, lol. We have near identical setup yes and you say there is no frame drop that ruins the game even when you play it @1080p plus ultra preset and 4xmsaa right? And your VRAM usage reaches 1750MB? I guess the increased VRAM on your side is coming from the resolution difference but I cannot understand why the heck it stutters and drops on my setup so hard. I tried to put back to stock clocks but it did not work. Average FPS rocks the world but who cares about it when the game is ruined.

With the overclock on these I really achieve a performance that surpasses even a reference 780 in many games including AMD titles as well. But in BF4 it is just terrible. I found out that I can play very smoothly without drops when I set Textures to high, everything else to ultra, AA off but this is disappointing considering I was playing it full ultra with one card in beta.

If this issue is really about the card hitting the VRAM limit then I suppose no patch or driver update will fix it.

I think this would also mean that Titan would become slower if it exceeded the 3GB VRAM since it is only 384 bit afterall.

3GB suffer from this even more and starting from a lower VRAM usage probably because more memory is spread over the same bus and hence it starts to be shared even after smallest amount of VRAM.

UPDATE:
After some more researching I decided to test the GPU memory using OCCT. Here is the screen. I am curious about the 12V now. Is this value normal? It is different than what HWinfo shows. I am starting to suspect my PSU now.
http://s8.postimg.org/eifq7uexx/occt.jpg
http://s7.postimg.org/9b79w2j97/hwgh.jpg
http://s23.postimg.org/wcz42okvf/hwvol.jpg