Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

The state of graphics APIs

QuizzicalQuizzical Member LegendaryPosts: 25,531

The Khronos Group has now released OpenGL 4.5, the newest graphics API to hit the market.  As compared to 4.4, it's just minor tinkering around the edges.

But perhaps a bigger deal is that they announced that they're working on a new generation of OpenGL that will be a clean break with previous versions.  There's much less disagreement today among GPU vendors on what a GPU architecture ought to do than there was 15 years ago, which can allow a common API that allows somewhat lower level access to hardware.  Then again, they tried to break with the past in 2007 as well, and that was a complete fiasco.

OpenGL ES 3.1 released earlier this year, and was also just minor tinkering around the edges.  But the bigger deal there is Google's Android Extension Pack:  geometry shaders, tessellation, and generally everything that you need to bring graphics into the modern era without the decades of accumulated cruft in OpenGL proper.  There was some dispute about what API the Tegra K1 would use, and I think this is our answer.

Of late, the big push has been reducing CPU overhead in rendering.  I made a post about it here, which I don't care to rehash:

http://www.mmorpg.com/discussion2.cfm/thread/407382/How-the-new-graphics-APIs-hope-to-greatly-reduce-CPU-overhead.html

Mantle has the new stuff, but is AMD-only.  DirectX 12 will probably have it, but knowing Microsoft, it will probably also be Windows 9 only.  Or maybe Microsoft will come up with a different name, such as Bob, since Windows 8 went over so well.

OpenGL already has the new stuff... kind of.  As compared to OpenGL 4.0, there are four extensions needed to do this in OpenGL.  Two of them (ARB_shader_storage_buffer_object and ARB_multi_draw_indirect) were added in OpenGL 4.3.  But the other two (ARB_sparse_texture and ARB_bindless_texture) are still extensions.  They became ARB extensions (basically, officially blessed by the Khronos Group but not yet added to the core profile) in OpenGL 4.4, but they're still extensions.

Worse, they're probably going to remain extensions throughout the OpenGL 4.x era.  AMD won't support ARB_bindless_texture on Radeon HD 5000 or 6000 series cards, and Nvidia won't support it on GeForce 400 or 500 series cards.  Lest you think this is just another case of Nvidia declining to support in drivers something that works in hardware perfectly well (not that they would ever do such a thing... unless PhysX or SLI are involved), they do support ARB_sparse_texture on Fermi cards.

Adoption of the new graphics API tricks for reducing CPU overhead of video drivers should lead to single-threaded CPU performance becoming irrelevant to gaming:  four slower cores would be just as good as two faster cores that are twice as fast on a per-core basis.  And it probably will, just as soon as the industry gets around to adopting it about a decade or so from now.

One other note is that Intel has announced that Broadwell graphics will support OpenGL 4.3.  That will put them "only" about two years behind AMD and Nvidia on API support.  Which, for Intel, is progress of sorts.

Comments

  • LoktofeitLoktofeit Member RarePosts: 14,247
    Originally posted by Quizzical

     

    Mantle has the new stuff, but is AMD-only.  DirectX 12 will probably have it, but knowing Microsoft, it will probably also be Windows 9 only.  Or maybe Microsoft will come up with a different name, such as Bob, since Windows 8 went over so well.

     

    I repaired computers in the 90's (repair tech for Tandy Corp - yes... yes... laugh til you cry. let it aaaaalllll out), and we would occasionally get a Bob-infested mess we had to deal with. You have opened old wounds, sir. image

    As to the meat of your post, would that mean the cards would also run cooler?

    There isn't a "right" or "wrong" way to play, if you want to use a screwdriver to put nails into wood, have at it, simply don't complain when the guy next to you with the hammer is doing it much better and easier. - Allein
    "Graphics are often supplied by Engines that (some) MMORPG's are built in" - Spuffyre

  • QuizzicalQuizzical Member LegendaryPosts: 25,531
    Originally posted by Loktofeit
    Originally posted by Quizzical

     

    Mantle has the new stuff, but is AMD-only.  DirectX 12 will probably have it, but knowing Microsoft, it will probably also be Windows 9 only.  Or maybe Microsoft will come up with a different name, such as Bob, since Windows 8 went over so well.

     

    I repaired computers in the 90's (repair tech for Tandy Corp - yes... yes... laugh til you cry. let it aaaaalllll out), and we would occasionally get a Bob-infested mess we had to deal with. You have opened old wounds, sir. image

    As to the meat of your post, would that mean the cards would also run cooler?

    No, and in fact, it could be the other way around.  Reduce the CPU load to do something and if you previously had a CPU bottleneck, frame rates go up.  The video card still has to do the same work per frame, and at a higher frame rate, the card puts out more heat.

  • thinktank001thinktank001 Member UncommonPosts: 2,144
    With APIs getting lower access to the hardware and AMDs push of mantle does this finally mean MMORPGs can gradually move towards becoming more like an operating system?        
  • RidelynnRidelynn Member EpicPosts: 7,383


    Originally posted by thinktank001
    With APIs getting lower access to the hardware and AMDs push of mantle does this finally mean MMORPGs can gradually move towards becoming more like an operating system?        

    Graphic APIs aren't what has stopped MMOs from being more like an Operating System.

    The fact that it adds a huge layer of complexity to an already complex system, when you have systems in place that already handle that for you (Windows, Linux, OS X, console OSes, etc) is why it hasn't really been done.

    Why re-invent the wheel of bootstrapping a loader, low level file access, low level network access, etc... when you don't have to?

    High level graphics APIs are what gave us the bulk of 3D-based MMOs in the first place. It made it easier to program polygons and textures across a multitide of computing systems, but at a cost of some inefficiency.

    Low level graphic APIs just give programmers more capability and better efficiency back, but on the flip side it takes a lot more programming to get at that, so don't expect every developer, publisher, and game to take immediate advantage of it right away.

  • QuizzicalQuizzical Member LegendaryPosts: 25,531
    Originally posted by thinktank001
    With APIs getting lower access to the hardware and AMDs push of mantle does this finally mean MMORPGs can gradually move towards becoming more like an operating system?        

    Why would you want to?  Writing games by making use of low level access to hardware rather than APIs to abstract that away doesn't enable any new game mechanics, but will massively bloat the cost of development and greatly restrict which programmers are even capable of making it work.

Sign In or Register to comment.