Nvidia's NV20
Bilz writes "ZD Net UK has posted an article on Nvidia's upcoming NV20 video chip. According to them, they state that during complex 3D scenes the card performs up to 7 times faster than a GeForce 2 Ultra."
← Back to Stories (view on slashdot.org)
The fact is, these "secret" documents are released as a form of cheap marketing. In fact, a large portion of todays "journalism" is written directly from the company spin doctors. PR twats wastly outnumber journalists and the trends are extending this.
Always look for hyperbole (like the zdnet headline) and emotive adjectives in phrases like "screaming chipset design". They mention that it will only double performance when large polygons are used. Well I haven't seen many games that are written only for the GeForce. Given the price of development these days, games companies are reluctant to alienate potiential customers by asking for huge specs (unless your name is Geoff Crammond). I think it is safe to assume that the new cards will follow the trend of Nvidia's chipsets since the riva128, at least until benchmarks are out. The next generation is about twice as quick as the plain vanilla flavour of their current best chipset although they can probably manufacture benchmarks to make it look better.
Corporate hype is not newsworthy (as much as they like you to believe it is), but I will be interested when someone reputable publishes benchmarks (and no, not Toms).
Me, I'm happy to run quake3 on my riva128/amd233. Sure it looks like crap and is choppy as hell but ..... man, I really gotta upgrade. Where was that link again ..
We've already seen that in the game industry. Teams of 20 to 100 people cranking out stuff for 2 or 3 or 4 (Daik... nevermind) years.
Sure, movies do it, we get some beautiful movies that kill anything gaming hardware will be able to do. But movies are, what, 2 hours long? A proper game has to have 30 hours of gameplay at the very least (I'm thinking Diablo II at about 25-30 hours to take one character through), I'd rather have 75-100 hours. And with a movie, you might visit a model/texture once, where with a game it might be something that you can look at from all angles, as long as you like.
So we'll have a couple of guys working on an engine to pass geometry and texture, another 5 or 10 working out AI and extensibility and 200 artists and modelers creating the world.
Bleh!
My argument is simply that there's nothing more frustrating than having a bug that you can't fix. I'm the type that at least gives a hack at it if I find a bug. Open source is not about open source developers fixing bugs for you. It's about coherent, concise bug reports that come from an examination of the code. It's also about (as you mention) fixing simple things that I could find and fix like memory leaks. Clearly I could not write or reverse engineer a driver in any reasonable period of time. Clearly nVidia are the best people to write the driver. Open source is most useful in the last 10% of the development process, fixing bugs and refining the code. If a company expects a magic cavalry of developers to appear to write their driver for them, they are sadly mistaken. But they can expect people to do a little hacking to get an existing driver to work with their hardware combination.
Open Source is not the panacea of magic software creation that some people (3dfx, apparently) think it is. But when I buy a product with closed source drivers and those drivers suck, I'm fucked. If those drivers are open, at least there is hope. I find that in general, if I depend on other people to fix my problems, they will never be fixed. I hack "open source" to fix my problems. nVidia can't own every possible combination of motherboard/processor/OS, and therefore can't fix every possible problem. Open source is simply the only way to go, and I won't ever again bother with companies that aren't open with their drivers.
--Bob
Egad, who modded my original post down as "Troll"? Do your worst, metamoderators.
1^2=1; (-1)^2=1; 1^2=(-1)^2; 1=-1; 1=0.
"The problem lies between the keyboard and the chair."
No, the problem lies between the chip and the mini-D connector. NVidia only sells chips to boardmakers, who make the actual card. While almost all of them make similar variations of the reference design, it is the boardmakers who choose where they get the rest of their PCBs, filtering components, etc.
The same thing happened with nVidia's TNT and TNT2 (And with 3dfx's chips before they stopped selling to other companies). The end result is that some are quite good, and others cut corners (And a brand name is little guarantee of quality these days).
Wow, a real non-gamer crowd! Doesn't anybody remember the PowerVR Series chips? The reason NV20 will be 7x faster for complex models and only 2x faster for simple ones is that it will use tiling (my hypothesis only.) In a tiling-based architecture, the 3D renderer first sorts all the geometry, and then splits it up into small tiles. The tiles are then loaded into small on chip buffers and rendered. This has several advantages:
A) It doesn't over-render. If geometry isn't going to be seen, it doesn't get rendered. Normally, cards have to render the pixel, and then discard it if the Zbuffer test fails. With tiling, there is no Zbuffer and pixels get discarded before they're rendered.
B) The sorting allows transparency to be handled very easily since geometry doesn't have to be presorted by the game engine.
C) It allows a hideous number of texture layers. The Kyro (PowerVR Series 3 chip-based) can apply up to 8 without taking a noticible speed hit. Also, it lower the bandwidth requirement significantly since the card doesn't have to access the framebuffer repeatedly.
D) It allows incredibly complex geometry. Even though the Kyro is a 120MHz chip, it can beat a GF2Ultra by nearly double the fps in games that have high overdraw (such as Deus Ex.)
The main problem with tiling is that standard APIs like OpenGL and D3D are designed for standard triangle accelerators. As such, the internal jiggering tiling cards have to do often outweight their performance benifets. Also, up until now, only 2bit companies have made tiling accelerators, so they haven't caught on.
If you want to read the Kyro preview, head over to Sharky Extreme.
A deep unwavering belief is a sure sign you're missing something...
Yes. The only part that is Linux-dependent is the abstraction layer, for which the source code is provided. The same kernel module with a different abstraction layer is used on Windows. (If you don't believe me, head on over to that Linux dev page at nvidia -- the one with the register-level specs and such. Too bad the specs are incomplete due to NDA's...)
No one knows -- Windows itself bloats faster. :) OK, that memory leak is obviously something they are working on. It is beta software. Does it hurt so much to restart X once every few days?
Do you honestly expect them to?
You have the source code for the abstraction layer in the NVidia kernel module. Any changes necessary can be made there.
That's because NVidia's Linux driver does not require much in the way of improvements. It is pretty much complete, except for some minor bug fixes. Compare this to the Voodoo 5 driver, which was supposed to be ready a month after the release of the hardware. It is still in very poor shape (only supports one processor, no FSAA) despite having open source code.
------
The increase in speed doesn't just go to framerate. Newer game engines will have their framerate locked (at a user-specified value) and will vary visual quality based on how fast the hardware is.
How can that extra speed be used? More polygons, gloss maps, dot product bump mapping, elevation maps, detail maps, better transparency/opacity, motion blur, cartoon rendering, shadow maps/volumes, dynamic lighting, environment mapping, reflections, full screen anti-aliasing, motion blur, etc. I could go on forever. All this will be in my game engine, of course. :)
------
The problem isn't creating of complex scenes or worlds but rendering complex worlds. It has been estimated that one needs about 80M polygons in scene to render realistic looking image. Say you want 25 fps for your game - that equals to 2000M polygons/s - Even if NV20 is 7 times faster than current chips it's still far too slow to render images like this in real time. And the problem is you need those 80M polygons for just one frame. It's like you sit in a virtual room and it takes 80M polygons to present it to computer. Now imagine whole house with similar accuracy: if you had 10 "rooms" you would need roughly 800M polygons for it. Now imagine a city! The problem is how to decide 25 times per second which 80M polygons to render because you cannot even calculate whole geometry fast enough.
_________________________
_________________________
Spelling and grammar mistakes left as an exercise for the reader.
I know they have carefully thought out arguments as to why their non-open source, crappy drivers are better than open source ones. But folks, it just ain't worth it. I don't care how fast their cards are, I'll never make the mistake of buying nVidia again. Stick with the more open 3dfx, or Matrox. With them, if it crashes, you can track the bug down and fix it! Or someone else can. The number of open source hackers that might fix a bug are much, much larger than the number of employees at nVivia working on drivers.
--Bob
1^2=1; (-1)^2=1; 1^2=(-1)^2; 1=-1; 1=0.
Odd... they have not crashed on me in... umm... two driver versions ago... and then the only crashes I ever had were when switching VC's. The only problem is the memory leak when OpenGL programs crash. My OpenGL programs crash alot when I'm writing them. :) But restarting X once every few days isn't much trouble.
The NVidia kernel module is different from the old SBLive binary module in that the NVidia module has a source code layer between it and the kernel. To make the driver work with a new kernel version, you just have to update the source code layer, and in most cases you don't have to make any changes anyway. The binary part of the distribution is in no way dependent on your kernel version.
The SBLive was also different in that Creative didn't really give a rat's ass about the Linux support, whereas NVidia has basically made Linux an official supported platform and is keeping the Linux drivers exactly up-to-date with the Windows drivers.
Don't forget that NVidia's OpenGL driver is the best in consumer 3D graphics. A significant portion of this driver could easily be used to enhance any other company's drivers. The software T&L engine, for example, which contains optimizations for all those instruction sets -- I'm sure 3dfx would love to get its hands on that! Graphics hardware manufacturers typically don't even support OpenGL since writing D3D drivers takes far less work, but NVidia has gone so far as to have better OpenGL support than D3D support. They would lose a significant edge if they openned their drivers.
Let's not forget why we use open source software. I don't know about you, but I use whatever software is of the highest quality. I don't care if it is open or not. In many cases, open source produces better quality software than closed source, which is why I use it. In some cases, though, closed source is better. NVidia's closed Linux drivers are far and away the highest quality 3D graphics drivers available on Linux, and the GeForce 2 has been fully supported since before the card was even announced. The open source Voodoo 5 drivers, on the other hand, are crap to this day. I'm sure you won't have much trouble finding a Linux user who will trade you a Voodoo 5 for whatever NVidia card you have, if that's really what you want.
------
I think that with all this new 3D hardware that has come out in the last 6 months, and then the addition of the rumor of this chip, developers are going to have a hard time actually creating worlds complex enough for gamers to actually tell the difference in what card they are using.
For example, this chipset is 7 times faster in rendering complex scenes, but only 2 times faster for rendering simple 3D scenes. I know that things like shadowing and lighting effects can be built into the gaming engine, but, still, isn't there a lot left to the developer's imagination (such as actually modeling and skinning characters and the objects in the world)? I can see this bumping up the development time for games slightly more every 6 months...
Friends don't let friends use multiple inheritance.