Forgot your password?
typodupeerror
Software Games

Is It Time For an OpenGL Gaming Revolution? 496

Posted by samzenpus
from the free-games dept.
MrSeb writes "In a twist that reinforces Valve's distaste for Windows 8, it turns out that the Source engine — the 3D engine that powers Half Life 2, Left 4 Dead, and Dota 2 — runs faster on Ubuntu 12.04 and OpenGL (315 fps) than Windows 7 and DirectX/Direct3D (270.6 fps); almost a 20% speed-up. These figures are remarkable, considering Valve has been refining the Source engine's performance under Windows for almost 10 years, while the Valve Linux team has only been working on the Linux port of Source for a few months. Valve attributes the speed-up to the 'underlying efficiency of the [Linux] kernel and OpenGL.' But here's the best bit: Using these new OpenGL optimizations to the Source engine, the OpenGL version of L4D2 on Windows is now faster than the DirectX version (303.4 fps vs. 270.6 fps). If OpenGL is faster, and it has a comparable feature set, and hardware support is excellent... why is Direct3D still the de facto API? With Windows losing its gaming crown and smartphones (OpenGL ES!) gaining in popularity, is it time for an OpenGL revolution?"
This discussion has been archived. No new comments can be posted.

Is It Time For an OpenGL Gaming Revolution?

Comments Filter:
  • by aaron44126 (2631375) on Thursday August 02, 2012 @02:33PM (#40859905) Homepage
    Not necessarily better than OpenGL, but better than 270.6 fps.

    Valve's blog post [valvesoftware.com], near the bottom, indicates that they plan on fixing the hang-up with Direct3D, now that they know that the hardware can do better than 270 fps.
  • Dupe. (Score:5, Informative)

    by Urza9814 (883915) on Thursday August 02, 2012 @02:34PM (#40859915)
  • by Anonymous Coward on Thursday August 02, 2012 @02:47PM (#40860143)

    For the lazy:

    OpenGL versus Direct3D on Windows 7
    This experience lead to the question: why does an OpenGL version of our game run faster than Direct3D on Windows 7? It appears that it's not related to multitasking overhead. We have been doing some fairly close analysis and it comes down to a few additional microseconds overhead per batch in Direct3D which does not affect OpenGL on Windows. Now that we know the hardware is capable of more performance, we will go back and figure out how to mitigate this effect under Direct3D.

  • Re:OpenGL ES 2.0? (Score:5, Informative)

    by rsmith-mac (639075) on Thursday August 02, 2012 @02:57PM (#40860303)

    The de facto standard for smartphones and tablets seems to be OpenGL ES 2.0. Why can this not be a de facto standard for desktop and console gaming as well?

    It's too feature limited. It's not even up to par with Direct3D 9.0c/9_3, let alone D3D10+. No MRTs, no compute shaders, no geometry features (tessellation, instancing, etc), no standard texture compression format, etc.

  • Re:OpenGL Support (Score:5, Informative)

    by Sam H (3979) <sam@zoy.org> on Thursday August 02, 2012 @03:01PM (#40860371) Homepage

    Sir, this is complete, utter bullshit.

    DirectX gets almost nothing “much earlier”, because it has no extension mechanism. With DirectX you are stuck with the latest version. It has obvious advantages, but early features are certainly not amongst them. Think what you want about the ARB, it does release and releases often.

    As for the documentation being terrible and vague, that's pretty uninformed, too. Every extension is fully documented and the vendors know precisely what needs to be implemented. There is no Direct3D equivalent of the 600-page OpenGL specification [opengl.org]. The DirectX documentation is a programmer’s guide, not a specification. Every single version of the GLSL standard comes with a full grammar of the language which lets you reimplement a parser or compiler. There is no such thing as a grammar for HLSL (the D3D equivalent). What Microsoft calls a “grammar” for HLSL can be found here [microsoft.com] and anyone not even in the field of graphics programming will immediately understand how much of a joke it is compared to this [opengl.org] (pages 166 to 174).

    (Source: I work on Windows, Linux, PS3, Xbox and mobile game engines)

  • by Desler (1608317) on Thursday August 02, 2012 @03:04PM (#40860423)

    Besides that most, if not all, of my console games are OpenGL not DirectX.

    Not if your console is a Wii or a PS3 since everyone uses the vendor supplied graphics API. On the PS3 this is PSGL which while smilar to OpenGL ES 1.0 is not OpenGL and is instead based on Cg created by NVIDIA. On the Wii this is another proprietary API that is similar to fixed function OpenGL but is again not OpenGL.

  • by dasapfe (856009) on Thursday August 02, 2012 @03:11PM (#40860551)
    People seem very excited about the 20% "increase" in fps, but it is misleading. To get the actual increase in speed, you need to use the frametime instead:

    270.6 fps = 3,695 ms per frame
    315 fps = 3,175 ms per frame

    So the actual difference is a measly 520 microseconds. A change this small might not even be something that is related to the OS or graphics api used. It may even be because the windows OS they used is 64-bit, and the linux OS is 32-bit.
  • DX9 (Score:4, Informative)

    by Bengie (1121981) on Thursday August 02, 2012 @03:25PM (#40860729)

    If OpenGL is faster, and it has a comparable feature set, and hardware support is excellent... why is Direct3D still the de facto API?

    Because Valve is using DX9, not DX11. Even the Gallium3D developers have stated DX11 is much cleaner, easier, and feature rich than OpenGL. There are many things DX11 can do 2x-3s faster than DX9 but breaks engine compatibility with DX9, which makes me wonder how a proper DX11 optimized engine would compare to OpenGL.

    Rule of thumb is if a graphics engine works with DX9/OpenGL, then it is not making full use of DX11 because the optimal flow of data is different and would require an entirely differently designed engine.

  • by Baloroth (2370816) on Thursday August 02, 2012 @03:41PM (#40860931)

    If L4D2 was using the latest DX11.1 implementation and the latest technique, I'm not so sure it would be faster on OpenGL.

    That's really not true. Google for performance of DX11 vs DX9: in many cases, DX11 is actually slower (20% slower or so seems to be the trend). Crysis 2, Dragon Age 2, Lost Planet 2: all slower in DX11. A lot of this is the fact that they are simply tacking on DX11 features, since they have to support DX9 for legacy hardware and OSes (which Source definitely would), but DX11 is not necessarily faster simply because it is newer. Indeed, it is often slower because of that: graphics card support for it is no-where near as good as it is for DX9.0c.

  • by shutdown -p now (807394) on Thursday August 02, 2012 @04:10PM (#40861291) Journal

    Here [microsoft.com] is a complete list of Win32 APIs that are supported for Metro apps. If you look under "Graphics", you'll notice that it has Direct2D and Direct3D, but not OpenGL.

  • Re:No.. (Score:5, Informative)

    by almitydave (2452422) on Thursday August 02, 2012 @04:14PM (#40861341)

    Did we ever need direct X? Any reason why direct X couldnt be an open standard? Were they too self centred to just work on opengl?

    Don't forget the origin of DirectX [wikipedia.org]: Microsoft wanted to encourage game developers to embrace Windows 95 at a time when Win 3.11 had been seen as a business-application-only platform, with DOS preferred for games. DirectX was developed as a collection of APIs for games running in Windows 95 that handled input, graphics, music, sound, networking, etc. Only Direct3D [wikipedia.org], which initially shipped with DirectX 2.0, is directly competing with OpenGL.

    I don't think there was a similar comprehensive API available for the PC market at the time DirectX was released. My copy of Need for Speed SE actually runs on either DOS 6.22 or Win95 w/ DirectX.

  • by Carewolf (581105) on Thursday August 02, 2012 @04:18PM (#40861391) Homepage

    Not to mention there is something nobody seems to mention and that is Windows 7 and 8 uses hardware acceleration for a lot of the desktop and last I checked Linux doesn't do that. Naturally if your GPU is doing other things its gonna take some away from gaming.

    Most linux desktops does that too, my desktop has been hardware accelarated around 6 years, not that it matters: I usually game fullscreen, and even when I do not, I rarely interact with BOTH the game and the desktop at the same time. And if it DID matter, it would be an improvements since the hardware accelerations would mean less resources are wasted by desktop, it it wasn't accelerated it would hurt other applications using the same hardware much more.

  • by goruka (1721094) on Thursday August 02, 2012 @04:25PM (#40861455)
    Not anymore! DirectInput, DirectSound, DirectPlay, etc have all become obsolete and are there only for compatibility. The only real difference is D3DX, which includes a little more functionality for loading shaders and models, but "DirectX" is pretty much obsolete, save for D3D.
  • Re:No.. (Score:1, Informative)

    by DMJC (682799) on Thursday August 02, 2012 @05:25PM (#40862093)
    Uh.... considering Glide was the first and only 3D api for quite a while and it was later followed by DirectX/OpenGL. That's quite wrong. Also, Microsoft went into a deal with SGI to create a 3d API based on OpenGL which Microsoft Cynically shitcanned/backstabbed SGI on.
  • by Nemyst (1383049) on Thursday August 02, 2012 @06:01PM (#40862457) Homepage

    Windows XP is only running on 13% of the machines using Steam which have participated in the Hardware Survey. This is honestly like saying that it's still relevant to develop for IE6 or Red Hat 7.2.

    The good thing is that as soon as consoles move on to the next generation, we'll see a huge shift to DirectX 11.1.

  • Re:No.. (Score:5, Informative)

    by demonbug (309515) on Thursday August 02, 2012 @06:14PM (#40862589) Journal

    Uh.... considering Glide was the first and only 3D api for quite a while and it was later followed by DirectX/OpenGL. That's quite wrong. Also, Microsoft went into a deal with SGI to create a 3d API based on OpenGL which Microsoft Cynically shitcanned/backstabbed SGI on.

    Glide was based on a subset of OpenGL features specifically chosen by 3DFX for gaming. So I guess it may have been the first 3D API designed specifically for gaming (though I think Direct3D began around the same time, it just sucked), but it certainly wasn't the first 3D API.

  • by complete loony (663508) <Jeremy,Lakeman&gmail,com> on Thursday August 02, 2012 @06:44PM (#40862809)
    If you can make the hardware do the same work with less effort, then you've got more spare cycles to do other things. Or you can target cheaper / slower hardware. Sure the difference between 270 and 315 fps isn't going to be noticeable to the user since you are limited by your monitor's 60fps. But now you can probably render more objects on screen, or increase the view distance, or you could add more detail, or....

Hackers of the world, unite!

Working...