Are PCIe 4.0 speeds worth it?
Are PCIe 4.0 speeds worth it?
I neglected those points. It’s puzzling why AMD chose that path. The results clearly show it’s not effective in benchmarks like TechPowerUp PCIe4 performance scaling.
For a top-tier B450/X470 board, consider the X570 at comparable cost. If you don’t require strong power output, basic ports and fans make the X570 less valuable.
I suppose, today, if your SSD and GPU have more bandwidth, though, then loading times could be better. That's about all I can think of if we mean the present. But for performance, no "optimized" game will take advantage of PCIe 4.0 today. Most GPUs are still on PCIe 3.0, and most games still perform very well with a PCIe 3.0 x8 interface. Trying to do anything that would constantly require more than a x16 PCIe 3.0 interface would be completely insane today, because only certain mid-range GPUs would not get dumped on in performance. Here's an example: Let's say you're on a GTX 1660 Ti (6 GB GDDR6, PCIe 3.0 x16, 288 GB/s memory bandwidth). Let's also consider twenty 8192 x 8192 32-bit uncompressed textures with mipmaps. First we have the main image which is 8192 x 8192 pixels, or over 67.1 million pixels total. Then, for mipmaps, you divide each dimension by 2 until you get to 0.5. So, you get this: (8196^2 + 4096^2 + 2048^2 + 1024^2 + 512^2 + 256^2 + 128^2 + 64^2 + 32^2 + 16^2 + 8^2 + 4^2 + 2^2 + 1^2) pixels * 32 bits per pixel = 358 176 148 bytes per texture. For simplicity's sake, let's assume there's no overhead. If there was no overhead, then PCIe 3.0 can send that at 1 GB per second with one lane. Note that PCIe bandwidth is measured using IEC GB, so 1 GB = 1 billion bytes in this case. Thus it'll take a little over 0.358 seconds to send one texture to the graphics card. Obviously, this would make the game unplayable if it had to load many assets, but if you have 16 lanes, you can divide that by 16 and you get about 22.4 milliseconds. With 20 8K textures, you can do that in 0.448 seconds. But there's a problem: you're on a GTX 1660. With a 6 GB (6 GiB) GDDR6 frame buffer, you can only hold 17 uncompressed, 32-bit, 8K textures. This means the game has to switch textures in and out during gameplay every once in a while. For your game to run at a stable 60 FPS, it has to draw a frame every ~16.667 milliseconds. This means that every time it loads a single texture during gameplay, there is going to be a hitch of at least around 22.4 milliseconds (or a drop to under 44.7 FPS). This is very noticeable. But if you used PCIe 4.0, it'd only take half that time: ~11.2 milliseconds. You'll still get a hitch, and it'll definitely show up in your 1% lows, but it won't be nearly as significant, plus it's entirely possible it'll still maintain 60 FPS. Also, if you were on 8 GB of VRAM, more things can be stored in memory, so you wouldn't even need to worry about this nearly as much. Today, we would probably call such a game an "unoptimized" game. Not because it's computationally demanding but because it's constantly trying to shove large, uncompressed textures through a small interface. More likely, you'd see games using some form of (probably lossy) compression supported by the GPU to get such a high resolution texture as low as possible. But ten years from now? Maybe! We might even see more games using 16K textures, too, as more GPUs support it.
It's odd at first, but making sense now that they highlighted PCIe 4.0 on their latest motherboards. Plus, it seems like this will eventually become standard for graphics cards too, so learning more about it is definitely beneficial—even if right now it doesn't offer much extra performance.
These storage types will likely see higher speeds thanks to PCIe 4.0, boosting overall transfer rates.
Intel denies this claim, stating PCIe 4.0 isn't significantly faster than PCIe 3.0. They point out they don't have a PCIe 4.0 board available and argue that the technology is largely irrelevant since PCIe 6.0 is expected in 2021. They emphasize that real-world performance remains consistent across generations, even if benchmarks suggest differences.