Modern Combat 5 Playing

Trying out another popular high-end game, we have a look at Modern Combat 5. This one of many first-person shooters on Android.

The little cluster looks to behave extremely similar to what we saw in Real Racing 3: Three larger threads keep 3 of the cluster's CPU at relatively busy duty-cycles while we see some limited activity on the 4th core.

The big cluster also seems to behave in a similar fashion. One big main thread causes the bulk of the load while we only have occasional small bursts when threads get migrated onto the big cluster. This time we see a more variable load both in terms of requency and rq-depth instead of the flat-line that could be observed in Real Racing 3. 

One interesting behaviour caught in this log was how the main big thread got moved around from CPU6 to CPU4 and then again to CPU5 on the 33s mark in the log.

Even though the total rq-depth might be a bit misleading here while it's showing an average of around 2.5, we can see that in the individual per-CPU runqueues we have 4 major threads at work. Again this is a case of using parallelization for the sake of power efficiency instead of performance. The 3 smaller threads on the little cores could have well been handled by a single larger CPU at higher frequency, but it wouldn't have been nearly as power efficient as spreading them onto the smaller cores.

Games: Real Racing 3 Playing Analysis & Conclusion
Comments Locked

157 Comments

View All Comments

  • Samus - Wednesday, September 2, 2015 - link

    They are both clearly android fans and haven't ever given anything else a chance. The fact they ignore Apple has consistently had superior single threaded performance in their SOC's years and this has translated to better UX just goes to show that Android targeting multithreaded performance is a solution looking for a problem. There are so many underlying issues to address first, specifically making efficient use the Linux scheduler and perhaps setting a compatibility list for hardware instead of saying just make anything and we'll find a way to run on it no matter how crappy it runs.
  • tuxRoller - Wednesday, September 2, 2015 - link

    Apple had not consistently had better performance per core. That's fairly recent (since cyclone, iirc). There are myriad issues at play.
    In the end, the market is best served by an open option, like Android, and customers choosing what works best for them and letting the rest fade away.
  • name99 - Wednesday, September 2, 2015 - link

    "Apple had not consistently had better performance per core. That's fairly recent (since cyclone, iirc). "
    Since Swift. That's iPhone 5, 5S, 6 (2012, 2013, 2014) and likely to be 6S and 2015 at least.
    Even the late-stage pre-Apple cores were substantially above average (in part because of Apple's custom SoC). The 4S was above the competition at the time:
    http://www.anandtech.com/show/4971/apple-iphone-4s...

    Most people would consider "consistent enough" for "long enough" to make the statement reasonable.
  • lopri - Wednesday, September 2, 2015 - link

    And it is not like Apple don't resort to moar-cores. When they run into walls, they also have no choice but to take whatever routes that are available. Listening to some of the zealous Apple fans, one would mistake that iPhones have been rocking on a single-core all these years.

    They have moved to dual-cores on the phones, and 3-cores on tablets. Moar-cores on iDevices are only a matter of time. Those specialized ASICs with fancy names apple give ("Motion Processor" for one) are also a concession made by Apple that there are cases where big cores are not always the best route to take when efficiency matters.
  • Buk Lau - Wednesday, September 2, 2015 - link

    "They are both clearly android fans and haven't ever given anything else a chance."
    uhh my first smart device ever is a 2nd gen iPod touch...

    So just because I proved you wrong, I have to be an Android fanboy? You said you tried all these Android phones "every week" and have "shit experiences." Again, you didn't bring up any names or so. What phones have you even tried? Who's being a fanboy here and can only provide claims without backing them up with facts?

    I don't understand why you are arguing about this superior ST performance when it's irrelevant to this article. What this article simply proves is that Android does make use of extra threads and you get a benefit in power efficiency due to running MT thread, nothing about performance. In fact in most scenarios shown in the test most of the little cores are even saturated which means the workload isn't heavy at all.

    "Apple has consistently had superior single threaded performance in their SOC's years and this has translated to better UX"
    any evidence that leads to this conclusion? also like tuxRoller said Apple only have IPC advantages in recent years with Cyclone series.

    "There are so many underlying issues to address first, specifically making efficient use the Linux scheduler and perhaps setting a compatibility list for hardware instead of saying just make anything and we'll find a way to run on it no matter how crappy it runs."
    Where did you get the concept of make anything and find a way to work? All OEMs and SoC manufacturers optimize for Android just like how they optimize for Windows in desktop. Like I said before, SoC manufacturers have to provide driver update every time there's a HAL change in Android. How well they can do to optimize is up to themselves but the fact is that they do have to make their hardware compatible for Android
  • Kutark - Wednesday, September 2, 2015 - link

    Did i suddenly log onto the pcgamer forums? The instant someone expresses any level of dismay or concern for an apple product, or says they have good experiences with android phones, it automatically means they're a nutswinging fanboy?
  • Buk Lau - Wednesday, September 2, 2015 - link

    You can argue whether Apple is intentional or not but the end result is that 4S users are getting more sluggish experiences with their 4S after updated to iOS 8
  • tuxRoller - Wednesday, September 2, 2015 - link

    Linux isn't great about niceness There's a few ways to fix this. One is to use cgroups ,(which Android uses). This works pretty well but I'd still subject, ultimately, to the scheduler. The other way is to run the rt kernel. That obeys priorities nicely (heh), but would be a bear to wrestle into Android and you'd lose some power efficiency. Also the rendering framework of Android may have some issues.
  • darkich - Friday, September 4, 2015 - link

    Im calling not only BS, but a truckload of it.

    Just so full of ignorance and prejudice that it's probably not worth a thorough reply..if you do want one though, let me know and you will be served.
  • brianpauler - Saturday, July 17, 2021 - link

    This is a very valuable change of Reddit. If you are a regular user of Reddit, you probably know this Reddit video downloader:

Log in

Don't have an account? Sign up now