We recently took our first look at AMD's Raven Ridge desktop APUs after benchmarking the Ryzen 5 2400G and Ryzen 3 2200G for four days. Although both chips were impressive on this first run, there is still a lot of information we want to cover, including deeper overclocking tests.
However, a few questions have come up since the review's release, and the one I've probably seen the most is about the memory allocation of the Vega GPU.
In contrast to a typical discrete graphics card, most integrated solutions do not have their own dedicated memory. A Vega 64, for example, has 8 GB of dedicated memory in which data can be stored and quickly accessed when needed. As it is a high-end graphics card, it not only has a large 8 GB buffer, but the bus that is used to access this memory is also quite fast. HBM2 offers a 2048 bit wide bus, which with a clock speed of 1.25 GHz enables a bandwidth of 483 GB / s.
Below in the food chain, like below, you can find graphics cards like the RX 550. Since the processing power for this card is about nine times lower, no such bandwidth or an 8 GB memory buffer is required either. In fact, the RX 550 was only able to use half of this capacity, and in today's games the card also works with a 2 GB buffer. Regardless of the capacity, however, a memory clocked at 1.75 GHz is used, and data can be fed in at 112 GB / s with a 128 bit wide bus.
Moving data into and out of system memory is considerably slower than with VRAM.
A typical RX 550 has a 2 GB memory buffer that can move data at a peak rate of 112 GB / s. If 3 GB of VRAM is required for a game, but you only have 2 GB, some game elements are transferred to the system memory (RAM). I recently covered this in a bit more detail and examined how much RAM gamers need.
Moving data into and out of system memory is considerably slower than with VRAM. For example, when using DDR4-3200, the Raven Ridge APUs are limited to a memory bandwidth of approximately 35 GB / s for system memory. In the case of the RX 550, it has a bandwidth of 112 GB / s when accessing data locally with the VRAM, but when accessing data from the system memory it is limited to 16 GB / s (PCIe 3.0 x16 limit) The processing of the same data takes at least seven times longer.
If there is not enough system memory left on your computer, the game elements will be moved to the local storage device, ie to your hard drive or hopefully to the SSD. Depending on how fast this device is and how much it is affected by data, you may be very affected. At this point in time, the frame rate is likely to drop noticeably as the bandwidth would be reduced to around 500 MB / s with a SATA SSD .
Again, taking into account all of this information, note that the integrated graphics chip in the Raven Ridge APU has no local memory. We emphasize this because some integrated GPUs like the Vega M graphics in future Intel Kaby Lake-G processors will have their own dedicated memory. This significantly improves performance, but is also much more expensive.
Because AMD's Raven Ridge APUs are budget solutions, it was impractical to include HBM2 memory. Without dedicated VRAM, only the system memory is used, which is limited to a bandwidth of approx. 35 GB / s when using DDR4-3200.
Of course, bandwidth is only part of the problem here, and storage capacity also plays a key role. A system with a base model Radeon RX 550 and 8 GB DDR4 memory effectively has 10 GB total memory. However, when you use the integrated Vega 8 or 11 graphics in the Raven Ridge APUs, you have 8 GB of memory that must be shared between the CPU and the GPU.
In general, Windows can manage memory well and prioritize applications for best results. However, at least part of your system memory is allocated to the integrated graphics. Raven Ridge APUs use a method called Unified Memory Architecture or UMA for short.
With most current AM4 motherboards, you can set the memory size between 64 MB and 2 GB. Depending on which size you choose, the maximum amount of system memory that is exclusively allocated to the Vega graphics is determined. Once assigned, it can only be used as graphics memory and is no longer accessible to the operating system or applications.
Here I see a bit of confusion and misinformation. Some people argue that examiners should test for best results when the image memory is set to its maximum size, which is currently 2 GB. However, that's not necessarily the case, and as we'll find out shortly, most of you who have built or plan to build a Raven Ridge system will want to do the opposite.
You are far better off choosing the absolute minimum amount of system memory that you can use, because as I said, once you've allocated some of your system memory to the graphics processor, that's all it can be used for.
If you go overboard here, you will have a significant amount of idle memory that cannot be used when performing tasks that do not require a lot of video memory on Windows. If you select a 2 GB buffer on a system with 8 GB DDR4 memory, only 6 GB system memory is available.
I would not recommend choosing a 2 GB buffer even if you want maximum performance in games. As already mentioned, when playing after filling up the graphics memory or the VRAM, game assets are loaded into the system memory anyway and the Raven Ridge APUs only use the system memory. Regardless of whether you allocate 64 MB or 2 GB, this is not really important.
If a game requires 2GB of video memory, but you only allocated 64MB, usage is still transferred to the shared RAM. Because it's the same storage, bandwidth and performance remain the same. Windows manages this very well. So when you allocate 2 GB, you are only limiting the operating system's ability to optimally manage system memory.
Trying to understand why AMD offers a 1GB and 2GB frame buffer, I initially thought that reserving a certain amount of memory, such as 2GB, would ensure maximum gaming performance since the operating system doesn't mix things up would have to be around, especially when using 8 GB of RAM compared to 16 GB or more.
After testing different configurations, however, I found that this had little or no impact on game performance, certainly nothing you would notice while playing. When using 8 GB and 16 GB dual-channel DDR4-3200 memory with exactly the same timings, I couldn't find any real performance difference between reserving 64 MB or 2 GB system memory. I've tested half a dozen modern titles, all of which require around 2-3 GB of VRAM at 1080p with low to medium quality settings.
Instead of looking at half a dozen titles that all show exactly the same thing, I'm just going to release the Battlefield 1 results at 720p and 1080p along with some additional tests with Metro: Last Light. As you can see with BF1, all results are within the margin of error for an average of three runs, and we're talking not only about the average frame rate, but also about frame time performance.
The 2 GB configuration was up to 9% faster when comparing the 1% low results. However, if we accept that there is an error rate of +/- 1 fps, the difference can only be 3%. In any case, it was not possible to tell the difference when the game was actually played, and Battlefield 1 was one of the few games that showed measurable differences.
I got some reports that Metro: Last Light saw a massive increase in performance when I went from 512MB to 2GB, and although I stopped testing with this title about three years ago, I thought it would be strange if it did would be true, so I decided to give it a try. This game uses very little memory and here we found no difference in performance when comparing the average frame rate at 720p and 1080p. The same applies to the results of the picture time.
Given what we discussed before we got to the results, this shouldn't really surprise anyone. Regardless of whether the Vega GPU accesses data via the allocated memory or not, if it still uses system memory and is limited to the same bandwidth, in this case about 35 GB / s.
In fact, we can take a closer look at that. With the AIDA64 GPGPU benchmark tool, we can measure the read and write performance between the CPU and GPU and thus effectively measure the performance with which the GPU can move data into and out of its own device memory and into system memory. This is also known as device-to-host bandwidth.
More importantly, for what I want to show, we can also look at the memory copy performance. This test measures the performance of the GPU memory by copying data from its own device memory to another location in the same device memory. In the case of the RX 550, this would be the integrated GDDR5 memory, in the case of the Raven Ridge APUs, however, the system memory.
Here we see that the Vega 8 GPU in the 2200G with 64 MB RAM has a throughput of 33.4 GB / s when data is copied from the system memory, and this largely corresponds to the 35 GB / s that the CPU cores have access to the DDR4-3200 memory.
If we increase the map size to 2 GB, it won't affect bandwidth. Instead, we found a slight decrease in an average of three runs, but this is within the margin of error. If you consider how long this test takes, you can assume that we are transferring well over 2 GB of data, so that benchmarking is not only carried out within the allocated buffer. If we then look at the RX 550, which has a theoretical peak bandwidth of 112 GB / s, we can see in this test that it was good for 88 GB / s. For comparison, I put a Vega 56 on the bench and this model reached 321 GB / s with a theoretical peak bandwidth of 410 GB / s.
All evidence suggests that setting the iGPU-allocated memory buffer beyond 64 MB is pointless and even a bit silly on systems with limited RAM. That said, even though I've tested some games and applications now, I haven't tested all of them and of course I won't be able to because there simply aren't enough hours a day.
The only reason I want to increase the reserved memory buffer is for games that need to recognize a certain amount of VRAM before they load. We saw games with built-in security that you can't load without having to meet a minimum hardware specification. It's annoying because the game developer doesn't save anyone from anything, certainly no real harm, just troubles players who are likely to have acceptable hardware but are waiting for a driver update to improve detection.
I assume that AMD will always provide drivers to solve these types of problems for new games when and when they occur. However, in the meantime, players may be able to increase the allocation to meet VRAM requirements so that they can be loaded into the game. I can't think of any reasons why you want to sacrifice more than 64MB of memory to the GPU, but maybe you have some ideas.
Please also note that 64 MB can be an extreme example, possibly on the safe side and set to 512 MB. Or you can just wait 64MB until you encounter a problem. If so, please let us know. At this point you would only have to restart the system, increase the allocation and then load it back into Windows.
Since most APU users use two 4GB memory modules for 8GB capacity, especially those who buy the incredibly affordable Ryzen 3 2200G for $ 100, these users want to save as much memory as possible and tell them that they should save 1-2 GB The Vega GPU seems to be really bad advice according to my knowledge.
Back when I was talking about understanding why AMD offers a 2 GB frame buffer, there was even talk of AMD pushing board partners to offer a 4 GB option. But why, AMD? Why give your customers a chance to worsen their experience with your impressive Raven Ridge APUs?
Well, the reason is simple, marketing. AMD has to play the game of numbers. 2 GB or up to 2 GB of graphics memory sounds better than 64 MB. However, AMD does not currently appear to be promoting the Vega 8 and Vega 11 memory specification. This may appear as the company approaches the start of 4 GB allocation.
When we put the finishing touches on this feature and our tests, we contacted AMD and after we shared our results with them, they let their engineers examine them. AMD tells us they are testing a wide range of games, and we've also tested beyond what you see here.
For the most part, we saw very little difference. In some cases, the averages vary by up to 5% at most, but mostly by 3% or less. You can get an extra 2-3 fps at 2GB versus 64MB at best, but Raven Ridge is much more attractive at the bottom if I can have almost all 8GB of my system memory when I use Windows applications instead of just 6 GB.
For users with 8 GB or less RAM, the 64 – 512 MB options are more suitable. Just apply a little overclocking to get a few extra frames if needed.