Part 1: DirectX 11 Gaming And Multi-Core CPU Scaling

Page 2 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.

Agreed. If you really wanted to see how well they scale past 4 cores, use either slower arch or run lower clocks. Although even at 3.9 I expect we'll see better scaling with DX12/Vulkan, for carefully-threaded engines anyway. Either way 2 cores without HT is no longer sufficient even for the lowest budget gaming builds.
 
I feel like this testing would have been more balanced if they had used an i7 5775C. Not that Broadwell -> Skylake would show a big improvement, but the IPC improvement from Broadwell to Skylake surely affected the results shown by the i7 6700k?
 
Know it would be extra work-but as others have requested 2 core with HT would be nice.
To see how this scales-I was going to suggest adding a midrange 1060 as well-
but as a afterthought a 480 would be much better-especially with DX12 coming up.
 
I think there would be value showing the quad core i7 with ht on as well as off at least for directx12. Some asked for the i5 but I don't see any value including an i5 as the i7 with ht off is effectively the same CPU. Otherwise nice job!
 


While that might be true it also brings about a push to higher resolutions and more and more work being handled by the video card rather than the CPU which makes CPU les and less important for higher frame rates anyway so it may actually end up going the opposite route and the rule of thumb being "It effectively doesn't matter what processor you have since gaming performance is effectively governed solely by your video card". I think it's really hard to tell at this point.


While that's true to an extent if your average is twice the speed of the other config then dropping to 50% of it's performance only hits the average speed of the lower performing config. Plus with variable sync tech being more and more available frame rate inconsistency becomes less and less of an issue since it's really hard to detect visually unless your frame rate drops to insanely low levels.

Also, it's kind of hard to see on the graph because of the i3 mess on top of everything, but it sure looks like most of the frame times delays that happen on the 4 core config also happen on the 8 core config. Since in most cases for gamers you would be comparing a 4 core non-HT i5 to a 4 core HT enabled i7 but then also having less money to spend on your video card then overall you end up at less performance in gaming going with the i7.
 
Great article detailing the frames scaling from core counts in games. I wouldn't mind seeing office productivity benchmarks like this. I'm really interested in knowing how much faster a 10 core count really has is a program like After Effects or Photoshop.
 


I don't know. Framerate drops can be jarring. For example, running a game designed for 30FPS, running at a constant 30FPS? Not great but not jarring. Depending on the genre it's actually fine. Running a FPS at 60FPS with drops down to 30FPS? Jarring, annoying - especially in the middle of a firefight in a multiplayer FPS. If you were running at 30FPS constantly the consistency might make things less aggravating. You get used to it. Cutting your framerate in half suddenly whenever a lot of "stuff" is happening can throw you off balance, so to speak.

Of course at that point I'd probably go tweaking settings to see if I couldn't rectify that.
 
What a great title, graphs, looks good.
Interesting stuff about CPU overhead and how different engines scale across different CPUs, GPUs, memory speed, drivers... Testing at various settings and resolutions...
 
I'd like to see a similar test done with AMD FX CPUs to see if DX12 is really going to make games that would be borderline unplayable with DX11 run well enough to be a good experience under DX12. When everything but the i3 runs all tests at 50fps or better the main take away is that any of these processors are great and it doesn't really matter which one you have.
 
My conclusion from seeing various tests performed by various organisations is: the CPU has negligible effects on game performance. I'm guessing that this is because modern games are programmed to place most of the programs' workload onto the GPU instead of the CPU. Spend your money on a GPU instead of a CPU. A good CPU is probably only beneficial for software that doesn't utilise a GPU, and that software should probably eventually be rewritten to mostly utilise the GPU instead of the CPU.
 
Part one of what? Is "DirectX 11 Gaming And Multi-Core CPU Scaling" the name of this part or is it the name of the series of articles? I got lost... I'm sure there are others that just get lost when the first words they read are "Part 1".

I wrote this as CONSTRUCTIVE criticism, I don't mean any offense by it.
 
Somewhat answering some questions/requests in the comments:
If you want more data on i3s with Hyper-Threading enabled versus disabled, check out some of the reviews that compare i3s to Pentiums. That's very close to the same thing if you adjust for frequency differences where they exist. You'll find that in games which scale well across as many threads as it supplies, Hyper-Threading will net you somewhere around 25% more performance per core. The graph here from the Witcher 3 test in the article demonstrates this quite well, though I should point out that the around 25% number has been known for many years now from many previous tests. The SBMs are great resources for this.
ht-frot.png


Ignoring the pitfalls to 0FPS because they're basically just terrible stutter, you can see around a 25% improvement from the purple line to the blue line. Of course, considering what some people mentioned even about comparing i5s and i7s with how Hyper-threading can "smooth" things out a bit even if FPS doesn't go up, fixing stutter issues like that certainly demonstrates that. Still, I'd argue that for the most part, the i5s aren't so much worse that it matters in current games nor for the next few years.

If anyone wants an i7 for that, I'd recommend going all the way to the cheaper six core models. The jump in platform cost isn't high enough to ignore the 50% increase in cores if you want to say that an i5 isn't enough for you. Of course, anything beyond the six core i7s is just silly. Prices skyrocket while performance is already plateaued for several years to come. Keep in mind that with Hyper-Threading enabled, the differences between 4, 6, 8, and 10 core i7s will shrink even further because games just don't use the performance of the larger i7s.

Also, for Braddsctt's question about the i7-5775C:
Skylake's architectural improvements are so small that the i7-5775C's eDRAM cache can often actually make it faster than the i7-6700K when the two are at the same frequency. Check out previous tests when the i7-6700K first came out; that 128MB eDRAM basically acts like an L4 cache, though do keep in mind that we're still talking typically less than 5% differences. These things really aren't noticeable.

For everyone asking about putting i5s in the analysis, keep in mind that an i7 with Hyper-Threading disabled behaves like an i5. The only difference (other than stock frequency, which is irrelevant here) is an 8MB L3 instead of a 6MB L3 and that really doesn't matter. Even the i3's little 3MB L3 doesn't handicap it much.

This article is probably the most comprehensive evidence supporting much of what a lot of us have been saying for a while now. i3s are the minimum now for a good experience in most of today's big games, i5s are a decent step up, quad core i7s are a small step up at best except in specific circumstances, 6 core i7s follow similarly over quads, and anything above 6 core i7s will not demonstrate noticeable gains in realistic gaming situations. The 8 and 10 core CPUs aren't even more practical for multi-tasking while gaming unless you're trying to run a render in the background.

DX12 alone won't change that because even if it delivers on improving CPU scaling later on, it's also supposed to reduce overall CPU load to the point where the 8 and 10 core CPUs are even less relevant. Other than increasing player counts (BF3/BF4 Multiplayer and similar games FPS games with large player counts, like BF4's 64 player maps, can scale the CPU load of players very well across six or eight cores) further (what's next, 128 or 256?) or throwing more CPU physics processing into the mix, there isn't a whole lot you can do to utilize that much CPU performance. Maybe they'll shrink game size with more compression/on-the-fly decompression of game resources? That's probably still not going to raise CPU usage much, although it could easily run on cores that the main engine isn't heavily utilizing for slightly better scaling.
 
I think the suggestion came from a desire for a more apples-to-apples comparison between the smaller and larger CPUs. However, you rightly point out that its eDRAM would introduce a much bigger variable than the architectural differences between Broadwell and Skylake.
 
I do not agree with the method used for research. While I understand the purpose of this article; the method used is not a real representation of CPU cores scaling on games. Different CPU affinity configurations (disabling/enabling cores) should have been used for bench-marking the games with the same CPU. Nevertheless, nice findings. Thanks
 
So, there are a lot of nay-sayers in this thread. Sure, the difference in architecture and # of memory channels introduces some variables, but the approach taken by the article is certainly more relevant to anyone in the market for an upgrade.

I mean, it might be more of a "pure" measurement of the software to pit Broadwell vs. Broadwell, but most desktop purchasers are going to choose between the CPU models (or at least the families) they reviewed. Virtually nobody is buying Broadwell-based desktops (aside from Broadwell-based NUCs, which have a max of 2 cores).

First, I'd hope the cores were disabled in BIOS, so that the OS couldn't use them at all. And what would you do with the memory configuration? You could leave all 4 channels enabled, with 2 & 4 cores, but this would make the results even more unrealistic. Then, as some have pointed out, there's the matter of L3 cache. So, your proposal might yield a more academic view of game performance scaling, but the results for 2 & 4 cores would have much less relevance for people actually trying to make purchasing decisions.
 
Someday, I'd like to see you do a "streamer" or "Youtuber" test where you see how many cores are required to run game + video capture + streming on one box.
 


Thats DX12 you are thinking about.
 


The CPU is important to gaming. There are plenty of games that stress the CPU just as much as the GPU (if not more). These titles include GTA V, Cities Skylines, Ashes of the Singularity, etc.

Also, clock speed of the CPU is important in any game. Now if they're older games, they may not be able to take advantage of more than two cores at a time, but multi core is still relevant to gaming. Some newer games can take full advantage of up to eight cores, but I haven't seem these games get too popular yet.

To conclude: CPU speed is just as important as the GPU. Having more than one CPU core is also important. However, I don't think more than four cores is necessary to gaming... Especially if they're really strong cores as seen on the i7 6700K. HyperThreading is also a pretty big bonus.

I made a playlist of Science Studio videos on this subject.
 
As I said, the purpose of this article was accomplished, by finding which games are enhanced to get most from CPU cores, related to the CPUS used for this benchmark. But it wasn't academical. There is a lot of differential architecture between i3, i5 and i7. You can't compare an i3@3.9ghz to an i7@3.9ghz, and expect a similar performance, just because they have the same clock speed. That's like comparing an Atom CPU to an i7 @1.6ghz, and expect they behave the same.

About the memory configuration is worse, changing from CPU architectures also changes the way memory is handle, different enhancements and tweaks embedded into the chipsets. Simply put. too many variables that can affect the benchmark. Different builds have to be made, so we don't have the same setup across the benchmarks

Variables must be eliminated, by making the tests simple, not more complex. That way you can focus on getting pure information without any distortion to it.

So if Intel release an i3 with 10 cores, should I expect the CPU be like an i7 with 10 cores?? The results could be misleading, I hope that for part two of this articles, variables are reduced.
 
For Gaming machines I sell more and quote more i5s then i3s and i7s added together I find it strange there wasn't even 1 i5 in the whole testing. That kind of makes it moot.


 


Again, an i7 with Hyper-Threading disabled behaves practically identical to an i5, so adding an i5 would be a pointless waste of time and effort.
 
Status
Not open for further replies.