Half-Life 2, ATI, NVIDIA, and a Sack of Cash
Latent IT writes "If you're into games, and unless you've been living under a rock for the past few days, you've heard a bit of a rumble from Valve on the relative quality of ATI vs. NVIDIA cards. Starting with articles like this one (previously reported), Valve told the world that the ATI 9800 Pro was nearly three times faster in some cases than the formerly competitive NVIDIA offering, the 5900 Ultra. Curiously, this happened at an ATI sponsored event, "Shader Day". But the story hasn't stopped there. NVidia released this response, essentially claiming that their new drivers, that were available to Valve at the time of their press conference, would make for vast, legitimate performance improvements. An interview with Massive, the creators of the Aquamark 3d benchmark, seems to confirm this opinion - that the NV3x chipset wasn't designed around any certain API very well, and the drivers are critical in achieving good performance. Anandtech writes here about the restrictions Valve placed on what benchmarks could be run. However, the key to this whole story may be this: an article, which I haven't seen get much coverage in all this, seems to make everything a little clearer - Valve stated that their OEM bundling deal with ATI came from the fact that ATI's cards were so superior, and that they were "performance enthusiasts". However, if the Inquirer is to be believed, the bundling deal was a result of an outright auction, on what will probably be the most popular game of the year. Which year that might be, is another issue altogether. Whatever happened to just making hardware, and making games?"
"Whatever happened to just making hardware, and making games?" unfortunately..where there's a multi-billion dollar industry, there's shady business deals.
About all the article in the inquirer says is that Valve put the bundling rights for HL2 up for grabs. Makes sense.
I don't think that article says anything about one hardware platform being better than the other, and I don't doubt that had NVidia won the bundling deal, they would've had a "NVidia Shader Day" event, regardless of the performance of the product.
I still find the most interesting point being that Valve says that they had to put in a lot more time and effort making the gaming experience on NVidia cards good than on ATI cards, to the point of developing a seperate graphics path for NVidia chips.
If the solution to the performance issues was a simple driver update from NVidia (WITHOUT degrading quality in any way), then surely Valve would've left it to Nvidia to handle and proceeded to spend their time working on the game iteself...
N.
"Nothing strengthens authority so much as silence." - Charles de Gaulle
Maybe I'm just dumb but it doesn't seem to make much sense to release new hardware without drivers optimized to take full advantage of the hardware. If you (or a hardware site) has to wait for a new driver to get the performance the vendor specifies for the hardware, I would be real leary of buying hardware from them. From what I saw of the ATI/NVIDA test, the NVIDA card was trounced, so maybe NVIDA should hold off on releasing new cards until their drivers catch up to the hardware.
the 45.xx detonator drivers were used for the Nvidia cards because that is the final working driver Nvidia released. The 50.xx which NVidia says should have been used doesn't show fog, which they call a bug and just so happens to create better results. Also the 50.xx drivers were still beta last time I heard. So Valve chose a stable driver over a "bugged" one. Not to mention NVidia's earlier actions surrounding "driver enhancements" wouldn't make them suspicious.
And let us take a crack at them. Suddenly you'll have NetBSD running directly on the card, twice the framerate in Linux as in windows, and (worst of all) both companies' products will be advanced, eliminating the advantage over one's competitor by tossing more money at the problem.
Betterment serves no profitable purpose unless it is unatainable by one's competitor. If someone can show how they'll make more money by making a better product while also aiding their competitor in the same endeavor, they might help us out a bit more.
You can't judge a book by the way it wears its hair.
What scares me is people doing those benchs in DirectX, and most, people doing games using DirectX. Nvidia certainly didn't made its card to perform good in DirectX's new API, and I don't see the problem.
What's about OpenGL; I only purchase OpenGL games, because I mostly can make them run in Linux, and WineX is only a ugly workaround to run games in non native enviroment. If I'd a game company, I'd take care of potential Linux customers.
There written for some type of graphics API, DirectX and/or OpenGL. The days of writing to bare hardware were over more then a decade ago.
First, I think it's important to note that Anand was instructed to not use the Det50s in his tests because they failed to render fog in the demos, which would obviously impact performance.
Second, check out this image quality comparison over at DriverHeaven with Aquamark 3. It sure looks to me like nVidia is back to their old tricks again.
I'd hardly call "bundling rights" shady business deals. Unless there are facts missing from the article, this is a bullshit take on an otherwise innocent business deal.
That said, if I was a game development company, I would be putting the boots to nVidia any way I could right now. Today, it's "We'll get around to making your game work with our drivers when it's popular" but tomorrow it could be "You want your game to work well with our drivers? That will be $3,000,000 please." The shit that nVidia are pulling is a threat to Valves bread and butter, and they'd be fools if they took it lying down.
-1 Uncomfortable Truth
They made a deal with Valve, eh? Then why is it that many independent sources (including the developers of AquaMark 3 and John Carmack) have noticed that NV3x has a lot of trouble with PS2.0 and that to get good performance out of it you have to program a special path? And why is it that NV3x clearly only has 16-bit and 32-bit precision when the DX9 specs call for 24-bit? Don't you think this could account for NV3x's terrible "real" DX9 performance? Don't be so quick to jump to conclusions. That having been said, ATi's Linux driver support is shameful, although they ARE working on it. I think they're both fine companies, it's just silly to accuse one of cheating when there's so much evidence to support what Valve is saying.
But then.. ATI hasn't always given a shit about OpenGL, while NVIDIA has.
"And thats why I'm with NVIDIA"
Most developers will find at some point that they need to optimize their graphics API code for specific chip sets.
Oh, and mentioning DirectX before OpenGL in the same breath is what Microsoft WANTS you to do.
After nVidia's falling out with them over the Xbox chipset pricing, its likely MS changed the DX9 spec mid-development and only gave the new specs to ATI. Thats why ATI's cards are perfectly designed to run DX9 but nVidia's specs are off. For example, DX9 calls for 24bit FP, which ATI does, while nVidia only supports 16 or 32bit, forcing developers to choose between correct rendering or improved performance.
Also nVidia is to blame for their driver cheating fiasco, which makes developers especially weary to trust beta or "optimized" drivers, and for expecting every game company to optimize for their cards just because they're the biggest.
OpenGL was great when there wasn't an alternative (except perhaps 3DFX's Glide).
Times have changed however, and DirectX development has lept forward in a way that would be nearly impossible for OpenGL to do as quickly. Mainting platform compatbility is great, but it does severely limit the development speed of the language when it comes to new features that developers need. With DirectX, there's a single codebase for all developers that's updated fairly frequently with new features available to everyone.
I'm not bashing OpenGL, it's a great language that is well suited to jobs where platform cross-compatibility is of paramount importance, industial graphics applications, 3D, etc. That said, most of those said applications now support DirectX as well, but retain OpenGL for compatibility reasons.
OpenGL is just not all that valuable for games anymore, with DirectX being a better alternative for Windows games where porting to other platforms isn't a concern.
N.
"Nothing strengthens authority so much as silence." - Charles de Gaulle
Ok, flamebait, but i'll bite. Do you really consider Half-Life 2 to be "Resting"? How about the developement of TF2? How about the developement of Steam? The also took over the developement of Counter-Strike somewhere along the road (probably around version 1.0 if I remember correctly).. They published a stand alone version of Counter-Strike, they also started Counter-Strike: Condition Zero (which someone else took over)
They're a company, they've been making money and they're apparently still developing new ideas, trying new stuff and setting new standards.. cut them some slack
The point being; if you don't like it; don't buy it. And don't pirate it. It's your choice.
mats
One man's ceiling is another man's floor.
Here's Valve's problem: They make moddable games. That's at the core of their business. They didn't just make HalfLife as a game (although they did that, and very well) -- they made it as a platform upon which anyone was free to develop their own FPS games: CounterStrike being the most famous, but there are many others, such as Natural Selection or Day of Defeat.
Likewise, they are not just making HalfLife 2, but a platform upon which mods will be made. But why is this relevant to the videocard debate? Here's where we get back to the drivers.
The drivers -- the mythological r50 drivers that noone's actually gotten their hands on yet -- might well provide a speed boost to HL2 as it stands. Maybe. But if they do, it is because they have hand-tuned those drivers for HL2. See Mr Burke's quote:
What he omits is, the best experience possible for the specific subset of vidoecard functionality currently present in HL2 at this time. A little background for those of you who haven't kept up on recent videocard technology: Modern videocards have Vertex Shaders and Pixel Shaders. These are essentially short programs written in assembler (and now a variant on C) that the driver compiles and executes on the videocard, not the CPU (taking load off of it) that customise rendering in various ways. Vertex shaders typically perform lighting, animation or mesh deformation effects, while pixel shaders provide surface material effects, such as water distortion or bump mapping.
ATI's cards appear to be able to handle any pixel shader program you throw at them. Whether this is because the cards are just that fast and general they can cope with it, or whether the compiler in their driver cunningly optimises any GPU program you throw at it (the same way a C compiler optimises CPU code, by reordering instructions to avoid stalls, factoring out loop invariants, etc) we don't know. Frankly, we don't care: The important thing is, we write code, and it works.
NVidia's cards do not work this way. NVidia's cards are fast, but only if you hand-tune your assembler to precisely match their architecture. Except we don't know enough about their rules to do this (proprietary NVidia technology blah blah).
When Valve have written shaders, found them to be fast on ATI cards and slow on NVidia's cards, NVidia have released new drivers and, lo... it's fast on NVidia's cards. NVidia go "hey, uh, our bad... driver bug... fixed now...". But make even a tiny, trivial change to the shader, and bam: it's slow again. With a little more experimentation along these lines, it's easy to come to the conclusion that there was no bug, there is no fix, NVidia simply have a lookup table of shaders they 'recognise', and when one of those comes along, they replace it with one they wrote themselves, hand-tuned for their card.
There's a problem with this, of course. For a start, if you're not as big as Valve, NVidia aren't going to set aside an engineer to go around optimising shaders for your game or release new drivers. Secondly, if you make any changes you're back to square one and need to resubmit your shader to them and get it fixed up. Thirdly, if like Valve you care about modders, you're not going to be happy with this "solution" -- because even once your game is complete and on store shelves, and NVidia have stopped making new driver releases to 'fix' it, modders can make new shaders. And suddenly find their game runs like ass. You think NVidia are going to go chasing after modders? Bwahaha.
I suspect this is why Valve were careful about the benchmarks they let be