Can someone explain this to me?

Discussion in 'Support!' started by planktum, August 6, 2014.

  1. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    I'll let the pictures do the talking... notice the FPS in relation to CPU and GPU usage.

    Whats going on here? Why does this game use so little CPU and GPU?

    Screenshot 2014-08-06 20.37.27.png Screenshot 2014-08-06 20.38.14.png Screenshot 2014-08-06 21.24.12.png
  2. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    Your playing on *alot* of planets. Look at your memory load- its full! If you run out of memory the frame rate tanks, as it has to use HDD caching instead.

    What are your full system specs, ideally if you can post a DX-Diag that would help as well. PA planets use lots of RAM (people have been experimenting with single planets that us 16gb on their own!). I would recommend playing on a system that has 2 x R800 main planets each with a single R200 moon (total 4 planets) and see how you get on....
  3. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    It has nothing to do with high RAM usage...

    Here's two more screen shots on a 1 planet system and using only 50% RAM. Once again, I ask, why does this game not maximise usage of the CPU and GPU? You'll notice on the second screen shot that there is actually a downward trend in GPU usage and framerate as the game progresses. RAM usage stays about the same.
    Screenshot 2014-08-06 22.04.14.png Screenshot 2014-08-06 22.08.36.png

    Also, see Dxdiag attached.

    Attached Files:

  4. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    Still the same game, same RAM usage, but GPU usage keeps dropping... Screenshot 2014-08-06 22.14.26.png
    SXX likes this.
  5. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    Ohhhh! Sorry I get what your asking now!

    Right I can explain this- basically your CPU usage is limited due to how PA handles threading on the client. Up until a few builds ago, PA only used 1(!) thread for rendering which means on your quad core machine it would be incapable of using more than 25% total CPU time. Recently Varrak (graphics guy) has been reworking the entire rendering engine to be able to share some of the work from the main rendering thread to the other cores, which is now maxing out at about 40% total CPU time on a quad core (you'll notice your CPU usage is pretty constant in all your screen shots). Apparently because they're stuck with OpenGL 3 (to maintain compatibility with Mac and Linux + a wide range of GPUs) there's not a whole lot more they can do. Essentially PA will max out a dual core and use most of 3 cores. The UI also uses separate threads which help spread the load a bit further but the UI is pretty light in comparison to rendering.

    One thing to bear in mind though- the server when it's released for offline play loves threads (it uses 1 thread per player basically, so you can imagine how much CPU it can use for a large game). So your quad core will probably be hammered playing Galactic war after the server is included.

    The point is though that once you hit the 40% CPU usage limit, the GPU usage is going to start dropping as it is waiting for the CPU to send it new information- hence the frame rate drops. The performance has improved alot since the threaded update and you never know, Varrak and the crew might just figure out a few more tweaks to wring a little extra FPS out of your machine. Otherwise the only way to get better performance is to get a CPU with faster single thread performance (e.g. a Haswell CPU has about the highest single core perf available) or failing that over clocking your i5.
    wondible likes this.
  6. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    If that's true, then that's pretty average programming if you ask me. I have never come across a game that is so bad at utilising the full system resources. I understand that most games still don't fully utilise multi-core/hyperthreading; it's been pretty stagnant in this area for a couple years now and this is partly due to the current graphics API's (e.g. DX11), hence why AMD has tried to introduce the Mantle API which is supposed to improve this somewhat, although NVIDIA have said they are also tweaking their drivers to utilise DX11 better (probably just marketing spin from both sides). My main concern is the low GPU usage. Pretty much every game I have played recently has lowish CPU usage, but the GPU usage always runs at 100% GPU.
  7. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    And they've been promoting this game as being able to support up to 40 players. Yeah right.
  8. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    This is one of the reasons most game devs shy away from Open GL. DX11 can utilise 3 CPU threads well for rendering. Open GL is more limited (it can only have a single 'main' rendering thread, Varrak has done pretty well getting it to 40% usage).

    The other thing you need to consider though is that an RTS game is very different to most other games. In RTS we have large numbers of independent objects that need updating regularly- this is why the CPU gets loaded more than the GPU. PA doesn't need too much in way of GPU, however it is very CPU and Memory intensive. It's just the nature of the genre (same thing applies to other RTS titles too, SupCom for example was very CPU reliant back in its day.
  9. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    Support for 40 players is coded into the engine, and back in Beta we already had successful games with 20+ players. Player support is going to be more of an issue for the server than the client imo. The key is how many units the game can handle at once, again the engine has been built with the goal of up to 1,000,000 units although that isn't possible at the moment.

    TA was built with engine support for 50,000 units but was only released with a cap of 200 units per player (due to hardware at the time). That functionality was exposed later through patches and such as the available hardware improved.
  10. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    Yes I understand that RTS games are more CPU intensive, but in other RTS games (e.g. StarCraft 2 and Wargame: Red Dragon) we are still getting much better system resource utilisation that we see PA. We should be seeing more than 50% GPU, thats inexcusible.

    It also concerns me that Uber choose to use Open GL for a video game genre (RTS) which is known to need high CPU utilisation for good performance. Especially for an RTS game of this size and scale. That's seems like a very stupid decision, and makes me wonder what other bad decisions have been made during the development of this game.
  11. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    Here's a game of Supreme Commander with hundreds of units and the frame rate is still good (therefore assuming good CPU/GPU utilisation). What's different between Supreme Commander and Planetary Annihilation?

  12. raven2392

    raven2392 New Member

    Messages:
    17
    Likes Received:
    8
    Every time I enter combat I get about a 20 second freeze and then a 'Planetary Annihilation is Not Responding' message, from which I have to wait out, and by then either my units have died just to standing there doing nothing, or I've completely lost track of what moves the enemy has made.

    Makes the game fairly unplayable at the moment.
  13. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    Starcraft 2 is a terrible example. That engine only uses 1 core- the only reason the GPU is the bottleneck is because blizzard

    1: Lock the max zoom very close to the ground
    2: Cap the units very low so there are never that many simultaneous objects in the game.

    Remember PA can max out your GPU early game (when the rendering thread isn't being overloaded). What hurts it is when there are 1000's of units in game. Starcraft simply can't do that.

    Also they HAD to use OpenGL as it was one of the main Kickstarter promises to support Linux and Mac OS. Please note, DX is only available on windows. This is why not many games offer cross compatibility.
  14. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    Then there is something wrong, please post your DX-Diag, also what internet connection do you have and are you using Wifi or a cable to connect to your router?
  15. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    I was reluctant to include StarCraft 2 as an example because I knew you would say that. However Wargame: Red Dragon with it's 10 vs 10 matches does support 100's of units on screen at any one time and it has good GPU utilisation. And the complexity of each unit (speed, accuracy, stabilisers, ammo on/off, etc) in Wargame is far above any other RTS.

    And what about this game of Supreme Commander?


    Wargame 10 vs 10
  16. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    In my experience PA can handle as many units as Sup Com whilst remaining fluid. Those are mainly buildings in that video...

    Another thing to think- as the game gets polished Uber are adding in more 'fx' type things (shiny blue com explosions for example). These things will put more load onto the GPU without effecting the number of objects the render thread has to deal with- so the GPU load will go up. They've not really added in many of the bells and whistles that really push GPU's yet (all the shiny shiny)- but they're getting added. It won't change the fact that the game is CPU bound (as almost all RTS games are) but it will make use of the free time on the GPU which would make sense.
  17. cwarner7264

    cwarner7264 Moderator Alumni

    Messages:
    4,460
    Likes Received:
    5,390
    For various practical reasons, I understand that optimisations like multi-threading don't tend to take place until very late in the development process. It's something that Uber are working on doing now - I'd wait until the game is released before criticising its use of system resources.
  18. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    Well this is just it though, PA often involves THOUSANDS of units not 100s.... Seriously in those screen shots you posted you were in what, 10 player game? Over 10 planets.... That's a huge amount of stuff going on. To put it into supreme commander terms, each planet is like 1 map- I'd like to see how well Sup Com handles running 5 maps simultaneously on 1 machine...
  19. planktum

    planktum Post Master General

    Messages:
    1,060
    Likes Received:
    510
    Yeah I get that I was stressing things to the max with the 7 planets, 8 commander, game. But then I toned things down a little (1 planet, 6 commanders) and even at the start of the match, with very few units (much less than the possible 400 maximum you can have in StarCraft 2) the GPU usage is less than 80%.

    Screenshot 2014-08-06 23.39.56.png

    And it keeps getting worse (and still less than 100 units)...
    Screenshot 2014-08-06 23.41.48.png
  20. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    Uh that 'wargame' video doesn't really look like anything comparable to PA. It looks like fixed camera view (likely 2D units) with units being very simple objects due to the tiny size (unless I'm missing something?). The 'complexity' of units in terms of function (e.g. how customisable they are, options you have) doesn't really have anything to do with rendering performance. I'd also point out that PA (like SupCom and TA before it) is one of the few games that uses a system called "simulated projectiles". That means every bullet and missile in PA is a physical model, and it's properties can be edited in minute detail including things like range, speed, acceleration, turn rates and so on.

Share This Page