GeForce3 and Linux
IsyP writes: "I noticed on evil3D.net that they have posted the first benchmarks of the newly available GeForce3 in Linux. Funny how the marginal performance increase coincides nicely with shipping delays and a $150 price cut to ~$350 from the original $500. Either way, it is nice to see performance of that level in Linux."
NVIDIA's OpenGL offering is IMHO a GREAT driver. I'm doing OpenGL programming using it and getting great speed and visual accuracy. Also for a 3rd party Kernel Module its damn stable - cant't remember when it last crashed (never on the 0.96 release I think)
Actually, nVidia tends to work on 6-8 month refresh cycles. the "fall refresh" for the GF3 (if we see one this year, considering that the GF3 is only now becoming available for purchase by the masses) would be a GF3 Ultra, or GF3 Pro. As well, you'll see GF3 MX (neutered like all the other MX cards -- cut out half the rendering pipelines), Quadra (high-end workstation version), and GO (mobile) versions.
However, unless you love to live on the bleeding edge (which admittedly many people do, and those that do should know what they're getting into), there's no point in upgrading your card with every refresh. If you've got a GeForce 256, or any MX card, the GF3 might be a good buy for you in a few months. If you're running a GF2 (anything but MX), you shouldn't bother with the GF3. If you're still on a TNT2 or older, the GF3 is the board to get. Amortize the $400 price over three years of not buying a video card ($125 for the GF 256 you didn't buy, $125 for the GF2 you also didn't buy, $150 for the GF3) and it becomes easily palatable.
Bah. 3dfx had sucked for quite a while prior to their death. Half-assed competition is not competition at all. However, believe it or not, there's still competition in the 3D accelerator market. ATi's Radeon line is going strong, and a new rev is expected later this year. The upcoming Kyro II board (boards? Or is Hercules the only board manufacturer?) looks to really push nVidia on the low end, as well.
With that said, you'd have to be blind not to acknowledge that nVidia is currently the leader in high-end, gaming, mid-market, low-end, and even moving into mobile video for a reason -- damn good technology. The GeForce 3 continues along that line. The only problem is that we've currently hit a bandwidth bottleneck, so you're not going to see ever-increasing frame rates. What you are going to see are higher framerates at higher detail levels when developers begin taking advantage of the new features.
As for 3dfx being "good" because they supported Open Source, all I can say to that is "bah". If you want to make your purchasing decisions based on something so ephemeral, that's fine by me. I'll continue to purchase top of the line hardware because I like getting the most for my money, all philosophical differences aside.
Tribes 2 is also, "Yesterday's game". The 3D engine in it is just an evolutionary upgrade from the Tribes 1 engine.
Until games come out that specifically make use of the GeForce 3's new capabilities (per pixel shaders, vertex shaders, etc...) then there won't be any program that gives a total picture of what the card can do.
NVidia is basically doing what Intel used to do, play with MHz figures and charge a hefty premium for their latest "new" chip.
... (they're not crap, they're just not free)
Bullshit. The GeForce3 has a bunch of new features that other graphics cards don't even come close to. Ever heard of vertex and pixel shaders? Now you can write your own little program that runs on the graphics card for every vertex or for every pixel drawn. And it's a powerful language, too!
Current games don't take advantage of that, but wait a year or so, and you will change your mind. An area where these things are already used (at least in prototypes) is visualization. It is now possible to do 3D volume rendering etc. at very high speeds using these features.
So comparing the GeForce2/3 to the P133/150 is ridiculous. Drivers are a different matter, though
EagerEyes.org: Visualization and Visual Communication
"Easy". Check out the first paper on this page. It's from SIGGRAPH 2000, where it rocked my world. ;^) It describes how OpenGL, with two (fairly simple, although not supported by today's[*] hardware) extensions, can be used to execute RenderMan shaders.
[*]: Check out what a certain id Software programmer typically says when asked about desirable future directions for rendering hardware, and extrapolate.main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
You have a really good point here.
I run RH 7.1 and Quake 3 is okay under linux (Geforce 256 DDR, P3500) but it's still a touch better under windows. The problem is, when something like updatedb kicks off, it slows to a crawl.
I really can't think of a good way to deal with this, when I'm starting a game I don't always think about everything that's scheduled to run in the next hour, or could be started for some reason. What I'd like to have is a script I could run that would automatically knock everything else down prority wise before I launched to game.
I guess what this comes down to is me not really understanding enough about how procoess prority is handled by the kernel so I'm not sure how fix this. Has anyone else ever tried to set something like this up before? If there were tools out there to do this I think it would do a lot to improve gaming on linux.
Carmack's been highly critical of game technology for as long as I've been reading his plans. It's not fanboy-like; the guy's a tech-head and evaluates things from a more rational perspective than the hype and ad copy we're used to seeing. Let's face it: the usual sources, e.g., IGN, PC Gamer, Penny Arcade, don't sweat the technical details; as long as the staff can frag in increased visual glory they're pleased as punch. If the Carmack gets enthused about something, it's going to be good.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
PER-PIXEL SHADING : What is per-pixel shading? It's a method of applying special rendering effects... per pixel. It allows material and real world effects to be applied individually to a pixel for more accuracy and intensity. Per-pixel shading will redefine the visual look and feel of imagery for PC graphics. Per-pixel shading has long been used in film production to create a more realistic and lifelike appearance for computer generated imagery. If you've seen Toy Story, you'll definitely remember Buzz Light-year. Remember the translucent reflection on Buzz's helmet? How the environment and light streaks reflected off the glass but also let the image underneath show through? That was done with per-pixel shading. Until now, it wasn't practical to use per-pixel shading on a PC because of the intense power and processing requirements needed. Sure, you could have done that in 3D Studio but could you have done it in real-time? Could the effect be applied to an entire frame at high resolution in 1/60th of a second? Not until now.
Per-pixel shading is useful for simulating natural phenomena and accurate surface attributes such as fur, cloth, metals, glass, rock, and other highly detailed surfaces. Traditionally, effects were done on an entire triangle and sometimes an entire texture using a technique called interpolation. Special effects were done using calculations based on the vertices of the triangle and interpolating the entire area from the vertices. The end result is a generalized visual appearance... like an estimate or approximation of the final image. The key benefit of using interpolation is that it is fast and easy to apply. But, the downside to it is that with large triangles, the resulting image contains artifacts, which degrades overall image accuracy and quality.
Using per-pixel shading, effects and calculations are applied to individual pixels. Since the triangle will be composed of many pixels, the resulting image is highly accurate in representing what the image was intended to be. Let's assume that a generic triangle is drawn together (including its area) using 100 pixels. Now, we also have a effect pallet of 10 effects. Each pixel then, can accept any one of the ten that are available. That's an outcome of 10,000 different possible effects just for that one triangle. If interpolation was used, than the effect is fixed using that one out of ten effects and generalized across the entire triangle. Below is a visual comparison between interpolation and per-pixel shading.
PROGRAMMABLE PIXEL SHADERS : The GeForce3 can handle four or more textures at a time. Logically, the GeForce3 would have to be able to handle them independantly to accomplish the "infinite" number of effects that Nvidia claims it is capable of doing. Besides juggling textures independantly, they are also able to apply effects to each texture independantly using the DirectX8 shader, as been said by Nvidia.
With the new engine, it is possible to have effects like a texture surface that's shiny, bumpy, and dynamically changing. Also, with the nfiniteFX engine (programmable pixel and vertex shaders), the developer can custom program the engine itself to do whatever they want it to do from an unlimited number combinations and permutations.
Once the texture combination calls are completed, there can be an unlimited number of combinations that you can do with the 8 texture blends. All of this wraps under the DirectX 8 pixel shaders.
MY DISPUTE : Is that the drivers that Evil3d used weren't using any of the extra API calls. Given, they aren't out yet. But by disregarding these new features along with the GF3, it makes it look like it is just an overpriced GF2!
If anyone has seen the presentation that John Carmack made at MacWorld this year, he unveiled his next 1st-person shooter. It looks qutie realistic and not to mention it is full of these new API calls. (It isn't just wasted coding, it does have a purpose.)
That's what makes the real difference, the ability to play games in full color, with reasonable screensize (800 or 1024) and heavy FSAA.
Guess i've to wait for those benchmarks though :-/
Probable impossibilities are to be preferred to improbable possibilities.
Aristotele
The graphics card area of interest has moved away somewhat from the super-high fill rate battles that were all the rage in the day of the Voodoo cards.
It's all about interesting and orthogonal features now. GeForce 3 brings vertex and pixel shaders in hardware to the mix, as well as hardware shadow map support. The disappointing thing is that 3D textures (despite word otherwise from John Carmack) don't appear to be accelerated in hardware, at least with latest drivers (see a recent thread in the advanced section of www.opengl.org on that unfolding story - NVidia are soon to make an announcement on what the deal really is).
Being able to program in a pseudo-assembler language for custom per-pixel effects is a hark back to the old days when you had complete freedom over everything you could do, but most of it was slow. Now we have a better mix where we are hardware accelerated, but pretty flexible down to a programmable level. *However* the current revision of pixel shaders (1.0? 1.1? can't remember) on DirectX (and very similarly and more relevantly on OpenGL) aren't as flexible as some may like (notably John Carmack), since to paraphrase him "You can't just do a bunch of maths and lookup a texture". Hopefully that will get better with time.
Yes these things are important to games mostly. And yes they are arguably the biggest step forward in consumer graphics tech since the original 3dfx card... certainly since hardware TnL. Wait for the price to come down (since initial pricing is aimed at developers and the *really* hardcore gamer), and in the meantime amuse yourself with some of the demos from Nvidia's developer site. Nvidia are by far the most developer friendly company I've ever encountered, so short of Open Sourcing their drivers (which we have no right to expect them to do), they are almost ideal from my (developer's) perspective.
Henry
i don't do sigs. oops.
I'd argue that the reason why the performance is only marginally better is due to the Linux drivers probably being VERY early drivers.
On Windows (which has the more developed drivers at this point in time, since NVidia would have that ranked as a priority) at 1600 * 1200 the GeForce 3 has a healthy increase over any previous video cards, whereas in this benchmark the performance is actually worse as the resolution increases! (Windows benchmarks of the GeForce 3 are the inverse of this)
Give NVidia some time and then benchmark the GeForce 3 on Linux, the performance increase should be a nice gap.
Also notice the distinct lack of details about the benchmark... the only details given are the system specs, so I would be inclined to question how valid the results really are.
Judging from the benchmark results - the GF3 doesn't strike me as a particularly good buy right now...I doubt there will ever be a GLX driver that will make use of these new shaders on the chip - as it would seem that the code must be customized particularly for a particular game. As graphics-card-specific hacks are quite rare in linux, I doubt that the GF3 will ever become the graphics card of choice for it (especially given that you have to go and download a kernel module before it'll even work in 3D!!)
Andrew
Now that Linux comes closer to professional 3D solutins, we need more software that makes use of it.
No, not Quake. Real software.
Maya is coming soon, but there are still a few other things that you need to have a complete 3D solution, like proper NLE and PostPro software. Plus, a bit of competition wouldn't be bad: How about Cinema4D or Imagine? It'd also be cool to see Elias or Eclipse on Linux.
Surely the Open Source Movement is once again hindered in the creation of drivers that make full use of the GeForce3's capabilities because it was developed for DirectX 8.0.
:-) ), and so it's difficult to say whether we're looking to nVidia to provide drivers for Linux, or we hackers will have to develop them ourselves.
I don't know how closely guarded a secret the methods of DX8 are by their owners (I'll tactfully not mention their name
Which brings to the fore once more the issue of driverless hardware being largely redundant. Can we ask nVidia to take the same care over their Linux drivers as those for Windows? And then, will we get them as Open Source?
(come on, you and I know that nVidia don't make money out of driver sales, and so it's going to be okay for them to write the drivers so they sell the card to all you hardcore gamers who also choose Linux.)
Take care,
Ken.