Entry-Level 1080P AMD Gaming PC Build Guide

Since I often get questions and requests related to selecting components for different types of desktop PCs, I thought I would put together a few quick build guides for some different categories of machines at different price points.

Any desktop machine is going to need these basic components from seven different categories, broken down below.

  • CPU and cooler
  • GPU
  • Motherboard
  • Memory
  • Storage
  • Case
  • Power supply

At certain price points, you may be able save some money by getting components that combine extra functionality into a single component. A good example is a CPU with integrated graphics that also has a decent CPU cooler included. Because of ongoing competition between Intel and AMD, combined with falling RAM and NAND SSD prices, you can build a very capable system for a lot less money than you might expect.

Entry-Level 1080P AMD Gaming PC Build

This is intended to be an affordable machine that can easily play eSports type games at 1080P (1920×1080) resolution. It also has enough CPU/memory capacity and storage performance to handle typical desktop usage scenarios with very good performance. Even though it is a budget machine, it may be faster than many older high-end desktop machines from years past. Here are the main components:

AMD Ryzen 5 3400G 3.7 GHz 4C/8T Processor

Despite the 3400 series name, this is actually a 12nm Zen+ processor rather than a 7nm Zen 2 processor. Still, it does have 4 cores plus SMT, so you get eight threads total. It runs at a base clock speed of 3.7 GHz and has a Max Boost Clock of 4.2 GHz. It also has integrated Radeon RX Vega 11 graphics to handle 1080P gaming. It has an AMD Wraith Spire CPU cooler included in the box.

ASRock B450M PRO4 Micro ATX AM4 Motherboard

This is a relatively modest but still capable B450 chipset motherboard that has four RAM slots. It has four SATA3 ports along with one Ultra M.2 PCIe NVMe slot and one M.2 SATA3 slot. It also has a decent amount of USB 3.1 Gen2 and Gen1 ports and a Realtek Gigabit LAN port. A B450 motherboard can support most current and past generation AMD AM4 socket Ryzen desktop processors, so you have an upgrade path. You will need to have BIOS version 3.30 or later in order to use the latest AMD Ryzen processors.

G.Skill Ripjaws V Series 16 GB (2 x8 GB) DDR4-3000 Memory

Most games run perfectly well with 16GB of RAM, and I consider 16GB of RAM to be the bare minimum that you should have for general desktop usage. You also want to have at least two sticks of RAM so that you will be running in dual-channel mode. Since this B450 motherboard has four memory slots, you can add more memory later if you need it without having to replace your current memory.

AMD Ryzen processors are relatively sensitive to memory speed and performance, and this is especially true of Ryzen processors with integrated graphics that use system memory. G.Skill has a good reputation and seems to work pretty well with AMD Ryzen processors.

Samsung 860 Evo 500GB SATA3 Solid State Drive

I believe that a 500GB SATA SSD is pretty much the bare minimum you should consider in terms of capacity and performance when it comes to a boot drive. For NAND-based SSDs, you should avoid getting a drive that is smaller than 500GB, since you will give up a lot of performance while only saving a very small amount of money.

An entry-level system may get along just fine with a single 500GB drive, but you can always add additional drives or go to a larger size if you need more space. You can also step up to an M.2 PCIe 3.0 NVMe drive for more performance. Personally, I really like Samsung NAND-based SSDs, since they are just a known good product that I have a lot of experience with. The 860 EVO series gives nearly the same performance as the higher-priced 860 PRO series. The free Samsung Magician software is an added bonus that makes it easier to manage your drives and install firmware updates.

Cooler Master MasterBox Lite 5 ATX Mid Tower Case

The selection of a case can be fairly subjective. People often have quite strong opinions about the sort of aesthetic they are looking for. Depending on your preferences for thermal performance and noise, you have a huge number of cases to choose from.

The case I picked here is very affordable, and is relatively low key as far the stock appearance. It is possible to add some color to this case with RGB case fans. Adding additional case fans would also be a good idea if you want better thermal performance, since this case only comes with one 120mm rear case fan.

Seasonic 520W 80+ Bronze Certified Fully Modular ATX Power Supply

Your power supply is not a good place to cut corners on. A good power supply is going to make your system last longer and use less electricity. I really like fully modular power supplies, so that I have less cable clutter inside the case (because you only install the cables that you actually need). SeaSonic is one of the best power supply makers out there, even though this is a lower-end model.

Having a lower watt capacity power supply for a system like this will actually save on electrical usage compared to a much higher watt capacity power supply, since efficiency is higher when the power supply has a slightly higher percentage of its rated output. A 520 watt power supply will still have some extra headroom so you will be able to add a mid-range discrete graphics card later.


Other considerations

This machine has a total price (as of this writing) of about $450.00. That does not include sales tax or an operating system. I think you will want Windows 10 Home or Professional. If you do use Windows 10, make sure to get version 1903 so that you get the AMD scheduler and CPPC improvements. You also want to make sure you get the latest BIOS version and the latest AMD chipset and All-In-One Driver versions.

Depending on your budget, you can add more RAM or storage right off the bat. You also have a very good upgrade path going forward. For example, you could upgrade to a 6C/12T or 8C/16T 7nm AMD Ryzen 3000 series processor using this motherboard. If you did that, you would have to get a discrete graphics card. You can also go up to 64GB of RAM with this system.

Please let me know if you are interested in more posts like this. Thanks for reading!


The PCPartPicker parts list for this machine is here.



Glenn’s Tech Insights For September 13, 2019

(Glenn’s Tech Insights… used to be part of our bi-weekly newsletter but we decided to make it a regular blog post instead so it can get more visibility. It covers interesting new hardware and software developments that are generally relevant for SQL Server). It also can just be technically related items that I find interesting.

AMD Ryzen 3000 BIOS Fix

Over the last month or so, there has been a small controversy brewing in the hardware community about the maximum boost speeds for individual cores in AMD Ryzen 3000 series desktop processors. The allegation was that maximum boost speeds were sometimes 25-50 MHz below the rated maximum boost speed.

For example, the AMD Ryzen 7 3700X has a base clock speed of 3.6GHz and a Max Boost Clock of 4.4GHz. This is how AMD defines Max Boost Clock:

“Max boost for AMD Ryzen processors is the maximum frequency achievable by a single core on the processor running a bursty single-threaded workload. Max boost will vary based on several factors, including, but not limited to: thermal paste; system cooling; motherboard design and BIOS; the latest AMD chipset driver; and the latest OS updates.”

So, for example, people were seeing max boost speeds on the fastest core of a AMD Ryzen 7 3700X of perhaps 4350 or 4375 MHz instead of 4400 MHz.  Not everyone was seeing this, but a significant number of people were seeing this issue. Just to be clear, this is not something you would notice in real life, but it was measurable in some benchmarks.

AMD has released a new AGESA version 1.0.0.3 ABBA to motherboard vendors that seems to improve this issue. Motherboard vendors should be releasing BIOS updates in the next 2-3 weeks. The reviews and benchmarks of the new BIOS I have seen typically are showing a single-threaded performance increase of 2-3%.

Here are the official AMD blog posts that cover this issue:

Ryzen Community Update: BIOS Updates for Boost and Idle, Plus a New SDK

An Update on 3rd Gen AMD Ryzen Boost Frequencies

Personally, I think this issue was blown way out of proportion. On the other hand, it is good that AMD addressed it pretty quickly. If you take the time to get everything updated, you will get a small performance increase for free.

If you want the best performance possible from your AMD Ryzen 3000 system, you need to do several things:

  • Make sure you are on Windows 10 Version 1903
    • This gives you a scheduler update so that Windows will favor the fastest core on your processor
    • It partially enables UEFI CPPC support (so that clock speed increases more quickly)
  • Make sure you are on the latest AMD chipset drivers
    • This gives you the UEFI CPPC support in Windows 10 1903, and other improvements
  • Make sure you update your BIOS
    • AMD continues to make small improvements with each new AGESA version


September Release of Azure Data Studio

On September 10, 2019, Microsoft released the September version of Azure Data Studio, which is version 1.11.0. Microsoft continues to add new features to each release of Azure Data Studio. The release notes are here.

Some of the notable improvements include:

Enable SQLCMD Mode

Enable Community Extension: Query Editor Boost

Notebook Improvements

Visual Studio Code August Release Merge 1.38

Bug fixes



T-SQL Tuesday #118 My Fantasy SQL Server Feature

This post is a response to this month’s T-SQL Tuesday #118 prompt by Kevin Chant.  T-SQL Tuesday is a way for the SQL Server Community to share ideas about different database and professional topics every month. This month’s topic asks about our fantasy SQL Server feature.

MJ-t-sql-Tuesday

Introduction

It may come as no surprise, but my fantasy SQL Server feature is related to hardware and storage. This is a general idea that I have had for many years, that I have brought up informally with some fairly senior people at Microsoft in the past.

Essentially, I think it would be very useful if SQL Server had some sort of internal benchmarking/profiling utility that could be run so that SQL Server could measure the relative and actual performance of the hardware and storage that it was running on. Then, the results of these tests could be used to help the SQL Server Query Optimizer make better decisions about what sort of query plan to use based on that information.

For example, depending on the actual measured performance of a processor core (and the entire physical processor) from different perspectives, such as integer performance, floating point performance, AVX performance, etc., it might make more sense to favor one query operator over another for certain types of operations. Similarly, knowing the relative and actual performance of the L1, L2, and L3 caches in a processor might be useful in the same way.

Going deeper into the system, knowing the relative and actual performance of the DRAM main memory (and PMEM) in terms of latency and throughput seems like it would be useful information for the Query Optimizer to know about. Finally, understanding the relative and actual performance of the storage subsystem in terms of latency, IOPs, and sequential throughput would probably pretty useful in some situations.

Windows Experience Index

A historical, consumer-facing example was the old Windows Experience Index in Windows 7, that would run a quick series of benchmarks to measure the processor, memory, graphics, gaming graphics, and primary hard disk performance of a system. The resulting scores (in Windows 7) could range from 1.0 to 7.9. The scores for my old 2012-vintage Intel Core i7-3770K desktop system are shown in Figure 1. The purpose of these scores (beyond bragging rights) was to help consumers make better decisions about possible upgrade choices for different system components or to simply understand what the biggest bottlenecks were in their existing system. It was also used as a quick way to compare the relative performance of different systems in a store.

Windows 7 WEI

Figure 1: Windows Experience Index Scores on Windows 7


Azure Experience Index

My idea is to have something similar from a SQL Server perspective, that could optionally be used by the SQL Server Query Optimizer (and any other part of SQL Server) to make better decisions based on the actual, measured performance of the key components of the system it is running on. This would be useful no matter how SQL Server was deployed, whether it was running bare-metal on-premises, in an on-premises VM, in a Container, in an Azure VM, in Azure SQL Database, or in SQL Managed Instance. It would also work in any other cloud environment, and on any supported operating system for SQL Server.

Despite what you might hear, the details of the hardware and storage of the actual hardware that your SQL Server deployment is running on, make a significant difference to the performance and scalability you are going to see. Low-level geeky things like the exact processor (and all of its performance characteristics), the exact DRAM modules (and their number and placement), the NUMA layout, the exact type and configuration of your storage, your BIOS/UEFI settings, your hypervisor settings, etc. There are so many possible layers and configuration options in a modern system, it can be quite overwhelming.

Based on source code-level knowledge of what SQL Server does in general and how the Query Optimizer works, along with all of the performance telemetry that is collected by Azure SQL Database, Microsoft should be able to determine some relationships and tendencies that tie the actual measured performance of the main components of a system (as it is currently configured as a whole) to common SQL Server query operations.

For example, as an imaginary possibility, perhaps the performance of a hash match is closely related to integer CPU performance, along with L1, L2, and L3 cache latency, DRAM latency and throughput. Different systems, based on differences in the exact CPU, BIOS settings, memory type and speed, etc. might have significantly different performance for a hash match, to the point that the Query Optimizer would want to take that into account when choosing the operators for a query plan. Perhaps it could be called Hyper-Adaptive Cognitive Query Processing… Smile

Even if that level of tuning wasn’t immediately possible, having a deeper understanding of what specific performance characteristics were the most critical to common query operations for different query workloads would help Microsoft make better decisions on what processor, memory, and storage specifications and configuration settings work the best together for different workloads. This could potentially save huge amounts of money in Azure Data Centers. Microsoft can custom design/build hardware as part of the Open Compute Project, and they can get custom server processor SKUs with their desired performance characteristics from AMD and Intel to take advantage of this type of knowledge. They can also configure everything else in the system just as they desire for a particular workload.

Obviously, this is a complicated idea that would take significant resources to develop. I’m sure that Microsoft has other development priorities, but this is my fantasy feature, and I’m sticking with my story.