Battlefield 4 VRAM Wall Performance Drop?

Page 3 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.

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...
Well this makes me think why my VRAM usage pushes 1600 sometimes although it should have been lower than 1500 at ultra+4xsmaa according to this chart and considering I have 300pixels less on vertical side.

If this is a specific issue on my end what can it be related to?

Can it be possible that my memory chip is damaged or is overheating? Because in my SLI setup in a m-ATX board there is absolutely no space between the cards. If I even push the top card tiny bit on to the other one the fan will hit the back of the second card lol.

But I laid my case on its side so the highest temp in anything other than furmark was 68 so far with or without the overclock but I cannot see the VRAM temps.

BTW my cards are:
Asus GTX 660 DC2 OC and
Asus GTX 660 DC2

Can this problem be originating from the fact that one is OC and other one is not? I actually make them all equal voltage-clock-boost clock-base clock through Kepler Bios Tweaker and force a base fan speed of 65%.
 
I'm sorry but this has gone beyond my humble knowledge, i just had an idea and thought it might help. I previously mentioned my opinion about selling your 660s and getting 280x, wish you best of luck solving this out!
 
Thank you for the effort and providing the charts. I will wait for a patch and a driver update and decide later. My setup at the moment achieves higher performance than a 780 in many games that support SLI well and since I am not specifically a BF4 addict I can wait.
 


i have had plenty of AMD hardware before, the only thing i had an issue with is crossfire, which i wont be doing.

just fyi, i am running windows 7. It could be too much AA combined with the heavy vram usage causing stutter, i know turning off AA will obviously change vram usage, so its shard to test. One thing i normally do, is run vsync on and triple buffering. There is also an option in nvidia control panel vsync for "smooth" to reduce stutter. Also i did have completely identical 660's, both oc versions. I can say i did experience stutter in bf4, but after updating c++/drivers/game update, this was minimal, having sli enabled was still smoother than disabled with reduced details though.
 
@crowe I met a guy on BF4 today who sold his 670 FTW 4GB SLI cards and bought Vapor X 280x (what a weird decision is that). I asked him about the temps and microstuttering. He sait 70 max for temp and said microstuttering is almost gone, like it is 90% of SLI performance in that area now in crossfire setup.

UPDATE about my situation:

After reverting the cards back to their old BIOS I did not even overclock by 1Mhz, I did not even change the Fan System, I did not change the Power Limit of the cards.

I applied the "Battlefield 4 SLI fix" I linked few posts back and now at all ultra with Post AA Off, 2xSMAA, Mesh High, Everything else ultra I get rock solid butter smooth 60 FPS.

If anyone reads this, just disable the overclock (the one you clocked, not the one that came by default) and give a try to the SLI fix I linked.

Edit: Without the overclock on memory the card uses max 1584MB VRAM, same as what my friend had.

So I am guessing, overclocking the memory pushed the card to use more VRAM and maybe that stalled it in some way? I am just theorycrafting so I may be wrong as well.
 


Well funny thing is it worked fine in almost everything else. You never know what is gonna hit your overclock unless it hits I guess.
 


So i got my 7970 today, and OMG you were right, i cant believe it. Just a quick run of crysis 3 on exact same settings in exact same level as with the gtx660s, the 1500mb usage i was getting with the 660's, is now just under 2000mb with the 7970!!!!!!!! So it looks like something in the driver is not allowing it to allocate past 1500mb.
 
Well yeah, it did not make any sense that it would not go over 1580MB (without OC) even if it was hitting 1580 MB with normal texture scaling and when I put it to 125% texture scaling max VRAM usage was still 1580 MB so there is some creepy thing going on there.

Please give me a feedback about:

1) Smoothnes of games, is it smoother or does it feel the same?
2) Are drivers doing their job, drivers were always an excuse to shy people away from AMD
3) Raw performance in terms of FPS average or min FPS in games you have tested with 660s and now with 7970 or synthetic benchmarks?
4) Most importantly, do you think you are better off with 7970 instead of 660 SLI?

I would really love to get a feedback from you and it would have a big impact on me in terms of selling my setup and moving onto 280x which is practically the same card. Thank in advance!
 
have only played a short run of crysis 2 so far. the nvidia sli 660's produced a bit higher framerate, although with vsync limited to 50hz, the 7970 runs it fine. its pretty crazy the difference in vram use though, i will check some settings when i get home, maybe AMD cards just utillize ram differently, i cant help but wonder what the nvidia card is dropping out to save vram like that. Would be interesting to get someone else with a 3gb + nvidia card to see what happens. I have never had a major issue with AMD drivers, having owned their cards previously, just problems with crossfire, which i will never use again till i know it's fixed. probably going to stay away from dual cards now anyway. I will test some more games during the week and get back to you.
 
Ok thank you for the update. Does the game feel any more or any less smooth or fluid though? Or is it around the same experience you had with 660s?

I think they have probably coded it into the base driver profile to prevent it from utilizing more than 1536 (with maybe a few MBs for texture swapping and thus making us see like 1600 vram usage occasionally). The theory is true I think, the card would probably got its performance stalled if it were to get past that vram limit as the memory bandwidth drops to 1/3 of its normal bandwidth. And maybe the 10% overclock was actually forcing the card to use more VRAM. I think they may have coded it in relation with the memory frequency at some point of the equation. Again just theory crafting but since Nvidia did not even explain how they did this VRAM modification on 660ti to Anandtech and I am in the end a deceived customer I can just think whatever I want to think lol. I am really pissed off at green team I may switch to dark side soon as well.
 

The bandwidth should not drop to 1/3. What should happen is that the 1GB channel may see twice as much workload as the 512MB channels and in that case, you should still get around 2/3 of full bandwidth: the 1GB channel with 33% of total bandwidth operates at 100% of its capacity while the other two operate at only 50% (stalled waiting for the 1GB channel half the time) so you get 33% + 2x 0.5x33% = 66%

This is assuming the drivers do not try to be clever with how they distribute memory allocations between channels. Logically, they would gather usage statistics on resources and move less frequently used things to the 1GB channel to free up space on the 512MB ones.

As for how drivers manage to mysteriously peg memory usage near 1.5GB on those cards, one possibility is texture compression.
 

i was thinking about texture compression, or even the way nvidia handles the heavy tesselation in crysis 2/3 compared to AMD. im going to play with some settings tonight and check it out a bit.
 
Well I got the 1/3 idea from Anandtech's review on 660Ti where they say in a worst case scenario memory bandwidth would drop to 48Gb/s from 144GB/s, ie 1/3. Still it is already terrible that you get a 2gb card only to have it perform at a similar level to 1.5GB instead of 2. Gtx 660 is no longer a card I can suggest to anyone unless the person is trying to choose between 7850 and 660 lol.
 


I had to turn off adaptive vsync for BF4, that was the only thing that made the game playable for me, and I'm running dual 780s with an i7-4770k.
 
I had to switch to Borderless mode and lock fps from in-game console to +2 over the refresh rate of my monitor. That completely, once and for all eliminated all the client crashes I had with audio loop.

OCing the non-factory-OC 660 by giving it some voltage and limiting its turbo to 1136Mhz (my other card, DCU2 660 OC runs at constant 1136 in 3d apps by itself with gpu boost) fixing the effective clocks of both cards to an equal value increased the overall performance IMMENSELY.

I was getting 4156 in 3D mark 11 Extreme benchmark with clocks set to 1201mhz max core/6600mhz memory on both cards now at 1136mhz max core/6008mhz memory on both I just got 4454 in 3d Mark 11 Extreme, such a huge improvement considering this is actually a lower frequency for both cards' mem and core, yet they prove to yield the best overall performance. Gameplay also became significantly smoother and stable, with these new developments I am very happy with my config.
 


yeah, i found with my cards, there was a limit where more mhz actually got me less fps. the cards not only thermal throttle and throttle to a power limit, but there is a pcb power limit that you can not change. I can tell you though after all the stuffing round with my 660's im much happier with the 7970. things just work, no crashes, can pretty much maintain 60fps in most games, doesnt feel slower than the 660's, actually feels a little smoother. glad you got your cards sorted though.