Why did adding memory significantly increase gaming performance on an AMD APU?

66

6

To be clear from the beginning, this is not a problem. This is just something that I really want to know the secret behind.

System specifications

  • CPU: AMD A10-6790K 4.0 GHz
  • GPU: AMD Radeon HD 8670D 1 GB (integrated GPU)
  • RAM: 2 x Team 4 GB 1600 DDR3 = 8 GB

Of course, I'm using a 64-bit OS to make use of my 8 GB of memory, but my question is: Before I got the additional 4 GB RAM, games like Mafia II ran at the highest settings at an average of 22 FPS, but when I got the additional 4 GB RAM, I noticed a very decent increase of the frame rate to 40 FPS even though the game didn't appear to use more than 4 GB of RAM.

What is the secret behind this?

CyberGhostx1

Posted 2014-07-29T19:35:59.687

Reputation: 761

3RAM adds capacity, not performance. if you didn't have enough, then you had run out of capacity. The upgrade provided the additional capacity you needed to run the application more efficiently. Also note that modern systems will do lots of things that slow you down (swapping and non-cached IO for instance) before they will let themselves use all their ram, so even if you are not yet using all your ram, you may have used all the OS will allow for your specific process. – Frank Thomas – 2014-07-29T20:01:03.850

10If you had only one memory module before, you now have twice the bandwidth. This is a significant increase. – Daniel B – 2014-07-29T20:45:05.577

Answers

83

When you installed the second memory module, you enabled dual-channel mode and doubled memory bandwidth. GPU performance is highly dependent on memory bandwidth and your frame rates reflect the increase in bandwidth.

  • The AMD A10-6790K is an "Accelerated Processing Unit" (APU). APUs combine a CPU with a relatively powerful integrated graphics processor (GPU), eliminating the need for a discrete graphics card (at least for lighter workloads). "AMD Radeon HD 8670D" refers to the integrated GPU built into this APU.

  • The performance of any GPU is heavily impacted by its ability to quickly access graphical data from memory. Without sufficient memory bandwidth, the shader cores on the GPU will often end up waiting for data, preventing the chip from working at its full potential. It's essentially an extreme case of the von Neumann bottleneck: today's GPUs have hundreds, if not thousands of gigaFLOPS of raw processing power and can process data so rapidly that they often can't read data from memory quickly enough to keep themselves busy.

  • For this reason, today's high-performance video cards use specially-designed video memory, typically GDDR5, to achieve maximum performance. Unfortunately, most integrated GPUs, including those found in APUs, do not get their own dedicated memory, so they need to use the system memory instead.

  • Because AMD APUs use the system memory as graphics memory, integrated GPU performance is highly dependent on the speed of your RAM. Not only does DDR3 system RAM have significantly less bandwidth than GDDR5 video memory, the integrated GPU needs to share this bandwidth with the CPU for normal application use. Increasing memory bandwidth will directly increase performance by reducing this bottleneck.

  • When you upgraded your system's memory, you added a second memory module. With two modules, your memory now runs in dual-channel mode, doubling memory bandwidth and dramatically increasing performance as a result. Upgrading to faster RAM (at least DDR3-1866, preferably DDR3-2100 or faster) will similarly increase performance.

The effects of memory bandwidth on GPU performance are well-documented.

  • Real World Tech has discussed in detail how memory bandwidth affects GPU performance. Among graphics cards with similar or identical GPUs, those with more memory bandwidth were found to significantly outperform those with lower memory bandwidth.

  • Tom's Hardware has shown that integrated GPU performance on the A10-5800K scales linearly with memory bandwidth up to DDR3-2100. On the newer A10-7850K, PC Perspective reports linear performance scaling with memory as fast as DDR3-2500 (and likely beyond).

Tom's Hardware chart showing memory scaling with Aliens vs Predator
Source

  • In the Tom's Hardware and PC Perspective articles, the tests were performed with dual-channel memory configurations, so having a single memory module led to the severe performance bottlenecking you observed before you upgraded. It is readily apparent at this point that to get optimal performance with an AMD APU, you need the fastest memory you can get.

bwDraco

Posted 2014-07-29T19:35:59.687

Reputation: 41 701

Sry a bit off topic, so +1. If say I put 4 RAM modules instead of 2 does it mean it will no longer be dual channel? Is it better to have 4 modules or 2? – OutFall – 2014-07-29T23:10:44.170

3

@N0ir: As long as each pair of memory modules is matched (same speed and capacity), the memory will run in dual-channel mode, and you should get full performance (but reliability or performance may be slightly degraded).

– bwDraco – 2014-07-29T23:16:50.170

@N0ir it depends on your motherboard. Most are at least dual channel, but tri channel and quad channel are possible. If your motherboard supports quad channel then 4 modules are better than 2. – Taemyr – 2014-07-30T06:47:04.727

1Would be interesting to see how much of the performance gain was due to the extra RAM and how much due to the bandwidth. To do this you could run the game with 2 2GB sticks of memory of the same speed and compare to original performance of the 4GB system. – psatek – 2014-07-31T10:15:11.387

@DragonLord Not to detract from your answer at all, but one tidbit of note is that the reason APUs don't have GDDR on-board is that significant amounts of fast memory actually take a lot of physical space (volume) to fabricate! Intel's "Iris Pro" technology fits 128 MB of special dedicated RAM on the CPU die for use by the GPU, but 128 MB is as high as they could go. Many high-end GPUs these days have between 1 and 6 GB of GDDR5. They can do that because you have tons of room on the enormous Printed Circuit Board (PCB) of large, dual-slot dedicated GPUs. – allquixotic – 2014-08-02T02:15:29.673

If you (not you specifically, but the reader of this comment) have ever held a CPU in your hand, you know just how tiny of a chip it really is. And that chip has to house the entire CPU, the entire GPU, plus a bunch of miscellaneous circuitry! There simply isn't enough room on the chip to have 1 GB or more of dedicated graphics memory. The future of APUs and Intel IGPUs lies in the prospects of DDR4 becoming the next standard for system RAM, which will (at least) double the memory bandwidth once again. That may be enough to end the memory bottleneck; but we'll have to wait and see. – allquixotic – 2014-08-02T02:17:54.080

@Taemyr: Triple of quad channel memory requires supprt from the memory controller, which is no longer on the motherboard but which has moved to the CPU/APU. In the case of the A10-6790K only single or dual channel is support. – Hennes – 2014-12-24T21:50:22.117

@Taemyr, you should also note that triple or quad-channel memory is not really an option except on servers and Intel HEDT systems (e.g. processors used with X-series chipsets). – bwDraco – 2014-12-24T21:55:24.957

15

You have an APU, rather than a discrete CPU and discrete GPU. That means that they share system RAM for the texture cache, rather than dedicated on-board memory on a graphics card.

The reason the RAM upgrade sped things up for your game likely is because of texture resource swapping. With more RAM available overall, that means more texture data is able to be loaded and kept in RAM for longer. When you have all your memory allocated, and your operating system needs more to work with a task right now, it will find allocated memory that hasn't been used recently, save the contents to your disk, and then re-allocate the memory for that task. Once that data is needed again, it will swap it back from the disk into RAM. This swapping takes a long time (relatively).

You likely were swapping a lot on texture data. When you upgraded your RAM, you provided more space for textures to be stored, which means less memory swapping, which then translates into a higher frame rate.

Ben Richards

Posted 2014-07-29T19:35:59.687

Reputation: 11 662

1Thanks for this answer. You explained everything with detail and ease ;) – CyberGhostx1 – 2014-07-29T19:53:51.017

-3

if your playing star craft 2 or red alert 3, adding more ram is better, tho it doesn't increase FPS but rather helping the game by maintaining its speed.

example:

8gb = 100 tanks (red alert) goes 60 fps, by adding more and more tanks its slows down.

16gb = 250+ tanks.

just putting it in perspective.

also in open world games it helps a lot by lessening the fps drop and hiccups as well.

now to put it in a simpler way ram maintains the speed, but doesn't increase FPS

justmyopinion

Posted 2014-07-29T19:35:59.687

Reputation: 1