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.
This is akin to activision deciding to release dod on 1 website exclusivly...Great for the website, horrible for the game itself.
Know what I'm going to say if halflife 2 runs crappy on nvidia videocards and well on ati's because it was coded to run on ati's cards? Simple, if I'v got an nvidia card I'm not going to run out to buy halflife 2 and go for something else. If I'v got an ati card, then I might buy it. I'm not investing another $400 to run 1 game, period.
By going with ati, they've also alienated the linux community single handedly becuase ati doesn't have linux drivers. Not that a linux dedicated server software won't exist, just the gamers on linux rigs won't go out and buy the game.
Neither Nvidia or ATI are guiltless as far as PR campaigning goes and bullshitting people. I don't trust either company nor do I trust the propaganda machine that is the enthusiast community. I look more at options and major performance defects and what the company does.
As a gamer, I could care far less about them selling cards becuase of major games. UT2K3? I think it sucks, along with a large number of other "major release" games. If they optimise the drivers to run halflife but not tribes2, I'm not buying the card period. I'm more conserned with if it can run what I'v got at my expectations.
Options are also good; I want to know if the card is quality. Right now, I picked an nvidia card becuase nvidia has apparently good linux drivers and being able to run linux games in the future is important to me. ATI has no support for linux. I also consider the nvidia drivers to be superior to ati's drivers feature wise, but that may change.
This is basically an orchestrated scam inwhich ATI pays valve to make a public endorcement of ati's cards. They'd be telling us months before that nvidia's drivers suck or something to that extent, trying to get both card makers' drivers working. For people who code such nice engines I'd doubt they'd have the lack of brains to make an engine that would screw a large part of their demographic, but they would have the brains to come out and lie for a big cash incentive.
Candy-Coated Knowledge
But then.. ATI hasn't always given a shit about OpenGL, while NVIDIA has.
"And thats why I'm with NVIDIA"
the way i understand it, Nvidia tried to change the direction of how things should be done, they built a completely different architecture then the radeon R300, touted there CG shader language, and built there hardware to work with that.
they deviated from the dx9 spec. (this sounds like a conspiracy but it could be over the sour deal nvidia and microsoft had with the xbox?) Either way it was a bad move for nvidia. I'm absolutely sure that if games were made from the ground up to work with the nv30 architecture that they would beat ATI's generic DirectX9 architecture. well at least the FX5900 with 27Gb/sec bandwidth would
it reminds me of the playstation 2, when the first lot of games were only slighlty better looking than the PS1, then after a year or so the developers really learnt how to use the obscure architechture and the games visual quality increased 10 fold. It also reminds me of the p4, and how games didn't really get much out of the p4 until they utilized SSE2.
nvidia wouldn't make such a stinkin piece of silicon on purpose. If nvidia want top spot again there next card would have to be made to work optimal with the direct x standard and not obscure archtectures like the nv30.
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