OpenGL Successor

Discussion in 'Planetary Annihilation General Discussion' started by blightedmythos, February 6, 2015.

  1. theseeker2

    theseeker2 Well-Known Member

    Messages:
    1,613
    Likes Received:
    469
    DX12 might be a vast improvement.
  2. crizmess

    crizmess Well-Known Member

    Messages:
    434
    Likes Received:
    317
    It sounds a bit stupid, but maybe AMD is a bit more strict on that non-uniform control flow requirement which is attached to all dFd? instructions?
  3. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    That is a possibility.
  4. termathor

    termathor New Member

    Messages:
    11
    Likes Received:
    12
    Yes, and, contrary to Apple, which, as has been written already in this thread, don't give a toss about gaming, Valve does. That's why they're trying to plug the major gap in their strategy: OpenGL, which is the 3D lib for unixes (I'm putting Linux, SteamOS and OS X in the "unix" category).

    Whether this is too late or not (as it requires major effort and support from HW vendors) is anything to go by ...
    Last edited: February 6, 2015
  5. termathor

    termathor New Member

    Messages:
    11
    Likes Received:
    12
    To be honest, probably a mix of both Windows and Office, Xbox being a separate line. But surely it is changing, see below.

    I agree with your points, the only thing is, MS hasn't yet got their latest OS as you describe, and they're just doing what you said they should do:
    They basically got rid of the Windows requirement for Office, and now need to have Windows get money from its own, not from a requirement for Office. One way (the only way ?) would be the gaming market, where DX is still a key API.

    This explains, to me, the Valve move on glNext: the fight is there. However, they're going rookie-style after a completely entranched citadel, at end-game o_O
  6. termathor

    termathor New Member

    Messages:
    11
    Likes Received:
    12
    Sure, even if I also do believe Linux/steamOS is the system of the future, it still has to happen. Maybe at next GDC in early march ...
    What is unquestionable is, 10 years before, every single video game (except non-MS consoles) was DX-based, therefore tied up to Windows. This is no longer the case today, as around 30-40% of video games, I think, are going out of DX (OS X/Linux). That's more or less what can be seen in Steam.

    MS has lost market share in there, big time, and that was not because of DX, which seems bettern than GL but because of the various Windows ****-ups (Vista, 8, even 7 is only a new UI for XP).
    cdrkf likes this.
  7. termathor

    termathor New Member

    Messages:
    11
    Likes Received:
    12
    Quoting you a couple of posts above, here: "I'll believe it when it happens :)".

    While MS has invested a lot more in DX, for lock-in reasons, than anyone in the OpenGL consortium has, things may change if Valve is getting (correctly) involved.
    I'll bet on this, myself, but nothing has happened yet ...
  8. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    DirectX 11 vs OpenGL 4.4 w/ extensions, OpenGL can be much faster (close to what DirectX 12 and Mantle are capable of), but it takes more work and knowledge to get that performance and you likely have to do a lot unique code for different devices.

    Technically what we're doing in the PA engine is considered a DirectX 9 class deferred renderer, but there's no way we could have gotten the performance we have with DirectX 9, not even sure if we could of with DirectX 10.1 though my knowledge of DirectX isn't up to date, it may have required DirectX 11 to get equivalent perf.
  9. thetrophysystem

    thetrophysystem Post Master General

    Messages:
    7,050
    Likes Received:
    2,874
    How difficult would it be to rewrite the game to use new API's? You can base it off how difficult it would be to translate the game for DirectX for instance. I know some games can use OpenGL OR DirectX, how hard was it for them to design it to use both?

    I am asking, because Playstation Emulators have people who volunteered their time to make plugins that support opengl or directx or nvidia or amd... Is it within possibility for SXX to design a DirectX version of PA?
    Remy561 likes this.
  10. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    There's a few ways to handle games that run in both OpenGL and DirectX. The most straight forward way is to just write the engine twice! Really no one does this, not anymore. Instead the game has a renderer that can issue commands to either DirectX and OpenGL with as much overlap as possible in terms of bundling data up. But ultimately it comes down to somewhere someone has to write the rendering systems that actually call the API functions twice. Usually there's a layer of "do this for platform x, do this for platform y" in the content as well.

    Lastly there's the shaders. For a long time people used conversion tools, and many still do. This works pretty well for DirectX 9 and OpenGL 3, but after that they diverge pretty significantly and many companies have simply gone back to writing all of the shaders twice. Some of Unity 3d's secret sauce is it can take their custom shader language (based on CG, which is based on HLSL) and convert that into everything, but even then if you're doing really complex work they have utilities to just write out the shader for the different APIs.

    Emulators are another story. These work by being essentially what these APIs already do. The calls the original game made to what would of been that console's graphics APIs are translated into the closest equivalent for OpenGL or DirectX. This is part of why you need such a beefy computer to run games that ran on 10 year old consoles.

    So, technically people can write OpenGL to DirectX wrappers (WebGL in Chrome is implemented like that) but for something like PA it is unlikely to be performant.
  11. xanoxis

    xanoxis Active Member

    Messages:
    459
    Likes Received:
    238
    @bgolus , Will we ever go up in version if that will be needed for better performance? If not, can you do magic forever and increase it with whatever you have now? Reducing overhead, multicore performance, etc.
  12. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    There's things we could do to increase graphics performance going forward, but we're currently CPU limited on both the server and client, not GPU, so that's where all the effort has been.
    DeathByDenim and Remy561 like this.
  13. theseeker2

    theseeker2 Well-Known Member

    Messages:
    1,613
    Likes Received:
    469
    multithreading confirmed
  14. blightedmythos

    blightedmythos Active Member

    Messages:
    405
    Likes Received:
    202
    I agree it runs pretty well but I don't know how well PA really is optimized. My cpu hovers around 60% usage while my gpu hovers around 60-70%. Really strange behavior as usually one or the other is the bottleneck, not none.

    I also get a lot of microsuttering when zooming in and out or around planets. I checked my usage while doing this and they don't go up or down. So it's not gpu or cpu related. I even looked at my ram and vram but they aren't even close to being fully utilized.

    And then there is the lack of SLI support which really sucks.
  15. blightedmythos

    blightedmythos Active Member

    Messages:
    405
    Likes Received:
    202
    No multi GPU confirmed :p
  16. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    It's probably CPU limit.... PA uses 1 main thread to dispatch draw calls, with about 3 more to support. Due to the way windows shows threads it's not obvious (it bounces them around cores making it look like all are in use when they're not), however you'll be bumping up against your single core performance for the main thread, which is why your gpu isn't being fully used. This is a limitation of using Open GL 3.1 from what I've heard (it would be the same in DX11 as well btw, most games can't use more than 4 threads well).
  17. radongog

    radongog Well-Known Member

    Messages:
    638
    Likes Received:
    295
    So: If we DO fund a new project (if you even return to Kickstarter for future projects, which is what I do hope!) you could enhance your engine and update it to the new OpenGL?
    And would you THEN consider upgrading PA afterwards? :D
  18. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    I can't really answer that question. Upgrading the engine for a future project is one thing, and some portion of that work would overlap with what's required to upgrade PA, but by the time we do something like that there's no guarantee the engine would actually look anything like it did for PA. The option for upgrading to the next OpenGL, or even DirectX 12, is still years away from making sense for a studio our size. EA can make choices like that, and we can ride their coat tails, but we have to follow where our fans or most likely players are.

    It's worth noting the choice of supporting something like DirectX 12 or the next OpenGL would likely be be at the expense of not supporting older APIs at all, so keep that in mind. Again, EA can afford to have full engine teams devoted to the work of supporting multiple options, we cannot.
    wondible, cdrkf, radongog and 3 others like this.
  19. notgunked

    notgunked Active Member

    Messages:
    403
    Likes Received:
    144
    mnc 2 on consoles confirmed.
    websterx01 likes this.
  20. xanoxis

    xanoxis Active Member

    Messages:
    459
    Likes Received:
    238
    I would rather make upgrade and forget about older API. I dont want same situation like in TF2 where it still supports DX8, but overall engine is clunky and slow, and after years fps is worse and worse.

    I know some small percentage is still on older specs, but even me, with old hd 5770 can support latest opengl (probably not the new mantlelike one, but I have time to upgrade). That GPU is oooold. With time lets just.. move on.

    If Uber will ever upgrade engine with new API, they can just make annoucment months before that and give time for people to prepare.

Share This Page