The more Linux gains popularity thanks to Valve & Steam the more we are seeing developers claim OpenGL is broken/hard to use and so on. This time it's Joshua Barczak the lead graphics engineer for Firaxis Games (think Civilization!). He was also a Senior Software Engineer at AMD before joining Firaxis, so he has a good history in this.
These are his thoughts though and not that of Firaxis itself as this is his personal blog.
It's hard to knock these claims when they are starting to come from so top developers who work on AAA titles and I hope the Khronos Group is listening to all this feedback on changes they need to do for the future of OpenGL. Joshua lays out his claims in quite easy to use language and it's actually quite easy to agree with him.
I won't go on quoting parts of his blog post as it's quite long and let's face it 99% of us won't understand a lot of it.
His points are:
#1 - OpenGL is highly fragmented across platforms. “Write-once run anywhere” is a myth. Mobile GL, Linux GL, Windows GL, and Mac GL, are all different from one another.
#2 - OpenGL driver quality is highly variable, and lags abysmally behind DirectX.
#3 - The real problem is that OpenGL, as designed, is inferior to its competitors in several very important ways - GLSL is broken, threading is broken and more.
He does end it on a high note thinking it can be fixed and stating it does actually have some good qualities, so it's not all doom and gloom. I don't think we can relax though considering we only have OpenGL on Linux for major games it's not like developers can just switch to DirectX like they can on Windows.
OpenGL has never had this kind of traction on the desktop before as Linux (& Mac) have never both been as popular as they are now. Every time this comes up people say things like "they need to stop doing it the DirectX way", but can so many developers be wrong? I don't think so.
A better OpenGL API is something that will benefit everyone, but if developers wish to support Linux for now it is there only option, so I hope when they find good ways to do things in OpenGL that they share them in blog posts like they do with their complaints.
One thing I disagree with is his last point saying Mantle is an answer, it's not since AMD have currently no plans to support Linux and it's not looking like they will change their mind either.
Maybe it really is time for a whole new API? What do you guys think?
Full blog post on it is found here.
Also it seems Timothy Lottes disagreed on his blog post in reply to this.
These are his thoughts though and not that of Firaxis itself as this is his personal blog.
It's hard to knock these claims when they are starting to come from so top developers who work on AAA titles and I hope the Khronos Group is listening to all this feedback on changes they need to do for the future of OpenGL. Joshua lays out his claims in quite easy to use language and it's actually quite easy to agree with him.
I won't go on quoting parts of his blog post as it's quite long and let's face it 99% of us won't understand a lot of it.
His points are:
#1 - OpenGL is highly fragmented across platforms. “Write-once run anywhere” is a myth. Mobile GL, Linux GL, Windows GL, and Mac GL, are all different from one another.
#2 - OpenGL driver quality is highly variable, and lags abysmally behind DirectX.
#3 - The real problem is that OpenGL, as designed, is inferior to its competitors in several very important ways - GLSL is broken, threading is broken and more.
He does end it on a high note thinking it can be fixed and stating it does actually have some good qualities, so it's not all doom and gloom. I don't think we can relax though considering we only have OpenGL on Linux for major games it's not like developers can just switch to DirectX like they can on Windows.
OpenGL has never had this kind of traction on the desktop before as Linux (& Mac) have never both been as popular as they are now. Every time this comes up people say things like "they need to stop doing it the DirectX way", but can so many developers be wrong? I don't think so.
A better OpenGL API is something that will benefit everyone, but if developers wish to support Linux for now it is there only option, so I hope when they find good ways to do things in OpenGL that they share them in blog posts like they do with their complaints.
One thing I disagree with is his last point saying Mantle is an answer, it's not since AMD have currently no plans to support Linux and it's not looking like they will change their mind either.
Maybe it really is time for a whole new API? What do you guys think?
Full blog post on it is found here.
Also it seems Timothy Lottes disagreed on his blog post in reply to this.
Some you may have missed, popular articles from the last month:
Basically AMD is complaining because their engineering team suck. Why try to make a standard work when you can just push your own junk down everyone's throats instead?
OpenGL works for Intel, and works for NVIDIA. I think that's the most damning evidence there is.
If it wasn't able to be faster than DirectX on NVIDIA hardware, then we could talk about it being broken. But it's not. It's pretty obvious that AMD's engineering team is the problem here. Hell look at Nouveau/Open Source AMD.
Nouveau is only lacking performance because of power management, and where the drivers have been run by forcing the GPU into a high power state, has been as fast or faster than the closed NVIDIA driver.
That's not an indicator of an API problem. That indicates that AMD have a software engineering problem. Nouveau is working hard on implementing GPU/memory clock management. When this work is done the NVIDIA chips are going to scream performance-wise in both modes.
I suspect we will see similar with the open source AMD drivers. There's a ton of code being shared between nouveau and the open ATi drivers. I see this entirely as a resourcing problem. NVIDIA has dedicated years and people to making OpenGL work everywhere. AMD hasn't, now they complain? come on.
The open source drivers are a very new effort and lack manpower. However, despite this they have made fantastic progress. Two years ago Nouveau looked like a joke. Now they've almost implemented the entire OpenGL 4 spec. That's amazing progress in just two years.
OpenGL works for Intel, and works for NVIDIA. I think that's the most damning evidence there is.
If it wasn't able to be faster than DirectX on NVIDIA hardware, then we could talk about it being broken. But it's not. It's pretty obvious that AMD's engineering team is the problem here. Hell look at Nouveau/Open Source AMD.
Nouveau is only lacking performance because of power management, and where the drivers have been run by forcing the GPU into a high power state, has been as fast or faster than the closed NVIDIA driver.
That's not an indicator of an API problem. That indicates that AMD have a software engineering problem. Nouveau is working hard on implementing GPU/memory clock management. When this work is done the NVIDIA chips are going to scream performance-wise in both modes.
I suspect we will see similar with the open source AMD drivers. There's a ton of code being shared between nouveau and the open ATi drivers. I see this entirely as a resourcing problem. NVIDIA has dedicated years and people to making OpenGL work everywhere. AMD hasn't, now they complain? come on.
The open source drivers are a very new effort and lack manpower. However, despite this they have made fantastic progress. Two years ago Nouveau looked like a joke. Now they've almost implemented the entire OpenGL 4 spec. That's amazing progress in just two years.
0 Likes
It was treated like a third world citizen because it WAS. I was WAY behind D3D in terms of functionality and developer support.
0 Likes
Quoting: Alan ShawbridgeIt was treated like a third world citizen because it WAS. I was WAY behind D3D in terms of functionality and developer support.
I think you're mixing up cause and effect here. It started to lose ground in certain ways because it was treated like a third world citizen rather than being treated like a third world citizen because it was losing ground.
0 Likes
These rantings are not really helping anyone. I am sick of reading this FUD about OpenGL here (again) so I post some counterings instead http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX that are still valid and a prominent post at http://blogs.valvesoftware.com/linux/faster-zombies/ that is also an interesting read.
0 Likes
See more from me