Game performance

Discussion in 'Support!' started by rick104547, November 14, 2013.

  1. varrak

    varrak Official PA

    Messages:
    169
    Likes Received:
    1,237
    Right now our graphics performance is gated more on the CPU side than the GPU (on higher-end GPUs anyway). Unfortunately, some of the API patterns we've been using that work very well on NVidia hardware (and sometimes on Intel HW as well) are poor on AMD hardware due to differences in the drivers. I've been investigating why that is (especially since I have an AMD card at home). Whilst it has gotten a little better, there's definitely some room for improvement. I'm aware of most of the causes, and I have a plan in place. It's going to take a couple of weeks to get things to the point where I can start making a big impact though.

    I just wanted you guys to know that we're working on it... especially for those of us with AMD hardware. It'll get better, it's just not an easy fix... ;)
  2. paulusss

    paulusss Active Member

    Messages:
    271
    Likes Received:
    144
    Well there you have it ^^

    It seems it's bound to specific combination of driver + hardware.

    Several people, including me can conclude your computer is perfectly fine, drivers are updates, latest Direct X ect (not that it matters for PA) and if you run Star Citizen on Ultra your computer is fine ^^

    Patience is your only virtue :D
  3. doud

    doud Well-Known Member

    Messages:
    922
    Likes Received:
    568
    Ok there seem to be many issues with ATI cards. Now i have a very specific question :

    How many of you have allready tried to move a pool of let's say 300 same units (small bots for example) ?
    When doing so and zooming in Max, performance decreases dramatically : On my 3770K / gtx770 4G / 32gigs Ram and latest drivers, FPS drop down to 10FPS. It's the same whatever graphic settings are.

    I have latest drivers, but still get 10 FPS when moving 300 small kbots.
    Since i have a Zotac GFX card i have a monitoring tool which clearly shows that GPU is busy at 50% and GPU memory controller is only at 20% busy.

    So why on earth moving 300Kbots kill performance like that ? And where is the bottleneck ?

    Looks like CTRL+F11 does not generate the debug file for graphic performance. Any comment or feedback doing the same test is welcome.
  4. varrak

    varrak Official PA

    Messages:
    169
    Likes Received:
    1,237
    CTRL+F11 should drop the capture under c:\users\<your name>\appdata\local\Uber Entertainment\Planetary Annihilation\PerfLogs. Please do send me these - the more information I get, the more I can focus my efforts.

    Also, info on system specs would be handy. NVidia/AMD/other, CPU make, memory, etc.
    shootall likes this.
  5. doud

    doud Well-Known Member

    Messages:
    922
    Likes Received:
    568
    Thank you very much ! will upload asap with all possible details.
  6. rick104547

    rick104547 Member

    Messages:
    305
    Likes Received:
    17
    Sure its quite a bit faster but if you add in my 1ghz overclock (~36% boost) then they will have almost the same fps. No big differences that would result in my pc barely hitting 20 fps at most while others get good fps. If there is a difference based on cpu performace it should be a few fps at most. Not even close to getting over the 30 fps barrier.
  7. rick104547

    rick104547 Member

    Messages:
    305
    Likes Received:
    17
    Good to know this is a known problem with AMD cards.
  8. doud

    doud Well-Known Member

    Messages:
    922
    Likes Received:
    568

    So here are the files and a little bit of background to clarify the issue :
    - When Max zoomed in on a pool of 300 units, FPS drops to ~10/13 -

    System :
    cpu : intel 3770k
    ram : 32gigs
    gfx card : 770GTX 4gigs
    Drivers : allways latest since nvidia control panel informs me when there's a new update
    OS : Win 7 sp1 64bits ultimate edition
    OS & Game installed on Intel SSD 250g.

    Game background :
    - Settings : Uber, High, Medium it does not change anything
    - Playing against AI on a 1000 radius earth planet, having three 800 radius ice planets moving around main planet and two of them have a single 100 radius moon planet around them.
    - I'm not in early nor middle, but End game with ~1000 units (not accounting units from AI)
    - At this stage, i'm allready experiencing network lag but, reproducing the issue in replay mode (which should not impact since all data is cached)

    I'm zooming in (Max zoomed in level) on a pool of 300 units. They are not moving, just sometimes firing againt ennemy units. FPS drops from 20 down to 10.

    attached :
    - dxdiag.txt
    - a picture to clarify the issue
    - a set of perf debug files (the 2 first are in game - no replay - the third one is the exact same situation but in replay mode.

    PerfLog.rar.zip to ne renamed to PerfLog.rar (PerfLog.rar was not accepted)
    Thanks !

    Attached Files:

  9. liltbrockie

    liltbrockie Active Member

    Messages:
    314
    Likes Received:
    160

    I think most peoples systems grind to a halt in that kind of scenario.... I'm not sure what the bottleneck is in this end game situation with lots of units spread over multiple planets... I'm guessing it is the CPU but it would be nice to know so I know whether to bother upgrading my CPU or not!!! Uber????????????
  10. Quitch

    Quitch Post Master General

    Messages:
    5,850
    Likes Received:
    6,045
    I think all AMD users, myself included, are used to developers encountering these "Oh ****, it worked on the nVidia cards" issues :)
    bradaz85 likes this.
  11. doud

    doud Well-Known Member

    Messages:
    922
    Likes Received:
    568
    well varrack is currently reviewing and helping me with the performance issue i have raised.
    By the way, I have ensured that any kind of Vsync is not active in Nvidia control panel. I have executed different opengl benchmarking tools, and they are all able to make my 770 gpu load being at 100% and memory controller being at 42%.(opengl benchmarking tool : unigine 4.0). Where actually PA will hardly make the gpu load increase to more than 55%, and memory controller not more than 20%. However my FPS drop down to 10fps.

    Initially i thought this was related to something trying to lower my graphic card load. But having different benchmarking tools and battlefield 4 putting my gpu load at 100% with a constant framerate over 50FPS, shows evidence that it's not the case.

    I also thought about a possible cpu bottleneck, but monitoring the 8 physical threads of my 3770k tells me that there's only one physical thread which is loaded at 90%/95% max. It's not as in Supcom where you could see one core being at 100%.

    So cpu overload does not seem to be the root cause (does not seem). But there's a fact : PA will never take advantage of more than 50% of my gpu. And this leads to a silly situation : The more units i have, keeping allways at 50%, the lower FPS i have. This is really weird. Especially considering that using Uber settings or low settings does not change the numbers !

    Also when having 1000 units in game, try to zoom in(Max) on a pool of 300 agregated units. You should see the FPS dropping. I don't know why, especially because there's obviously less stuff to render.

    Also, playing in window mode (not full screen) does not change anything (I'm playing my native 1920x1080) resolution. But, drastically reducing the window size when i'm at 10FPS, makes FPS incrase to 20. Well that's fine but it's not playable anymore :).

    If many of you, playing on Nvidia cards could try to reproduce this and confirm whether or not they have the same issue, that would be cool (and also upload the little perf logfile generated with CTRL+F11)

    The good thing when investigating such issue is that you have to reproduce it and this enforces you to find the best strategy to prevent the AI from preventing you from expanding :)

    varrack, help us to solve these issues or be Annihilated :D (kidding of course)
  12. doud

    doud Well-Known Member

    Messages:
    922
    Likes Received:
    568
    If you want to clarify if your gpu is overloaded or not you can use gpu shark which provided exact same values as my zotac gpu monitor :
    http://www.geeks3d.com/wp-content/plugins/download-monitor/download.php?id=374
    Also in order to help, use CTRL+F11 when reproducing the issue and upload the file which is generated.
    You can also check your cpu usage with the resource monitor in windows 7.
  13. varrak

    varrak Official PA

    Messages:
    169
    Likes Received:
    1,237
    Yes, we're almost entirely CPU bound at this point; I'm in the processing of making some big changes that should help address a lot of those issues. In particular, when there's a ton of units in play performance will drop because right now we're not instancing (which is a technique where you draw all similar units with one single draw, which reduces API overhead... which reduces CPU load...). There's a bunch of other things need doing, as well, but we're making progress. Now most of the feature work is in place, I'm focusing heavily exclusively on performance.

    So... the upshot is, don't go buy a new CPU just yet. ;)
    Quitch likes this.
  14. doud

    doud Well-Known Member

    Messages:
    922
    Likes Received:
    568
    Thanks Man, good clarification, and also, thanks again for the time dedicated for private discussion about this issue :)
  15. FXelix

    FXelix Active Member

    Messages:
    368
    Likes Received:
    116
    please Keep working on the Performance ( you do Great work every Patch :) ) because i've Played a six Player Match an my Computer use 3,7 Gb from 4 Gb RAM :eek: almost Crashed :D
  16. Quitch

    Quitch Post Master General

    Messages:
    5,850
    Likes Received:
    6,045
    For me it's just frustrating that everything feels laggy, though selecting a unit being unreliable doesn't help.
  17. j3rd

    j3rd New Member

    Messages:
    1
    Likes Received:
    0
    Win 8.1 Pro x64
    i7-2600k @ 5.2Ghz w/ 16GB RAM
    2 - ASUS Matrix GTX580P SLI @ 1.1Ghz /ea w/ 1536MB dedicated & 2560MB shared
    - GeForce v331.93, 2560x1440

    During gameplay I notice cpu 0 running around 26% and cpu 3 pegged at 100% the other six are lower single digit usage--total cpu usage around 26%; Gpu 0 around 55% when zoomed in close and 35% when zoomed out, graphics memory usage is pegged at 1511MB on both cards, gpu 1 runs at 0% sli is enabled.
    Curiously though, when sitting at the title screen cpu 0-2 & 4-6 are under moderate load 60-70% ish and cpu 3 & 7 are under light load 25% ish gpu 0 is at 50% and gpu 1 is 12-15%.
    So something is using the 2nd gpu on the title screen but in-game it is clearly taking le-nap before firing ze-missiles! Also 50% gpu usage and double cpu usage at the title screen is suspicious given that in-game doesn't use that much power.
    Total system memory usage never exceeded 3.9GB even though the gpu's have significant shared memory available and are currently using what looks like max usage of dedicated.
    Even if the game is cpu centric there are still plenty of system resources available to utilize.

    Not a complaint given that the game is < v1.0; just throwing my cents into the mix.

    Wish List: Major disclaimer for crazy forum type peoples with tendencies to conclusion jump: just skip this last bit.
    I would like to see some better graphics(not necessarily referring to photo-realism, I understand artistic decisions and the like) full dx11 action (where appropriate), significantly enhanced performance, and better usage of available resources. I did build this system 2yrs and 3 weeks ago.

    P.S. In Internet Explorer 11 (with default settings) the reply box is missing with only the outline visible (no controls) and the captcha control is different (It has one "word" as a long number string and the other as a short number in a graphical type display) Where as chrome (latest version) just has 2 words and a working text control.
  18. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    If you want to have good performance you have to disable SLI. Currently it's will cause major FPS loss.
  19. maxpowerz

    maxpowerz Post Master General

    Messages:
    2,208
    Likes Received:
    885
    The way the game run's is there are many thread's that use different cores The UI uses's one the renderer for the game uses another when we get the server it'll use a core on it's own too probably, that's why you see a difference in the usage of the different Coherant UI threads on your systems cores when in menu's and in game :)

    The biggest one of these CPU usage wise is the rendering thread which draws the openGL game layer<-- not DirectX!!
    OpenGL allows the dev's to write Custom effect's that can be used on any OS not just windows, also the openGL "Shaders" are customzed hardware accelerated code so in the end they are just as effective as Directx 11 if not more as they can be customized beyond that of standard DX hardware accelerated techniques..
  20. maxpowerz

    maxpowerz Post Master General

    Messages:
    2,208
    Likes Received:
    885
    Also i would like to add, you probably wont see any Pretty effect's or extra beautification added to the game until it's closer to release or after release as there are more important thing's in development at this point in time, and graphical polishing is usually a last/Final pass implementation in game development.

Share This Page