Valve Sponsors Work To Greatly Speed-Up Linux OpenGL Game Load Times 202
An anonymous reader writes "Valve Software has sponsored some interesting improvements developed by LunarG for the Mesa OpenGL library on Linux for deferred and threaded GLSL shader compilation. What these changes mean for users of the open-source Linux graphics drivers when running their favorite games is that OpenGL games now load a lot faster. As an example, the time from starting Dota 2 until the time actually being within the game is reduced by about 20 seconds on an Intel system. While Direct3D has offered similar functionality for a while, OpenGL has not, which has given it a bad reputation with regard to game load times until all shaders are compiled and cached — fortunately it's now addressed for OpenGL if using the Mesa Linux graphics drivers on a supported game."
Stop gap (Score:2, Interesting)
OpenGL probably need to move to an IR for shaders. For thost that don't know, shaders are compiled by the driver today. Many games generate shaders with a combinatoric explosion which creates a lot of work for the driver. You can cache the result, which is often done, but you'll end up recompiling when the user change settings, etc.
The solution is off-line compilation to an IR, but of course everyone need to be aboard. The downside is that an IR spec will probably add 'DRM' considerations whereas today Open
Re:Stop gap (Score:5, Interesting)
An IR doesn't buy you much. The time taken for clang to compile OpenCL C to SPIR is about 10% of the time required for LLVM to optimise and codegen the resulting SPIR into native code. The driving force behind SPIR comes from developers who don't want their shader source code embedded in their binary source.
Re: (Score:2)
Of course it does. A lot of them go through exactly LLVM!
Re: (Score:2)
It worked pretty well, and wouldn't be surprised if the big boys used a similar idea but optimisation for these is very architecture dependent and can be an NP complete problem. Even register allocation can be quite slow and they'll have to deal with that.
obligatory (Score:5, Funny)
Drivers to be renamed "Black Mesa OpenGL Library"?
GLES 2.0 and OpenCL... (Score:5, Informative)
Compilation of shaders, eh (Score:2)
So that's what is taking so long when starting Dota. I was wondering what part of loading a game could max out a thread on the CPU.
As an example, the time from starting Dota 2 until the time actually being within the game is reduced by about 20 seconds on an Intel system.
A WTF comment if I ever saw one. One would prefer at least two numbers to know how good the improvement is, though a percentage would also be better. On my Intel system Dota2 takes about 15 seconds now. And what's with the pointless Intel name-drop anyway.
Caching seems like a better solution to me, but multithreaded compilation is also good. Well done Valve
Comment removed (Score:4, Interesting)
Re: (Score:2)
S3TC is part of OpenGL, not Valve-software specifically.
As such, if you want to support OpenGL, you're pretty much going to have to pay for the patent and/or workaround it.
Nvidia's been doing this for a while on Linux (Score:5, Informative)
Re:Oh wow (Score:5, Informative)
This won't affect Tux Racer's FPS. This will affect the load time on DotA 2, as well as other games which compile many shaders during load time.
Re: (Score:2)
I dunno. I see Windows games running on Windows taking forever to load. I see games on other platforms also taking forever to load. It's kind of hard to see the reason to get excited here. The usual propaganda that Windows is some shang-gri-la ideal just doesn't wash here.
Re: (Score:2)
Re: (Score:2)
You can easily kill performance by doing stupid things, like uploading textures in formats the driver doesn't like that much (that one actually surprised me a lot, but it can matter). Or like loading the data in an order that keeps the disk seeking when it could instead be reading. The later is something that gets optimized for a lot on consoles where the optical disk seek times are a nightmare.
Re:OpenGL is the future (Score:5, Informative)
Re: (Score:3)
Re: (Score:2)
OpenGL has an exactly identical mechanism for storing the results of compiled shaders. The problem is that the game then has to watch out for changes in driver versions and recompile the shaders after each change because the OpenGL spec says that compiled shaders are only valid for the exact same combination of driver and hardware. So this is not such a useful feature.
Re: (Score:2)
DirectX is a ONE Platform solution. The rest of the world (Mac, Linux, TV, Android, Playstation etc.) uses OpenGL. What don't you fanboys understand about that?
Re: (Score:2)
Fanboy or not, OpenGL + all the other things you need to get equivalent to DirectX sucks so much that many developers find that they can make more money by supporting only 1 platform instead of investing in the cross platform solution for that one reason alone.
That is less and less true, and its only a matter of time before its not true at all, but the fact that its taking so damn long is telling of how annoying it is to develop games for those other platforms.
Kind of a reverse of the web development situat
Re: (Score:2)
In which aspect? DirectX and OpenGL generally have enjoyed feature parity in the last couple of years. OpenGL even makes it easier for hardware vendors to expose new features to programs. So you won't hear a complaint from me regarding that.
BUT: the tools suck. I don't know about current tools for DirectX now that PiX is dead and burried, but I can state that the current tools for OpenGL are definitely not good - to put it mildly. It's still embarrassing to see AMD CodeXL not show a texture for with a forma
Re: (Score:2)
The shiny new features in DirectX do not actually matter for a long time after their release, since game developers will rarely use them as the new DirectX's are available only on newer Windows's. Quite a many developers try maximize amount of potential customers by a single codebase. If the MS would still release new versions of DirectX to all Windows variants still in support, it might have a better stand against OpenGL.
Windows XP's death has basically given developers free reign to support DirectX 11.0 as their new minimum.
Then again, even before this, DX11 features popped up as optional features in games like Batman: Arkham City (and presumably Origins).
Re:And still linux sucks (Score:5, Insightful)
So Linux sucks because anyone can improve it in the areas where they feel it is needed? Yeah, that does suck. Booo, Linux.
Re: (Score:3, Informative)
Re:And still linux sucks (Score:5, Insightful)
If nobody is willing to develop a certain feature, then maybe there isn't a real demand for it.
Re:And still linux sucks (Score:5, Insightful)
Kinda, yeah. What we're seeing now is the breaking of the chicken-and-egg problem of gaming on Linux. Up until very recently, virtually no developers bothered developing games for Linux, because no-one does gaming in Linux. No-one ran Linux for gaming, because there were very few games for Linux (and the drivers were a pain).
Up until recently, Linux had merely taken over the world when it came to servers and mobile (Android). Now it's being given a real shot at gaming.
Re:And still linux sucks (Score:5, Insightful)
I doubt people are using Windows because of the deferred and threaded GLSL shader compilation. I think it has more to do with the fact games are barely available for Linux at all. And that also has little do with how shaders are precompiled I think.
This feature just shaves off a few seconds during load time. That's great of course, but by no means a killer feature that previously has been a real problem for anyone. That's why the feature is late to the party and it is a gaming company who comes up with the patch, as they want their games to load faster. Makes sense, right? In no way I see how this makes Linux look bad.
Re: (Score:2)
Re:And still linux sucks (Score:5, Insightful)
So hurray to Valve for fixing this and hurray to Linux for letting them, right?
Re: (Score:2)
Re: (Score:2)
> Lack of games is a factor, but the other factor is games just aren't as good.
That's just nonsense. It's the same games running with the same levels of performance (or better). This is how it is now and how it was even back in the dark ages with Loki.
Being able to flee from an Intel GPU is far more relevant than what OS you're running.
Re: (Score:3)
For games devs, the choice of API to use really depends on platform targetted.
The Direct3D API isn't *quite* the same as the one used on the XBox consoles, but it's very close. That makes porting a much easier, cheaper prospect. I don't know what API Playstation games require.
Re:And still linux sucks (Score:5, Insightful)
OpenGL. Just like WiiU, Android, iOS, and every other platform that isn't Microsoft.
Re: (Score:2)
But is is 'pure' openGL, or something with lots of propritary extensions?
Re: (Score:3)
Re: (Score:3)
Re:And still linux sucks (Score:5, Informative)
And that also has little do with how shaders are precompiled I think.
As far as I know, you cannot precompile shaders anyway because the compiled code is hardware-dependent. The shader processors are different among architectures and manufacturers, and do not have a common baseline like "x86-64" to target, like we have on the CPU side.
Re: (Score:3)
I meant precompiling in the sense of compiling them during loading, so they can be used during gameplay.
Re: (Score:3)
As I understand it, compiled shaders aren't very big, so precompiling for a few dozen chipsets isn't much of an issue storage-wise.
How many different chipsets are there to support?
Re: (Score:2)
As far as I know, you cannot precompile shaders anyway because the compiled code is hardware-dependent. The shader processors are different among architectures and manufacturers, and do not have a common baseline like "x86-64" to target, like we have on the CPU side.
Why? Surely the shaders remain stored in the video card's memory and don't directly interact with the host OS.
We do have common baselines of GLSL and HLSL, but those are converted into hardware specific instructions on the card itself.
Re: (Score:2)
So the problem is exactly those hardware specific instructions. We cannot ship a game with precompiled shaders to hundreds of different chip families by NVIDIA, AMD, and Intel.
What we could do however, is to cache the compiled shaders locally and recompile them only if a hardware change is detected.
Re: (Score:2)
This is what we call a "chicken and egg problem". Seems simpler to just say this than to try to explain how there are no games for linux because its graphics and gaming capabilities have historically been terrible, and theyve been terrible because noone games on linux and thus theres no incentive to develop them
Re: (Score:2)
Seems simpler to just say this than to try to explain how there are no games for linux because its graphics and gaming capabilities have historically been terrible
But they haven't been that terrible. Linux has had a rather good OpenGL support for a long time. Sound has mostly worked well enough, especially if you tapped directly to OSS or ALSA. After that, what else do you need than input support and possibly networking. All the ingredients for a game are there. During the last 10-15 years, I do not see any terrible endurances if you really wanted to make a game for Linux.
I say it's been more about the lack of interest (it's been a small market after all) rather than
Re: (Score:2)
OpenGL works... if you use proprietary drivers, which aren't installed by default and most OSS zealots users won't install them and end user distros don't install them automatically. But especially the nVidia proprietary driver is really good and the only sane OpenGL implementation on Linux that I know. Mesa typically is sort-of OpenGL compatible but leaves out features in unexpected places - either because they are not done yet or more annoyingly because they don't want them to be in there for political re
Re: (Score:2)
Re:And still linux sucks (Score:5, Insightful)
Well, there's no demand for this because there's a relatively convenient alternative. In this case, the alternative is Windows and DirectX. It doesn't really say a lot for Linux if this is what people are doing.
Yes, exactly right. 3D gaming isn't some half-dead community with no revenue stream on other platforms. Hell, other platforms were created for gaming due to demand (From Atari to PS4), which has been going on for decades.
In the meantime, the Linux community sat on the sidelines and assumed what everyone really wanted in any new distro...a new version of GNOME or KDE to keep other more "important" debates alive.
While I can understand an efficiency within demand, it's rather odd that Linux still looks at 3D gaming like it's a 20-megapixel camera in a cell phone, when we in fact have 20-megapixel cameras in cell phones these days...
Re: (Score:2)
That's one of the funny things about OSS: when it comes to graphics, I perceive open source software to be mostly lagging behind by a couple of years at least. - whether it's 2d image manipulation, 3d modelling, offline rendering or real-time rendering. Somehow these topics don't get that much attention from the OSS community. Is it because so many hackers think that the purpose of X11 is to render more than one terminal window at once and the purpose of the window manager is to keep them arranged? Who nee
Re: (Score:2)
Re: (Score:3)
And mostly it's been ignored on Linux because it was nearly impossible to get specs on how to program the video cards. On Windows most everything went with DirectX so that there wasn't even the portability that you might get via OpenGL (ie, there are very few realtime 3D games on macs either, except via Wine for older games).
Re:And still linux sucks (Score:4, Informative)
You are smoking crack. The reason is because non-open drivers have had this implemented since word "go". That's what people wanted to use. Hence, the whole supply/demand thing kicking in. That someone is doing it in the open-source drivers means that they aren't getting the love they expected from the third party, and suddenly there is a business interest in having better support in the open driver.
To draw a parallel, would you use the default drivers that come "out of box" on a fresh install on Microsoft Windows whatever, or would you actually go to the vendor's website and download their specific drivers? I think we're done here.
Re: (Score:2)
Yet we have interstate roads and the internet, just like we have threaded shader compilation on Linux now.
If someone wants to create a feature for Linux, one can. That is the freedom Linux provides. If nobody is willing to take on something, then apparently it isn't such an issue.
I really don't get why people are giving Linux so much hate for empowering it's user base in this way. If you have a complaint about Windows or Mac OS X, Microsoft and Apple tell you to go fuck yourself. But if you want Linux to ha
Re: (Score:2)
You are an idiot. You are saying "one can" like it is as easy as baking a cake. I would love to replace windows with ubuntu or mint or something for all my gaming needs, but I wouldn't have the slightest idea on how to even start coding a feature for linux. This is some pretty specialized stuff. Sure you position it one way "Linux is empowering it's user base", where someone else sees it as "Linux doesn't give a fuck about anything.
Screw users. if they want something they can do it themselves.
Also, it isn
Re: (Score:2)
You are an idiot. You are saying "one can" like it is as easy as baking a cake. I would love to replace windows with ubuntu or mint or something for all my gaming needs, but I wouldn't have the slightest idea on how to even start coding a feature for linux. This is some pretty specialized stuff.
This is very true. We need to get out of the mentality that open source automatically means that everybody can contribute to projects just like that. One cannot usually craft even a simple 10-line patch if they do not understand the architecture of the project, and something like that can take months to grasp. Oh, and then people maybe do not even want your patch or you find that your commit tags were wrong or your MUA screwed up something and all that circus. :D
It's like saying that "everybody can contribu
Re: (Score:3)
except that no one does.
"anyone" sounds like a lot of people, but Linux isn't just for coder enthusiasts with the know-how to fix their own problems. If linux is going to really take off on the desktop those things simply need to be already taken care of. With microsoft floundering around with windows 8 and tablets taking off, if someone wanted to really get market share away from microsoft dumping money into Linux like valve is doing here is a good start. Especially if it can be done in such a way that maj
Re:And still linux sucks (Score:5, Insightful)
How is it Linux fault that Microsoft doesn't provide Office or Adobe doesn't provide Photoshop for it?
Re: (Score:2)
If Linux wants to grab desktop market share it has to develop a killer app. Microsoft realized that early on and focused hard on areas that it suffered in; in the mid 90s it realized its printing subsystem was terrible and developed it, it realized that its gaming capabilities didnt exist so they made DirectX, etc etc.
Re: (Score:2)
Linux doesn't want anything, it's an operating system.
Re: (Score:3)
It certainly doesn't help that development and distribution on Linux sucks ass, so porting to Linux is a huge time-sink compared to porting to OS X. Unless you pick a specific distro and *only* support that, in which case the Linux fans who yesterday were begging you to port the software are now bitching that you built it for the "wrong" distro.
Then your support costs run up the roof, because even in the "correct" distro people can install the "wrong" windowing system or sound subsystem or what-not, which b
Re: (Score:2)
I think the lack of these applications on Linux has a lot more to do with politics and business strategy than Linux being a bad platform somehow for developing applications like Excel or Photoshop for.
It's not that these applications have some intrinsic connection with Windows either, as both of these products are available for Mac OS X.
Re:And still linux sucks (Score:4, Insightful)
Because linux isn't a cohesive platform. That's the problem. As I was googling around one of the staff at adobe mentioned last year that Linux lacked standardized APIs on a forum thread regarding photoshop on Linux.
There is a perception that Linux is a bit like the wild west and in this day and age when you have stable mature platforms like Mac and Windows available, that's risky for developers. Even for big companies.
The intrinsic connection they have is market share and having already been the platform for this programs for a long time. Linux needs to really step up and say "Hey we're ready look at us" but they haven't had that moment yet.
Ubuntu is a step in the right direction. If a company with real money can get behind it and drive it to some kind of consumer ready level like Windows or Mac is, enthusiasts can still sit there and fork and tweak and do as they like, but getting a real ready version there that gets people's attention and wants to make people use it and develop for it is what will drive Linux's success.
It might not be directly Linux's fault that Microsoft doesn't make office for Linux, but they just got office for IOS not that long ago. Who knows what kind of wrangling that took. But if I was someone like Canonical I'd see just how much money it would take to convince Microsoft to make it for linux and make that happen. I'd do the same with programs like Photoshop, and other major programs that have major user bases that are seen as core apps. Valve already seems like they're moving in the direction of taking care of games so I'd make sure I was meeting with them and getting everyone on the same page. They don't have to arrange all the programs. If they do a few core programs that reach a large percentage of the user base, the other programs will start to get ported to linux as user base picks up. For example if they paid to get photoshop and office ported and linux went from the low single digits its sitting around now on the desktop up to 20% or a little higher I think you'd see companies start to take notice and start to focus a little more on it.
Re: (Score:3)
Because linux isn't a cohesive platform. That's the problem. As I was googling around one of the staff at adobe mentioned last year that Linux lacked standardized APIs on a forum thread regarding photoshop on Linux.
So how come Autodesk is able to ship Maya for Linux? Or MathWorks has no trouble releasing Matlab for Linux?
You're talking like it's impossible to create software for Linux. Clearly this is not the case, as there are numerous applications available for Linux and have been for years, in all sorts of forms and business models.
The lack of Photoshop and MS Office is not really because of any technical reason. The reality is that Adobe and Microsoft don't want their products available on Linux.
Re: (Score:2)
Re: (Score:2)
I'm not the one saying Adobe should release Photoshop for Linux. I'm just saying the *only* reason why Photoshop isn't available for Linux is because Adobe doesn't want it to be on Linux. That may well be the result of some business calculation, or politics, or something personal or whatever, but certainly not because Linux is in some way not suitable for running an application like Photoshop.
Re: (Score:2)
FFS they've already stopped porting Adobe Reader years ago and don't patch the main Flash plugin on Linux unless a big security vulnerability is exposed.
The PPAPI version of Adobe Flash plugin for Google Chrome under Linux is still being developed and is doing fine. The old NPAPI plugin will remain frozen in the 11.2.x.x tree and receive occasional security updates, as you correctly said.
Re: (Score:2)
Their claim is that it is is and that might be why they don't want it on Linux. Because it is less suitable, less easy, it will cost more to port it over and since they don't yet see a big market for users they won't do it.
It's chicken and the egg. The existence of other apps is immaterial. Other apps might be suited to Linux, they might be easy, cost effective to port and they might be targeting people who might otherwise already use linux.
However, if you get them to do it, the users will come and it will
Re: (Score:2)
That's probably true, things only really change when someone brings a lot of dollars to the table. That's what Mark Shuttleworth did with Ubuntu, Google did with Android and Valve is doing now with SteamOS.
But that's really what I was trying to say at the start of this thread: the fact anyone can step in and add to the platform is what I think is cool about Linux. So having a real impact in businessland may cost some money, but it's not like that's going to Linus Torvald's personal bank account. Linux is op
Re: (Score:3)
Because being free isn't a pass on criticism. I'm not sure when that happened. Yes all the people who have devoted time and effort and money on Linux deserve credit for doing so. But for the end consumer there is no real difference between an OS you got for free and one you paid $100 for. They still need to work and they still need to do what you need. Otherwise free doesn't mean anything. In the end they're still providing a product regardless of the cost and the consumer is going to form an opinion on it
Re: (Score:2)
> That's the problem. As I was googling around one of the staff at adobe mentioned last year that Linux lacked standardized APIs on a forum thread regarding photoshop on Linux.
Yes. And that post included obvious bullshit. While the "professionals" were bitching and moaning, the "hobbyists" in the community were simply taking care of business and doing all of the things that the "professionals" at Adobe want to declare is impossible.
Whiners that don't want to be bothered can always find excuses to distra
Re: (Score:2)
They never declared it impossible. They said it was a riskier more uncertain market with no return potential. There is a difference.
Re: (Score:2)
"As I was googling around one of the staff at adobe mentioned last year that Linux lacked standardized APIs on a forum thread regarding photoshop on Linux."
And that is a reliable source of information? Most likely Adobe devs don't want to support yet another GUI toolkit/API. Linux has different GUI tool kits available, the most common being QT and GTK, both of which support Windows and MacOS in addition to the usual open source suspects. Hell, if you write a GUI Linux app that uses a cross platform tool kit
Re: (Score:2)
With Linux and open source in general, if a library is changed and a feature deprecated or removed, you tweak your source and rebuild. Though not everyone wants to or can for that matter, build or tweak source. So distros provide binary packages of common software and libraries for the sake of being user friendly. But that hampers closed source developers who want to protect their IP. I don't blame them but they have to adjust to the ever evolving world of open source libraries and API's. This is the same reason video card drivers on Linux are a huge headache. Instead of providing binary drivers they have to provide a whole obfuscated build environment to pull in the necessary libs and kernel headers for your distro and compile the driver against them. If the video card developers released the source, distros could provide drivers downstream tailored for their distro.
Its a totally different eco system for the game devs and they have to adjust.
Yep, you nailed some of the problems on Linux, which largely come from different philosophies about backward compatibility. Open source means that you can simply recompile at any time, so binary compatibility is deemed less important. On the other hand, Windows has gone through unbelievable efforts to maintain binary compatibility with previous versions.
However, I'd take slight issue with your last line, indicating the "game devs have to adjust". As a game dev, I'm sort of wondering how I'm supposed to "
Re: (Score:2)
Ubuntu has it's own problems though, it's more of a breakaway from whatever standards Linux was getting. The real problem is not so much the APIs, but the package management. Professional products want to provide a bundling that works with a package manager, but the one thing that varies the most between distributions is package management. So some commercial products in the past have only provided RedHat support for example (you can use it elsewhere but you're on your own trying to figure out how, and t
Re: (Score:2)
Maybe those companies think that Linux is somehow a bad platform to develop to. In that case it would be Linux's fault.
Microsoft is very reluctant to develop for anything non-Microsoft as that would mean people wouldn't need Windows; so anything that does not drive business to the entire Microsoft eco-system typically gets ignored by Microsoft. They're finally getting around to releasing Office for Android in some form - even then, it's not as functional as what they have on Windows.
As to Adobe...They could easy port it to Linux if they desired. My guess is they don't get enough requests because the majority of people th
Re: (Score:2)
I'm just saying if people want Photoshop on Linux, you should talk to Adobe, not Linus Torvalds or Mark Shuttleworth.
Re: (Score:2)
His point is theyre just now getting features that have been around on Windows for a while, which is a valid complaint.
"Anyone can improve it" holds a lot less water when we're talking about graphics subsystems-- how many people are legitimately qualified to work on that?
On a side note, isnt Mesa the crappy default driver thats usually replaced by the vendor's binary blob if you want decent performance? Or am I thinking of something else?
Re:And still linux sucks (Score:4, Interesting)
Re: And still linux sucks. (Score:4, Insightful)
and no, it's not only used by cultists. It's used by smartphones, GPS, DVRs, servers, supercomputers, and other places. The desktop is more of an exception than a rule, but the desktop is the place where the OS is more visible.
Re: (Score:2)
Your right because clearly starting up your little games faster should be top priority of any operating system.
Re: (Score:2)
Your right because clearly starting up your little games faster should be top priority of any operating system.
Not any operating system, just one that has interactive users. When I turn on my computer I want to use it right now, boot time is dead time. When I click any application I want to use it right now, load time is dead time. If I click a button in the application I want a response right now, reaction time is dead time. If you're running a server, who really cares as it should be >99.99% up, use staggered boot and launch some huge backend processing service once it doesn't matter at all. But when it's my co
Re: (Score:3, Interesting)
While a valid excuse, that's another reason why Linux is still "not there" yet. The fact that there were only a couple legit games for it proves it's still in it's fetal stages of becoming a consumer OS. It's got a long way to go. Valve was a huge shot in the arm though. They are the best thing to happen to Linux in awhile.
Re:Valve competing with Microsoft (Score:5, Informative)
I think you miss something:
On Windows, OpenGL already competes with DirectX. Especially with the indie-game revolution of the last 10 years.
On Linux, OpenGL wins 100% complete, hands-down. Because DirectX can't even run, let alone come close on performance.
On Mac, OpenGL wins 100% complete, hands-down. Unless you count boot-camp, which is really just Windows.
You can try to paint a different picture all you like - fact is that OpenGL is not only "the same" as DirectX when you're on Windows, but also runs in a ton of other places. That fact that it has slightly less performance than the ideal scenario on one of those (it has to be said) more obscure platforms is pretty inconsequential (and now fixed). I haven't seen anyone complain about the OpenGL performance on those millions of smartphones that run it. I haven't heard much about DirectX on smartphones, however.
Cherry-picking the battlefield for a comparison is no worse than cheating because you know you're going to lose.
Re:Valve competing with Microsoft (Score:5, Interesting)
Even on windows, OpenGL is not that much slower, on the order of 10% for 'normal' 3D game code. With a modern video card that difference almost doesnt matter.
Re:Valve competing with Microsoft (Score:5, Insightful)
The problem with OpenGL isn't speed or load times. Microsoft made directx so 3D programming in windows would be easier. It's just like C# or VBA. They made it much easier to use, and therefore much cheaper to hire for. If you're hiring people to write a new 3D engine using OpenGL you need people at the top of their field... If you're hiring for DirectX there are dozens of local tech colleges filled with mediocre talent that will fit the bill. Now, you could argue that you should be getting top talent anyways, but that's why you don't run a major game producers.
Re: (Score:2)
The problem with OpenGL isn't speed or load times. Microsoft made directx so 3D programming in windows would be easier. It's just like C# or VBA. They made it much easier to use, and therefore much cheaper to hire for. If you're hiring people to write a new 3D engine using OpenGL you need people at the top of their field... If you're hiring for DirectX there are dozens of local tech colleges filled with mediocre talent that will fit the bill. Now, you could argue that you should be getting top talent anyways, but that's why you don't run a major game producers.
Not really. Direct3D and OpenGL are mostly the same stuff, and both require a developer with a high level of competence. With DirectX you also wind up doing some crusty Win32 trickery, even opening the window is quite painful process. When you combine OpenGL with SDL or SFML, you get that kind of boilerplate stuff done much cleaner.
Re: (Score:2)
The issue is probably more that MS promotes its platform better, and also the fact that the XBox does not support OpenGL. It is popular for the same reason that Win32 is popular - network effects.
Re: (Score:2)
And which major company is pushing OpenGL in schools? Providing training materials? Certifications?
It's easier for the same reasons Cisco stuff is. Yea, you can find people that know Juniper or something else, but how many are there? Limited resources are expensive. This is how Microsoft does business. It's a very smart plan.
Now you have companies like Google and Valve pushing open source so it's slowly changing.
Re: (Score:2)
The documentation is fully integrated, and you don't need to use a wrapper or the hideous OpenGL extensions mechanism to use any of the remotely modern features. You can use GLEW for the latter but you really shouldn't have to rely on a third party library just to use it.
Re: (Score:2)
No, writing game engines is not serious. Writing games is. Serious developers just license one of the existing engines and extend from that. So real question is not what low-level API is easier to code against, but what technology main stacks are running on. Speaking for windows world (obviously some of them have opengl/openes ports for linux and android, question is what they chose if there is a choice)
UE4 - DirectX
Cryengine - DirectX
Gamebryo - DirectX
Unity - both DirectX/OpenGL ?
Frostbite - DirectX
id Tech
Re: (Score:2, Interesting)
In most cases OpenGL is 10 to 20% faster on Windows, just shader compile times were 5 to 10% slower on average.
but once things are running DX11 isn't very competitive, and that's also because it's hard to make proper drivers for it (see Nvidia's late optimizations that made them reach near AMD Mantle performance, that took almost 2 years to reach)
Re: (Score:3)
Mod parent up. Atleast Valve found that Left 4 Dead 2 run faster after porting OpenGL on Windows (and even faster on Linux).
http://blogs.valvesoftware.com... [valvesoftware.com]
Re:Valve competing with Microsoft (Score:5, Informative)
And that's just the desktop. On phones, OpenGL wins all. On tablets, OpenGL wins all. On consoles, DirectX is only relevant for the Xbox, the rest runs OpenGL.
The sphere of influence Microsoft has on the computing industry as a whole has been shrinking with each passing year for at least a decade now. The diminishing relevance of DirectX is yet another proof of this.
Re: (Score:2)
Re: (Score:3)
And that's just the desktop. On phones, OpenGL wins all. On tablets, OpenGL wins all. On consoles, DirectX is only relevant for the Xbox, the rest runs OpenGL.
The sphere of influence Microsoft has on the computing industry as a whole has been shrinking with each passing year for at least a decade now. The diminishing relevance of DirectX is yet another proof of this.
Speaking as a game dev, I don't really burn a lot of brain cycles on the DirectX vs OpenGL debate that seems to enthrall some people. Any well-written game engine has abstraction layers for the graphics renderer anyhow, and if you're porting to multiple platforms, you're going to need platforms-specific renderers.
On Windows and Xbox, developers use DirectX. Some developers support OpenGL on Windows as well, but very few do so exclusively. For everything else, developers use OpenGL, or perhaps a proprieta
Re: (Score:2)
On Windows, OpenGL seems to be a very tiny fraction of the gaming market. DirectX completely dominates, and even more DirectX is often a part of the marketing of the games (ie, the new ones always want to proclaim that they use the latest DX features).
Re: (Score:2)
>> On Linux, OpenGL wins 100% complete, hands-down. Because DirectX can't even run, let alone come close on performance.
>
> This is the illogical thinking of a fanboy. There can be no winner or loser if there is only one choice. You can't have a competition with only one competitor.
What competition? Everything competes with the desktop.
Game consoles compete with the desktop.
Phones and tablets compete with the desktop.
To a limited degree, even MacOS even competes with Windows on the desktop.
Yours
Re: (Score:2)
Don't be stupid.
Who makes the best space shuttle?
SpaceX or Nintendo?
Who makes the best video games console?
Nintendo or SpaceX?
Something NOT EXISTING does not mean that something else hasn't won... in fact, pretty much the definition of winning is that there's nobody else around to compete.
And there are almost certainly alternative libraries out there, especially on Unix systems. It's just the OpenGL is the de facto standard, and DirectX (all the associated technologies, not just 3D) doesn't even exist on
Re: (Score:3)
https://en.wikipedia.org/wiki/... [wikipedia.org]
"Valve created the critically acclaimed Half-Life (released in 1998) and Portal series (released in 2007), as well as the software distribution platform Steam (released in 2002) "
btw as of last year Steam has a native Linux version
Re: (Score:2)
It's not that ambiguous; if the headline really meant what you think it meant it would have said "Valve's sponsors..." instead.
Re: (Score:2)
if the headline really meant what you think it meant it would have said "Valve's sponsors..." instead.
That would be the unambiguous way of saying it, but that doesn't mean that's how it would have been written.
Re: (Score:2)
Read it more carefully. It's a language thing.
Re: (Score:3)
wearing handcuffs and a muzzle.
Go ooooon...?