NVIDIA, AMD, Intel Explain How OpenGL Can Unlock 15x Performance Gains

Discussion in 'Planetary Annihilation General Discussion' started by liltbrockie, March 21, 2014.

  1. FXelix

    FXelix Active Member

    Messages:
    368
    Likes Received:
    116
    Hmm even if they cant get this Great Performance with OpenGL support then, they / you uber still want to hit the technical goal of 1 million units in a game? I think this is a good number, performance will be great hopefully :rolleyes:...
  2. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    It's really wrong question in topic about renderer. When you're not actually see all those units they don't affect rendering performance and I doubt @neutrino ever meant that you'll able to see all units in same time.
    vyolin and FXelix like this.
  3. nightbasilisk

    nightbasilisk Active Member

    Messages:
    194
    Likes Received:
    103
    I believe he's alluding to the simulation handling 1mil (ie. if they can get there with the current overheads from rendering), though yeah it's kind of a separate problem. I kind of imagine the server side will crumble long before the client side does though (with everyone having multicore processors these days; albeit I don't believe the game actually takes advantage of more then one core at the moment).
  4. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    Both server and client use advantage of multiple cores when generate planets, but yeah after alpha started and @neutino said about "one server = one core" nobody of developers said anything new on how server-side works at moment.

    Anyway last time there was actual discussion about simulation performance (don't have link unfortunately) there was notice that multi-planet gameplay give PA great advantage here. Real multi threading of some tasks in simulation is hard and expensive to implement it's much easier to run simulation of different planets across multiple cores.
  5. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    Rendering 1 million units isn't really the goal, but rather games with 1 million units in them. At 1920x1080 resolution there's only just over 2 million pixels, and it'd be a bit silly to render a million units when they're on average only two pixels wide. At that distance they'd be strategic icons anyways if they're anything.

    And yes, trees, as well as smaller rocks, and metal bits on metal planets, and metal spots, etc. all turn in to 6 polys when you zoom out far enough. Here's an image showing some trees roughly at the point they switch from their normal models to the generated LOD models.
    [​IMG]

    We've discussed the possibility of rendering units in the same fashion, but it's a bit more complex to handle than a tree or a rock. Trees are single "things" that when they rotate the entire object rotates, completely rigid. A unit, like a tank, it can move it's main body in one way, the turret in another, and the barrel in yet another. Do we render them at just a static pose, or do we render out the body and turret & barrel as two separate parts so they can turn, or one per each moving part? It's not that bad for a tank, but for a more complex unit like a bot with a lot more moving parts?

    It might be just the simplest version with units rendered in their base idle pose is enough, but is there a reason to render them in the first place? On the planet you're focused on they'll be displayed as strategic icons already, so why bother? On planets not your focus should we render units at all?
    Last edited: March 24, 2014
    cwarner7264 and Gorbles like this.
  6. stuart98

    stuart98 Post Master General

    Messages:
    6,009
    Likes Received:
    3,888
    Render them in some form. It certainly looks epic when you have a teleporter on two planets and can see both simultaneously in freecam. You see the bots enter the one closest to you, and on a distant planet you can see the dark grey flood forth from their teleporter in a really sweet style. Don't compromise that.
  7. Gorbles

    Gorbles Post Master General

    Messages:
    1,832
    Likes Received:
    1,421
    Brilliant involvement from Uber in this thread. I was initially posting to say "man comment trains on articles like this get retarded fast" (so much MS hate), but damn if I didn't appreciate some of the work Uber have done on PA in the process :)

    EDIT: my vote is render them!
  8. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    I'm one of guys who use range dependent "show terrestrial" with "orbibal shell" enabled options so when I go back to orbital layer there is no icons for terrestrial.

    From my point of view "icon wars" it's worse that happen with SupCom. :(

    I sure there is reason to render stuff on different planets in some form.

    When you see moon (or main planet) in the background and there is stuff blowing up it's actually looks epic. :rolleyes:
    ace63 likes this.
  9. ace63

    ace63 Post Master General

    Messages:
    1,067
    Likes Received:
    826
    I actually sometimes go a step further and completely disable strategic icons when playing vs the AI just to appreciate the beauty of the game. It is so much more nice without strategic icons - they were the main reason I never really played SupCom.
    So I think we need two things:
    - Units should always be rendered, also on different planets that are not in focus but visible (even if handled with an LOD system)
    - We should be able to specify a height at which strategic icons appear (they appear way too early on small planets) and how transparent they are

    I want to play the game with a few strategic icons as possible.
    SXX likes this.
  10. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    Totally support this. ;)

    If some players want to play icons war then it's will be much better if they'll get "thin client" option for game. I doubt that people who prefer icon wars for better performance actually want hundreds megabytes of surface textures or some rocks models. :(
  11. nightbasilisk

    nightbasilisk Active Member

    Messages:
    194
    Likes Received:
    103
    I actually play with strategic icons at a minimum. I forget if they're actually off or set to really high zoom. Frankly it's easier to see units that way and judge the size of a force. And of course it's nice to actually see the graphics as they really are.

    That said I do play fairly close to the ground and am the type that would also appreciate some different camera positions as well; especially for some of the higher altitude zoom cameras which currently seem to just go towards a boring top-down view.
  12. varrak

    varrak Official PA

    Messages:
    169
    Likes Received:
    1,237
    I know I'm a bit late to the party - but I actually went to a talk at Valve's Steam Developer's Day that covered most of this. It was an excellent talk, and gave me some good pointers on things we can do to help speed up the CPU performance of our game significantly. John MacDonald (one of the co-presenters) is the NVidia guy who's given us such stellar support in the past.

    A lot of the techniques outlined here are more modern API features; so they'll only be supported on the latest and greatest video cards. Once we have our baseline performance at a good place (it's getting closer...) I'll start looking at creating custom code-paths to support OpenGL 4.3 features.

    As an aside - it always seems slightly ironic to me that it's only the newer, faster video cards that support APIs that help them run... faster. Oh well, such is progress, I guess.
    tollman, FSN1977, FXelix and 2 others like this.
  13. overwatch141

    overwatch141 Active Member

    Messages:
    164
    Likes Received:
    66
    When will we be able to actually play million unit matches? (rhetorical question, the answer is "soon")
    How about: will we be able to play in million unit matches at release?

    How soon after release will you start adding features from the newer versions of OpenGL? (immediately? half a year? a year? 2 years?)
  14. nightbasilisk

    nightbasilisk Active Member

    Messages:
    194
    Likes Received:
    103
    How about, is there even a point to playing a milion unit matches?

    Sure it might be fun the first time but that's probably it.
  15. FSN1977

    FSN1977 Active Member

    Messages:
    657
    Likes Received:
    232
    Dont think a million units will ever happen, its more like 75000-100000 units.
  16. FXelix

    FXelix Active Member

    Messages:
    368
    Likes Received:
    116
    That was a technical goal...
  17. FSN1977

    FSN1977 Active Member

    Messages:
    657
    Likes Received:
    232
    Yes I know, but there seem to be some discussion about playing with a million units.
  18. varrak

    varrak Official PA

    Messages:
    169
    Likes Received:
    1,237
    Not a stupid question at all. I actually have plans to add codepaths to the engine to support 4.4 features. But before we can do that, we need to get decent performance on everything first. You can be sure I'll post about it once I've started playing with that stuff... :)
    tollman, liltbrockie and nlaush like this.
  19. cptconundrum

    cptconundrum Post Master General

    Messages:
    4,186
    Likes Received:
    4,900
    I really don't see it ever getting anywhere close to that. I think we could reach games with tens of thousands, but hundreds of thousands?
  20. SXX

    SXX Post Master General

    Messages:
    6,896
    Likes Received:
    1,812
    Why no? In theory servers can have up to 4 sockets and each CPU might have up to 15 low-end cores. If each core can efficiently handle simulation of planet with 5,000 units then we can easily see 200,000 units in one game. :rolleyes:

    In reality server on EC2 with 32vCPU and 60GB RAM will cost like $2.4/hour, but you can only pay for 4-5 hours. :D
    So it's totally possible and CPU time goes cheaper over time so...

    In reality now there is number of problems that slow down simulation a lot and I'm made topic about them:
    https://forums.uberent.com/threads/just-notice-about-physics-in-simulation-performance.58214/
    Still if Uber can fix them performance of games will be improved a lot.

Share This Page