Announcement

Collapse
No announcement yet.

How Well Modern Linux Games Scale To Multiple CPU Cores

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Originally posted by L_A_G View Post
    Doing these kinds of benchmarks at resolutions like 1440p with high quality settings? Michael you do realize that unless you're using really low end CPUs these are essentially GPU bound scenarios? While being rather unrealistic, most CPU benchmarks for games are run at 1080p or below with low quality settings specifically to make sure that the games are CPU and not GPU bound during testing. I'd recommend that you re-do these tests at 720p and low settings to see how well they scale when they're properly CPU bound.
    Exactly what I was thinking. In order to rule out it is not GPU bound, just add another test case but now at lower resolution/settings.

    Originally posted by name99 View Post
    The question is: what do you hope to learn from these tests?
    IF your goal is to learn something about how well the CPU code parallelizes over multiple CPUs, what you suggest makes sense.
    Couldn't agree more especially since the title of this piece is: "How Well Modern Linux Games Scale To Multiple CPU Cores".

    Originally posted by name99 View Post
    But if your goal is to learn "what's the best 'CPU/dollar' value for games played the way I like to play them", Michael's tests may well make more sense.
    Since I don't play games, I've no opinion on the subject --- but my guess is that more people play games at 1440P HiQ than at 720P LoQ?
    I see this differently. If I wanted to see the CPU/dollar value for games played I would like to see the same graphics card tested against various CPU's. Who knows, if these tests are bound by the GPU I could maybe get the same performance with a cheaper CPU? The real answer I am looking for is this: what is the optimal CPU+GPU combination? Did I overspent on the GPU or the CPU? Given a certain CPU/GPU, what is the natural fitting GPU/CPU? The problem of course is that this type of testing is much more expensive: instead of simply swapping graphics card in and out of your motherboard you actually need to swap CPU's (labour intensive) or worse, have multiple motherboard/CPU combo's available.

    Originally posted by duby229 View Post
    I -only- agree with you in cases where the actual gameplay results(1) are literally right next to the artificial results. That way folks will easily be able to tell what they will actually get vs what an artificial configuration nobody plays at shows.
    (1) results from a configuration like you intend to play from.
    According to the title of the article the point is to determine how well games scale as function of CPU cores. I would argue it is difficult to determine that relationship if your test case is bound by the GPU. Of course you are right it would be a synthetic benchmark, and of course it keeps making sense to test the given scenario. But I am not convinced that these test show how games scale as function of the number of cores since there are indications it is bound by GPU. But who knows, maybe I am wrong?

    Originally posted by Luke_Wolf View Post
    No, they do it because they are stupid or are trying to play games with the numbers. Games are absolutely not valid synthetic benchmarks, do not pretend they are. What games are when benchmarked using realistic profiles are completely valid real world benchmarks. However you need to understand that while yes games become GPU bound when at extreme settings in some games as long as the CPU is fast enough to feed it, that does not mean games become magically CPU bound when you run at minimum settings. What being bounded means is that component X is taking so long to complete it's task that for the entire run of the benchmark all of the other components are waiting on this one component to finish, and thus aren't effecting performance. When you un-bound it, it does not magically become bounded by another component as games are very complex programs that touch everything, and it is much more likely to have a cascade of things slowing it down (See the effect of memory on performance) as opposed to one thing when you're not intentionally increasing load to isolate out a single component.

    Furthermore just because you get zOMG Frames in one game, does not mean that this performance translates to other games, Doom for example has an extremely different load profile when compared to Deus Ex Mankind Divided, and the besides of which is there's plenty of better ways to actually test CPU performance and how well the processor scales... like code compiling.
    Couldn't agree more, real world benchmarks do count! But the point is here to find out if these games can profit from multiple cores in a scenario where the tests are not bound by the GPU. These test show how this very specific machine performs for various games with various number of core/threads configurations. For most results it can be safe to conclude that you don't want to switch off any cores, but maybe you want to ditch the hyper threading (or whatever other locally optimal core/thread count you want to go for). That result is useful, but very specific for this one single configuration. What I take away from these tests is that when the scenario is bound by the GPU, the CPU only is of secondary importance, and I might spent less on the CPU (only considering the games tested here of course).

    So how well do modern Linux games scale to multiple CPU cores in CPU bound situations? Because who knows, I have bought a Ryzen but I have to wait a year before I get the money to upgrade that crappy video card? Where are my real world benchmarks? ;-)

    Comment


    • #42
      Originally posted by Davidovitch View Post
      So how well do modern Linux games scale to multiple CPU cores in CPU bound situations? Because who knows, I have bought a Ryzen but I have to wait a year before I get the money to upgrade that crappy video card? Where are my real world benchmarks? ;-)
      Well... right now Linux games don't scale particularly well to cores because generally speaking they're being wrapped from DX11 -> OpenGL 4.x. With Vulkan adoption over the next year or two that should change, but Linux gaming basically sucks right now.

      However... basically as long as you're running a modern processor (Ryzen and forward for AMD, Sandybridge and forward for Intel) at reasonable clocking nothing should be particularly CPU bound for gaming purposes as a general rule of thumb (once the OS side of things gets itself all sorted out on how to handle Ryzen anyway, and the microcode gets fixed)

      Comment


      • #43
        Originally posted by Luke_Wolf View Post

        Well... right now Linux games don't scale particularly well to cores because generally speaking they're being wrapped from DX11 -> OpenGL 4.x. With Vulkan adoption over the next year or two that should change, but Linux gaming basically sucks right now.

        However... basically as long as you're running a modern processor (Ryzen and forward for AMD, Sandybridge and forward for Intel) at reasonable clocking nothing should be particularly CPU bound for gaming purposes as a general rule of thumb (once the OS side of things gets itself all sorted out on how to handle Ryzen anyway, and the microcode gets fixed)
        Would be nice to see some benchmarks confirming this rule of thumb

        Comment


        • #44
          Originally posted by Davidovitch View Post

          Would be nice to see some benchmarks confirming this rule of thumb
          http://www.anandtech.com/show/10968/...nce-champion/6
          Yes it's windows but comparable Linux benchmarks don't exist to my knowledge. (Note that Ryzen has IPC that's approximately Broadwell-Skylake territory)
          Last edited by Luke_Wolf; 07 March 2017, 02:15 AM.

          Comment


          • #45
            Originally posted by chimpy View Post

            Agreed. By just targeting 2 and 4 cores developers can satisfy 93.93% of gamers on steam. But yea since most of us do more than just gaming (future games will use more cores by the way), Ryzen is an awesome processor
            Of course Ryzen is awesome, there are much more good news about it than bad news.

            Comment


            • #46
              Any CPU where you can get the highest possible clock rate is going to be best for gaming because allot of games just don't spread the load evenly as shown here, same problem exists in Windows which is why the Ryzen struggles. If you can find a CPU that clocks at 5ghz on Core 0 then you'd be set for some time I'd imagine. For gaming that is...

              Comment


              • #47
                Note how many games start to lose performance once HTT comes into play. I'll say it over and over and over again: FIX THE SCHEDULER!

                Comment


                • #48
                  Most games still use average of 2-3 cores

                  Comment


                  • #49
                    Talos Principle controls CPU affinity of its own threads. So the bad performance with 2-3 cores could be due to a bug in the Serious Engine (incorrect algorithm for choosing the "right" cores?). Option to disable CPU affinity:
                    thr_iAffinityStrictness=0
                    There is also an option to set the number of rendering threads (2 by default):
                    ren_iMaxThreads

                    Comment


                    • #50
                      Hmm... tough one to extract information that is reasonable relevant for a future purchase of hardware.

                      First, we have games that are just badly ported and can be pretty much ignored for everything, both CPU and GPU as they are just garbage and should not be supported. On the other hand, if we don't support those games, the game-studios might as well say "Screw it, no Linux ports anymore!"

                      Second: Games that are well ported are mostly games that were designed around the 2-4 core mentality beside some competitive outliners like CS:GO (that seems to scale at up to six core looking at the results)

                      Third: Future games are a look into the glass-ball. Do I expect AAA-companies to both write their games scaling up to 16 threads AND making HT worthwhile? Do I expect they also put as much effort in a Linux port as they do with their main release version on Windows? Do I expect, that they synergize with the whole Linux-infrastructure, taking advantage of any possible performance-gem when doing games on Linux compared to Windows, or are they satisfied with "it runs similar fast, thats green enough for me"

                      Fourth: How does the CPU scaling impact GPU performance and its overhead? We know by now, that HT can be damaging to performance that may be non-linear towards certain combinations of CPUs and GPUs and max be a mixed hell to track when evaluating them against different drivers and APIs.

                      Fifth: The reason to upgrade for most people is, if the hardware is not fast enough to render a game at sufficient framerates towards a sufficient quality. At 1080p towards 1440p where, aside from laptop gaming - are the most popular resolutions - I'm not sure what to look out for anymore. For 4k yes - its the GPU, but aside from that, I will be well over 60 Hz before hitting the CPU bottleneck if the game runs on a halfway modern CPU and that is... 4 cores to be used and I'm fine. Some Piledriver CPUs may suffer here as well, but hey - I think we are all over that point by now.

                      To summarize: I don't know what to take from this benchmark. It leaves me with a bitter taste that I have to wait quite some time, before games are even remotely optimized for my 4 years old 6C/12T CPU and that I will hit a bottleneck earlier due to having an older architecture (no AVX 3) rather than having too few cores. All around, I have the impression that the Software-developers pushed too much money into the Graphics and Marketing Department and ignored writing efficient and scalable engines for the last... 10 (?) years. As I don't see this being solved within the next two years on a general broadside-strike, as there is simply no demand to do it (keyword: Good-enough computing), I guess its up to the GPUs to save the lazy day. *sad panda face*

                      Comment

                      Working...
                      X