Home Technical Talk

OpenGL's 15x development

StephenVyas
polycounter lvl 18
Offline / Send Message
StephenVyas polycounter lvl 18
Back in March, the guys from Nvidia, AMD & Intel got together to explain the potential performance gains for OpenGL. A bold statement claiming 15x the performance gains by reducing the driver overhead.

Here's the Article from the 2014 GDC ->
http://blogs.nvidia.com/blog/2014/03/20/opengl-gdc2014/

Anyone in the loop here know if there have been any recent updates or news on this front?
I'm curious if this reduction in Driver overhead would help to increase Maya's viewport performance or .. is this soley related to the overhead seen while playing games?

Replies

  • jeffdr
    Offline / Send Message
    jeffdr polycounter lvl 11
    With this low overhead API/driver stuff, it's important to understand that the main target is CPU cycles. So when someone says "it's 15x faster" that's misleading to non-programmers, because what they really mean is "the time your CPU is spending buffering GL calls is now reduced 15-fold". Which is a big deal but not as much to the consumer as to the programmer. It will only result in a frame rate increase if the CPU is what was holding things back, and it certainly won't be a 15x frame rate increase at that.

    Some background:

    D3D and GL have long had a lot of layers of logic and "hand holding" between the application programmer and the GPU its self. With modern usage patterns, this is fairly wasteful, and is especially problematic for games which are already making heavy use of the CPU cores and need every millisecond. Low driver overhead seeks to ameliorate this, and can also sometimes benefit the GPU directly by allowing the application programmer more leeway to buffer commands differently without waiting on certain operations to finish.

    This is what AMD's mantle was all about, and various console APIs have had similar benefits in the past (notably on the ps3). Apple is doing the same thing with Metal for iOS, Microsoft is doing it for the upcoming D3D12, and the OpenGL group is (finally) talking about a full redesign which can include some of this stuff. The extensions mentioned in the presentation you link allow some sort of tinkering with it today, but like all GL extensions and new features they are not well or widely supported yet (if they ever will be).
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 20
    As jeff said it targets CPU bottlenecks. One aspect is also that those are techniques that programmers have to apply to their code. So it's not a pure driver optimization that makes anything fast in the driver. The talk as well as others make suggestions to programmers how to organize their render engines to avoid some CPU bottlenecks. This reorganization is not always trivial, especially for "grown" DCC apps that have been around for a long time and have a lot of code dependencies internally.

    Though as jeff mentioned the future should be brighter, allowing leveraging the hardware even better, as people move on to those new apis, or can live with NVIDIA OpenGL ;) (however the api alone doesn't fix it, it's really the architectural change below to leverage those principals).

    If you are interested in the topic here is some more info on techniques programmers could leverage for very fast rendering: http://on-demand.gputechconf.com/siggraph/2014/presentation/SG4117-OpenGL-Scene-Rendering-Techniques.pdf
  • StephenVyas
    Offline / Send Message
    StephenVyas polycounter lvl 18
    ahh, okay that makes sense! Thanks for filling me in guys
Sign In or Register to comment.