Linked by Thom Holwerda on Thu 2nd Aug 2012 16:48 UTC, submitted by aargh
Games From Valve's Linux blog: "That the Linux version runs faster than the Windows version (270.6) seems a little counter-intuitive, given the greater amount of time we have spent on the Windows version. However, it does speak to the underlying efficiency of the kernel and OpenGL." If it wasn't obvious before, it should be now: Valve has started its marketing campaign for Linux. With the Windows platform in the process of closing itself off, Valve has to look to greener pastures. This is all to motive third parties to get their stuff ready for a possible Linux-powered 'Steambox' - not a console, but a set of generic PC specifications. Remember: the Xbox is the only machine tied to DirectX - OpenGL runs everywhere else, including Windows (the PS3 is an oddball, and has a sort-of Sony-specific FrankenOpenGL). OpenGL simply makes more sense for developers, and now Valve is working very closely with Nvidia, AMD, and Intel to optimise their Linux drivers. Do the math, people.
Thread beginning with comment 529385
To read all comments associated with this story, please click here.
Comment by lucas_maximus
by lucas_maximus on Thu 2nd Aug 2012 18:24 UTC
lucas_maximus
Member since:
2009-08-18

Valve's engine uses Direct X 9.0c which is quite old and isn't as fast as Direct X 10 & 11.

http://omgcheesecake.net/index.php?/topic/2776-one-more-time-valve-...

They're using "latest tech" also known as DirectX 9.0c. DX9 is known to have a higher call overhead than OGL, but it's the inverse with DX10/11, these beat OGL compared by performance and by feature set.

The higher call overhead is partially a result of D3D9 IHV drivers being kernel-mode only, i.e. that every call to the D3D9 API invokes more or less a context switch. If Valve had actually bothered to make Steam and their engine less crappy, this wouldn't be a problem.


It really has very little to do with the device drivers and the linux kernel in this case, it is simply that Direct X 9.0 is not as efficient as OpenGL.

Also the source Engine is from 2004. It ancient especially against the Crytek 3 and BattleField 3 engines. I am sure Quake 3 runs faster on Linux, but that is CPU bound on anything better than a Radeon 9000pro (2002/3).

I would be more interested in a Direct X 10/11 game and OpenGL.

This is more about dis-information because Gabe is worried the Windows 8 store is going to take those that release games through steam elsewhere.

Edited 2012-08-02 18:41 UTC

Reply Score: 3

RE: Comment by lucas_maximus
by Soulbender on Thu 2nd Aug 2012 19:12 in reply to "Comment by lucas_maximus"
Soulbender Member since:
2005-08-18

I'm not sure linking to that forum is going to actually strengthen your case.

Reply Parent Score: 3

lucas_maximus Member since:
2009-08-18

http://www.osnews.com/permalink?529399

How about a list of improvements listed via wikipedia that can be verified on Microsoft sites and the guy that invented the First Person Shooter.

http://www.tomshardware.com/news/john-Carmack-DirectX-OpenGL-API-Do...

Reply Parent Score: 2

Nth_Man Member since:
2010-05-16

> I'm not sure linking to that forum is going to actually
> strengthen your case.

It's one of his pages, actually:

"BTW come to the cheesecake forum and we welcome you with open ....Jaws :teehee:"
http://www.osnews.com/permalink?503329

"http:// omgcheesecake.net ... JOIN US!"
http://www.osnews.com/permalink?503250

Edited 2012-08-02 19:47 UTC

Reply Parent Score: 3

RE: Comment by lucas_maximus
by Nth_Man on Thu 2nd Aug 2012 19:28 in reply to "Comment by lucas_maximus"
Nth_Man Member since:
2010-05-16

> Also the source Engine is from 2004. It ancient

No. The Source engine is developed in a continuous way:
https://www.develop-online.net/features/1191/Valve-on-Source-and-stu...

> dis-information because Gabe is worried the Windows 8 store
> is going to take those that release games through
> steam elsewhere.

To answer comments like those, Lucas_maximus uses just one word: "Speculation".

Edited 2012-08-02 19:37 UTC

Reply Parent Score: 5

lucas_maximus Member since:
2009-08-18

It is still using Direct X 9 on Windows, it isn't a modern engine.

http://half-life.wikia.com/wiki/Source

https://developer.valvesoftware.com/wiki/Source_Engine_Features

Valve themselves only mention Direct X 9.

It like me claiming my website was in continuous development but still using .NET 1.1 or PHP 4 ... doesn't mean a lot.

That not really a problem, Valve have released quite a few cool things for the source engine that aren't graphics related.

BTW, I spend quite a lot of money on Steam. I actually think Steam is pretty cool.

I am more called into question these set of statistics and whether it was really proving that Linux was faster.

Edited 2012-08-02 19:39 UTC

Reply Parent Score: 2

lucas_maximus Member since:
2009-08-18

To answer comments like those, Lucas_maximus uses just one word: "Speculation".


Oh comon, it undermines Steam's business model.

Edited 2012-08-02 20:16 UTC

Reply Parent Score: 3

RE: Comment by lucas_maximus
by moltonel on Fri 3rd Aug 2012 09:41 in reply to "Comment by lucas_maximus"
moltonel Member since:
2006-02-24

You're arguing against a point that nobody is making (certainly not the original Valve article).

The "Linux faster than Windows" point only concerns the game running OpenGL (315fps vs 300fps). Once you compare OpenGL to DirectX, it's apples to oranges because the devs didn't spend as much time optimising both APIs. Comparing Linux/OGL to Windows/DX is silly. Case in point: Valve is hoping to use what they learned optimising OGL to optimise DX as well.

As for DX9 being an old API, consider the fact that OpenGL on Linux is an old version of the API too (not as up to date as OGL on windows), so one could argue that DX9's age isn't an issue here.

But of course, regardless of performance, the problem with DirectX is that it is a non-starter where portability is concerned. If it wasn't for the DX-only XBox, no sane developper would do the extra work of maintaining two similar APIs. They'd just use OpenGL, which is available on more platforms.

Reply Parent Score: 2

lucas_maximus Member since:
2009-08-18

As for DX9 being an old API, consider the fact that OpenGL on Linux is an old version of the API too (not as up to date as OGL on windows), so one could argue that DX9's age isn't an issue here.


Direct X 9.0c is an ageing implementation of an API on a Operating system that is going to be unsupported in 2 years time.

Vendors supply their own version of the OpenGL stack on an OS. So the driver code and probably their implementations has been optimized since 2004 (which is what it stated in the article), so no surprise it is faster.

As for portability yes Direct X is only going to work on 3 different platforms, but quite a lot of games have both an OpenGL mode and a Direct X mode. Indicating that it isn't that hard to write a wrapper around both APIs.

Reply Parent Score: 2

moondevil Member since:
2005-07-08

But of course, regardless of performance, the problem with DirectX is that it is a non-starter where portability is concerned. If it wasn't for the DX-only XBox, no sane developper would do the extra work of maintaining two similar APIs.


There is more than just OpenGL and DirectX out there.

As I mentioned on another thread, usually each gaming system has a different graphics API.

When everything is done by the same studio, usually an abstraction layer is created that exposes the required set of features across gaming systems.

Additionally some publishers prefer to focus on a main platform, while outsourcing ports to separate gaming systems. In this case each outsourcing studio gets to rewrite the graphics engine for the system being requested.

Reply Parent Score: 3

RE[2]: Comment by lucas_maximus
by zima on Tue 7th Aug 2012 22:30 in reply to "RE: Comment by lucas_maximus"
zima Member since:
2005-07-06

the problem with DirectX is that it is a non-starter where portability is concerned. If it wasn't for the DX-only XBox, no sane developper would do the extra work of maintaining two similar APIs. They'd just use OpenGL, which is available on more platforms.

In practice when such choices really matter (for example, indy devs without much resources, making the small games of the like that got fairly popular recently on Xbox Live or mobile phones), going DirectX in a way (actually, even "more MS" - XNA) might be the smoothest & least-work way towards multi-platform... http://monogame.codeplex.com/ (with existing examples in iOS and Android stores, Linux)

Reply Parent Score: 2

RE: Comment by lucas_maximus
by JAlexoid on Fri 3rd Aug 2012 15:46 in reply to "Comment by lucas_maximus"
JAlexoid Member since:
2009-05-19

This is more about dis-information because Gabe is worried the Windows 8 store is going to take those that release games through steam elsewhere.

And there you were doing so well making a good point without resorting to baseless negative comments, but alas...

Reply Parent Score: 3