Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
3  
RAM 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 Jul 29 '14 at 20:01
20  
Why did this perfectly valid question get a downvote? An 80% increase in frame rates is not typically expected on a memory upgrade. –  DragonLord Jul 29 '14 at 20:07
8  
If you had only one memory module before, you now have twice the bandwidth. This is a significant increase. –  Daniel B Jul 29 '14 at 20:45
2  
Why is it necessary to question a single downvote? –  Almo Jul 31 '14 at 17:42
1  
@Almo - but I thought imaginary points matter? –  nicefinly Jul 31 '14 at 19:48

2 Answers 2

up vote 78 down vote accepted

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.
share|improve this answer
    
Thanks for your answer ;) –  CyberGhostx1 Jul 29 '14 at 20:33
    
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? –  N0ir Jul 29 '14 at 23:10
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). –  DragonLord Jul 29 '14 at 23:16
    
@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 Jul 30 '14 at 6:47
1  
Would 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 Jul 31 '14 at 10: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.

share|improve this answer
1  
Thanks for this answer. You explained everything with detail and ease ;) –  CyberGhostx1 Jul 29 '14 at 19:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.