cancel
Showing results for 
Search instead for 
Did you mean: 

General Discussions

blackmaninc
Adept II

Video proves how much RAM affects performance

I asked this guy on Steam how much of an improvement if any would upgrading from 8 to 16 GB's of RAM cause, so he uploaded a video of Hitman 6 running with 8 gigs vs 16 gigs. And holy dog biscuits does it make a big difference, so much so that even he was surprised. Hitman 6 is a good game to use since its so CPU intensive where some levels will literally have hundreds of NPC's on screen at once with varied behavior. Now I know I absolutely have to get me an extra stick. Since this is more of an "ask it" type of forum, I'm wondering why exactly does it affect performance this much?? I thought most games recommending 16 gigs is just because of all the stuff that may already be running in the background, and not necessary because it might give your PC an actual boost in performance, especially a boost this big as shown in the video linked below.

Hitman GOTY: Performance Testing - 8GB Single Channel vs. 16GB Dual Channel - Max Settings - DX12 - ...

0 Likes
1 Solution
leyvin
Miniboss

The reason for the Performance Boost has nothing to do with the extra 8GB of Memory Available.

I mean … alright depending on the Game Settings, it is of course possible to hit the limitation of the available Physical Memory resulting in the excess Memory being offloaded to either ReadyBoost (SSD) or Virtual Memory (HDD)., which can have a dramatic impact on performance if / when greater than Physical Memory is available.

Still given Windows 7 and beyond has Adaptive Application Caching (with Windows 10 making heavy usage of Hibernation Caching) then it means Windows itself will typically scale from a Minimum of 512MB to 25% Total Memory after Runtime Prioritisation.

So say for example you have 4GB., this would mean 512MB - 1GB... 8GB., this would mean 512MB - 2GB., 16GB this would mean 512MB - 4GB... etc.

Of course it can use the full amount available when you have no Priority Application (i.e. not Gaming) but you will always have a minimum of 75% Total Memory Available for such an Application.

This coupled with the fact that 4GB is the "Minimum" Shipped Memory since 2012., basically means that for most Games this actually isn't an issue.

Even the most Demanding Games require only 7GB Total System Memory... I've yet to see one that uses more.

Same is true in regards to Video Memory., the Maximum you can expect to be required (for Gaming) is 6GB, and keep in mind that this is assuming 4K, HDR, 60Hz, High Resolution (4K Asset Textures) and No Compression.

Fallout 4 is a good example of a Game that the "Ultra" Texture Mode would take about 6GB Memory., but here's the thing... someone released an updated version of the game post launch converting all of the Texture Assets to BC7 Compression. Total VRAM Usage plummeted to 3.5GB but more over performance on both AMD and NVIDIA rose between 12-30% (impact was greater on Slower Graphics Cards)… why? Because GPUs today are Hardware Optimised FOR Compression., meaning that Raw Textures *even* if you're using Zero actual Compression Ratio; will run slower as the Hardware must convert to a Compressed Data Stream before it can be Dispatched for Workloads.

That even Established Industry Veteran Development Studios seem entirely oblivious of this, should be quite telling of how long PC Developers have been so detached from the Hardware with little need to focus on Optimisation due to the extremely rapid pace of performance improvements year-on-year.
I was far more scathing in how I spoke about the Laziness and Ignorance of PC Developers Vs. Console Developers 5-8 years ago., because we had API being teased / on-the-horizon that would return Low-Level (Close-to-Metal) Development which frankly PC Developers needed to get their arses into gear to get back to their roots and learn how Hardware worked rather than simply working closely with NVIDIA / AMD to have Drivers optimised and their Software Engineers explain some basic "Best Practises" that they'd often just use on that single project.

Still consider how few Games actually support DirectX 12 / Vulkan today... and those that do, are basically just porting DirectX 11 Engines for "Equal" Performance; once again relying entirely on Driver Optimisation gains, or seeing things like Asynchronous Compute as a "Magic Bullet"; which sure it can be assuming that you actually understand both how it works and how the Hardware works.

AMD have some great Whitepapers on this, but even still., these are guidelines not per scenario (every situation) optimisations.
There are choices and trade-offs to make that really means the "Best" approach it entirely situation to what you want / need the engine to do.

I know... it seems a little off-topic., but remember it's not just Developers who've lost their Technical Savvy.

It's the Consumers / Enthusiasts as well.

As I said above., the extra 8GB is quite literally unimportant to performance boost being seen.

What is actually showcasing a substantial Performance Boost is the fact of comparing Single Channel to Dual Channel.

How does this make a difference?

This gets a little complicated to explain in terms of the Channels, Banks and Lanes.

But a Simplified approach is to just assume that each Memory Module Supports up to 2 Lanes... these can be either Read or Write per Cycle, but regardless of how you handle them the overall performance is effective the same bandwidth.

So let's say we have 1200MHz Memory.

This would effectively be 2400MHz Per Memory Module (Stick).

As such we can assume this is the Performance per Channel.

This if we have 2 Channels (Modules) of Memory, we effectively double this to an Effective 4800MHz Memory.

As far as I know, both Processors (AMD and Intel) Support "Interleave Memory Banks" … this means that you can still use Single Channel, but if you populate both Banks you will see a performance increase as well.

This isn't quite as effective as Individual Channels however... so instead of 2x, it is 1.5x (i.e. 3600MHz instead of 4800MHz)

Now keep in mind this is a GROSS Simplification of how the Memory works., but it's also why it's *ALWAYS* recommended that you have 2 Memory Modules instead of 1 Memory Module. As a Smaller Amount of Dual Channel Memory is BETTER than a Larger Amount of Single Channel Memory.

It's also why Quad Channel and Octo Channel Memory is actually something that within the next few years will be on Mainstream Processors (such-as Ryzen 3rd Generation) not just for things like Threadripper, Epyc, Opteron, Xeon and Core Extreme.

Although as a note Core Extreme isn't "True" Quad Channel., but rather is Interleaved Dual Channel... hence why it's performance improvement is situation, and not recommend unless you're Content Creating. So it can harm Gaming Performance.

What's more to note is Memory Channels make a greater impact on things like APU, or Multi-Core Modules (i.e. Ryzen / Epyc / Threadripper) because they can optimise in such a way that each area of the Processor has "Dedicated" Memory Channels. As this reduces Memory Barriers and Latency., allowing them to reach much close in terms of efficiency to the Peak Performance; which generally you won't hit in normal situations.

View solution in original post

43 Replies