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

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

  1. liltbrockie

    liltbrockie Active Member

    Messages:
    314
    Likes Received:
    160
  2. chazz00999

    chazz00999 Member

    Messages:
    53
    Likes Received:
    21
    Interesting. I just learnt something new!
  3. sycspysycspy

    sycspysycspy Active Member

    Messages:
    268
    Likes Received:
    80
    Graphic somehow is only 3/10 of the game about, it's a very CPU intense game rather a GPU intense game, in my opinion. So better path finding better AI targeting system etc would be much more important than how to make opengl run faster. :)
  4. ace63

    ace63 Post Master General

    Messages:
    1,067
    Likes Received:
    826
    Pathfinding and AI has nothing to do with the GPU since it is calculated on the server.
  5. FXelix

    FXelix Active Member

    Messages:
    368
    Likes Received:
    116
    Does PA support openGL?
    This would be so nice.
  6. liltbrockie

    liltbrockie Active Member

    Messages:
    314
    Likes Received:
    160

    lol yes it is using openGL
  7. geopirate

    geopirate New Member

    Messages:
    10
    Likes Received:
    2
    FYI they also mention CPU optimizations in this discussion, it's not only for GPU.
  8. nlaush

    nlaush Active Member

    Messages:
    195
    Likes Received:
    173
    Is it creeping anyone else out that the big three are working together this well? I feel like if I look out the window right now, pigs might be flying . . .
  9. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    As unintuitive as it may seem that talk is almost entirely about CPU performance improvements, or rather CPU to GPU driver communication performance bottleneck mitigation. It's also already a lot of what our recent optimization work has been about, like GPU particles, light instancing, and feature (trees, rocks, etc.) instancing. It's all about how to more efficiently get data from the CPU to the GPU and get out of the way so it can spend it's time rendering and not waiting for more instructions on what to do next, as well as group things in ways to allow the GPU on how to render what it is rendering more efficiently.

    The specific techniques they're discussing in that paper are about are for OpenGL 4.2 or extensions to OpenGL 3.3. We're targeting OpenGL 3.2 (and purposefully avoiding having a split rendering pipeline as much as possible), so these features aren't available to us. That said with some of the optimizations varrak has made lately we've seen >100x improvements in some systems, not just 7x-15x, though that doesn't translate into 100x faster rendering, or even 7x-15x faster rendering.


    If a frame takes 50ms to render, and you optimize something that was taking 5 of those 50 to be 100 times faster, it's still 45ms.
    A 50ms frame time would be 20 fps, 45ms would be 22.2fps, which really just means it's 20fps still.
    Last edited: March 21, 2014
    EdWood, shootall, lokiCML and 5 others like this.
  10. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    OpenGL is governed by the Khronos Group consortium, who's list of members you can see here:
    http://www.khronos.org/about
    shootall, drz1 and tatsujb like this.
  11. maxpowerz

    maxpowerz Post Master General

    Messages:
    2,208
    Likes Received:
    885
    AHHHHH
    EA are going to ruin OpenGL ... NOOOOOOOOOO!!!!!!!!!!

    Edit..
    I thought EA had their own in house GL (EAGL)
  12. pownie

    pownie Active Member

    Messages:
    80
    Likes Received:
    131
    Not having the first clue about which OpenGL version relates to what kind of plattform/device support, I'd like to ask why you are targeting 3.2 specifically?
  13. spartan234

    spartan234 New Member

    Messages:
    9
    Likes Received:
    1
    I'm pretty sure it's mostly because of OSX's OpenGL support.
  14. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
    OpenGL 3.2 has a wider support across hardware and OS versions. Most of the time the hardware that supports OpenGL 3.2 also supports OpenGL 3.3, but there are some strange outliers that do not. OpenGL 3.2 got us the features we thought would be the bare minimum to be able to get the performance up to an acceptable level, so that's what we chose.

    There are features of OpenGL that are considered "core" that the given drivers and hardware must support, and "extensions" that may or may not be supported. Extensions are frequently implementations of features that exist or will exist in future versions of OpenGL or are places hardware diverge from each other and there are unique implementations that do not conform to the core spec but may be more efficient for that hardware. Many of the features that are really interesting for OpenGL 3.3 are really OpenGL 4.0 features implemented as extensions that may or may not be available. Bindless textures, as mentioned in that talk, are available an extension for OpenGL 3.3+ on NVidia hardware and OpenGL 2.0+ on AMD, but only starting with the GeForce 600 series cards and Radeon R7000 series, so basically only hardware from the last 2 years!

    Also, yes, OS X. :(
  15. liltbrockie

    liltbrockie Active Member

    Messages:
    314
    Likes Received:
    160
    This may seem like a stupid question so forgive me but why are you not developing with OpenGL 4.4? Which seems to be the latest version?
  16. maxpowerz

    maxpowerz Post Master General

    Messages:
    2,208
    Likes Received:
    885
    lol

    That
  17. liltbrockie

    liltbrockie Active Member

    Messages:
    314
    Likes Received:
    160
    Ok.. no need to laugh :-( I personally think screw the old crew.. develop for cutting edge ie: 4.4... if you are behind.. tough ****... buy a better PC
    Twinstar, nlaush and maxpowerz like this.
  18. maxpowerz

    maxpowerz Post Master General

    Messages:
    2,208
    Likes Received:
    885
    i only had a little giggle coz the answer was right above your post ..
    liltbrockie likes this.
  19. liltbrockie

    liltbrockie Active Member

    Messages:
    314
    Likes Received:
    160
    Fair enough... i totally missed that.
  20. tylerseacrest

    tylerseacrest Member

    Messages:
    56
    Likes Received:
    19
    The problem lies in that 3.2 is not the "old crew." In particular the latest versions of MAC only supports openGL 3.2 and I don't think AMD has implemented openGL 4.4 yet on any platform. Furthermore, several Linux people are using AMD open source drivers which only supports 3.2 so far.

    This will change as more people create cross platform games. OpenGL ES 3.x is coming out soon and will support openGL 4.x style code on mobile platforms. Along with Valves continued push for Linux gaming and Unreal 4 supporting full cross platform coding, we should see a serious push for more advanced openGL in the future.

    TL;DR: If your going cross platform, openGL 3.2 is the highest version supported at this time.

Share This Page