SMiThaYe

Do We Really Need Microsoft Overseeing API and Should They Have Final Say?

3 posts in this topic

Do We Really Need Microsoft Overseeing API and Should They Have Final Say?

 

 

I know we have Mantle/OpenGL, I've quickly wrote this without checking or including detailed analysis over numerous topics to highlight the post as I believe things should be better. Feel free to go crazy over your own experiences and why things should change or stay as they are, right or wrong it doesn't matter :)

 

 

Is it obvious or sensible for AICs to have an API separate from any OS and control their own destiny than campaigning to the likes of MS who have vested interests in mobile devices instead and then insert their own subset features to gloss over the complaints?

 

Otherwise we are held at ransom and forced to upgrade each OS iteration that fails to deliver what the market needs as the fast-paced GPU sector is always running ahead while regular driver updates can only do so much partly because of this limitation.

 

The recent claims at GDC14 of up to 15 times additional performance compounds the issues for MS and the years of perceived neglect. Graphics in games hasn't improved substantially, XBox One and PS4 is far more efficient with the PS4 having 50% more 3D power than One on Pitcairn 7870 core. The right API would certainly help porting and Mantle doesn't at this moment (if we go OpenGL we already know that Nvidia is superior), utilise the latest in eg. GK110 or Hawaii cores to help reap way beyond 60fps at 1080P as it should or the latest multicore CPUs beyond a common 4-core i5 3570K. Adding HTT only adds to the framevariance experienced and is made worse by parked cores using energy efficiency states, only until we reached Windows 8 did it make use of AMD Bulldozer/Piledriver to help improve the sorry state it was in and drastically improve its fortune for budget gamers because the OS could evenly distribute the load as single-threaded performance was terrible. [ Btw I checked for recent reviews comparison using windows 8/8.1 and most were done from initial release when performance didn't show the improvements we have today. ]

 

Right now we should be way ahead. It's been possible to achieve this performance on existing hardware. It's took AMD to say enough is enough and go their own way in solving this issue and maybe Nvidia to complain directly to MS in stating what they rightly believe in their opinions that DirectX is dated and not fit for purpose. DX is far more than visuals and give us quality audio, Mantle gave superior TrueAudio with positional audio that it's unmatched, the realism with DX is rather poor. The closest to immersive audio for me was with a 2005 Creative X-Fi soundcard and 128 hardware accelerated channels but thanks to MS they stopped supporting 3D HAL because they didn't believe in support one company with OpenAL unless you kept gaming on XP. This could be the case for MS pulling support for DX as GPUs are also capable of producing high quality audio regardless of OS but never utilise the full the potential. Sure it's not audiophile grade but that's another segment of the market being fulfilled and wouldn't overlap or be losing out in any meaningful way.

 

There's so much potential for Nvidia/AMD, being stuck in a rut has meant there being so much lost time to make up for.

0

Share this post


Link to post
Share on other sites

1. Not sensible to tie an API to an OS.  This is why given AMD brings Mantle to Linux and possibly OSX, it will be the most desired API for any developers that also develop for consoles.
2. Mantle does help porting.  Mantle code is based off of the PS4 code.  I can confirm that the PS4 can run Mantle.
3. AMD offered something similar to what the PS4 has to Microsoft, Microsoft choose not to take it.  Mantle probably can run on the Xbox One (Although, it probably cuts the ESRAM out, which makes it really slow).
4. APIs that properly support multiple cores will solve issues, Mantle correctly supports multiple cores, DirectX does not, and OpenGL might depending on what extensions are being used.
5. nice to have dedicated hardware coming back for functions (aka trueaudio)

0

Share this post


Link to post
Share on other sites

Basically there are three common graphic APIs for the near future: DirectX, Mantle and OpenGL.

 

Starting with DirectX, Microsoft definitely tries to deliver the best performance and the best visual effects. In the past they did even achieve these goals, since OpenGL was always slightly behind with new features (except for tesselation, I think) and DX performes ~5% better than OpenGL. For NV cards this difference in performance is smaller than for AMD GPUs, though. All in all, Microsoft spends some effort to deliver the 'best' API and therefore limits the support to its own OS. You want the best performance? Buy MS Windows! Who can blame them for that?

Now Mantle is an interesting approach. First the bad things: It is probably an AMD exclusive API. Even if GPUs of other vendors may support Mantle, it will never perform as good as with AMD products. Currently Mantle is optimized for the GCN architecture and I guess AMD will optimize it only for their own future architectures. You want the best performance? Buy AMD Radeon! Who can blame them for that?

 

There are no limitations for OpenGL in software or hardware. It runs under any common OS on any GPU. The development of the API is strongly supported by Nvidia so it does not even lack any features. But this great compatibility has its costs. First, Microsoft is faster to add new features to DirectX, so OpenGL lags behind most of the time. Second, the performance is slightly worse. Personally I think compatibility is very important, especially for an API, but when it comes to serious gaming you want to squeeze out every bit of performance you can get. This is where OpenGL looses.

 

Let's get back to Mantle again. Why did AMD develop their new API? Because the other current APIs are limited by suboptimal CPU utilization and AMD wanted to get rid of this particular problem. That is basically what AMD wanted to achieve: optimize CPU utilization for draw calls. So they developed Mantle to show the community how huge the problem is. In my opinion that is all what Mantle does and what it is intended to be for the long term: a showcase. Even half a year after the release of Mantle it still looks like some open Beta to me. Nevertheless Microsoft and Nvidia have reacted and started to optimize DirectX and OpenGL. Maybe it will take another year, but then all APIs will have solved these problems and hopefully even without hardware dependencies.

 

So in this case, Microsoft is NOT the overseer and does not have any say in this. They can only react and keep up with the others.

 

Beside of graphics, you mentioned audio and there is GPU computation as well (DirectCompute / OpenCL / Cuda). With all these APIs it is quite the same. All have their pros and cons. Personally I would like to see more OpenAL support (or products that take full advantage of OpenAL) and a GPGPU API that runs under any OS and performs similar on any GPU. But every company has their own children and will never abandon them for others.

Who can blame them for that?

0

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now