PDA

View Full Version : NVIDIA's new policy on optimizations



dorbie
08-29-2003, 03:44 AM
This is moderately encouraging. It gives me hope that despite the past PR bluster serious people inside NVIDIA want to approach benchmarks with some integrity in the future.
http://www.tomshardware.com/graphic/20030818/index.html

All that checking and double checking makes me worry a bit about development efficiency, but if they can do it without grinding their driver development to a halt & pissing off their smart people its a good thing.

The bit about no pre canned state and drivers accelerating more than an individual title is especially welcome. No more trojan shaders.

t0y
08-29-2003, 04:39 AM
To me, it looks like just another PR "clean-up".

>> * An optimization must produce the correct image

The definition of "correct" is unclear. There's no GPU that can match exactly the reference renderer, so the interpretation is left for optimization judges.

Recent discussions regarding Trilinear filtering issues in ut2k3 (hardocp for example) with newer drivers show how "correction" can and will be bent.

>> * An optimization must accelerate more than just a benchmark

Most, if not all, games that are being used as benchmarking tools will and are being optimized for. And it's in the top of their priority lists for sure. And being back in the Futuremark beta program without optimizing for 3dm2k3 is very unlikely.

>> * An optimization must not contain a pre-computed state

I don't know if shaders with instruction reordering can be considered pre-computed state, but if they are, they're dismissing some perfectly valid optimization IMO.


Anti-flame note: I'm no ATi fanboy.

davepermen
08-29-2003, 04:43 AM
first: mafia has a policy to work with, too..

second: fun to see that the first drivers wich went trough that check-mechanism show up great performance boosts in 3dmark03, and no real boosts in other apps. and its interesting to see that they actually behave much like the old wellknown cheating drivers. only the patch 330 doesn't detect them this time.

i don't think this is more than a pr-cleanup, too.

though, i am biased possibly. i lost the trust in nvidia due all the mess they did.

dorbie
08-29-2003, 04:47 AM
Such cynicism.

M/\dm/\n
08-29-2003, 05:27 AM
I want to know how can they score so high in 3DMark'03 (finaly got the shader source on hands to optimize for?). And I'd like to see checkbox in their drivers like 'All f**n optimizations off' though I think it would be checked all the time as there is almost no visible difference http://www.opengl.org/discussion_boards/ubb/wink.gif
BTW, we could start new flame war about Unreal tournament texture filtering on NV/ATI http://www.opengl.org/discussion_boards/ubb/biggrin.gif Who's cheater this time?

Ostsol
08-29-2003, 08:19 AM
Originally posted by M/\dm/\n:
BTW, we could start new flame war about Unreal tournament texture filtering on NV/ATI http://www.opengl.org/discussion_boards/ubb/biggrin.gif Who's cheater this time?
Last I saw, the only filtering optimization ATI was using was trilinear for texture layer 0, but bilinear for all others when anisotropic filtering was forced in drivers. When set to application preference it obeys the application. Did I miss something?

V-man
08-29-2003, 09:41 AM
You can bet that there has been plenty of meetings and discussions before that was released!

But what about this :
"The Futuremark optimizations, which are deactivated through the 3D Mark 2003 Patch v330, seem to be active again in the new driver."

That is inside the conclusion section.

Where do you guys read about the optimizations beeing done? What`s this about texture 0 an trilinear filtering on ATI.

Nakoruru
08-29-2003, 09:58 AM
What I want to see is a control panel listing every single optimization, bugfix or workaround in which the driver has to check the application it is running under. Then, have a checkbox beside each one so I can turn them off and on.

If there are any other optimizations in which there is a quality/speed tradeoff, but which are active for all applications, I would like to be able to see those as well (many are already listed in the control panel).

It would be perfectly valid for a video card review to list scores for both the unoptimized and optimized versions the driver.

I think it is perfectly legitimate for nVideo or ATI to optimize for popular games. But this needs to be highly visible, and I want to be able to opt out.

Nutty
08-29-2003, 10:33 AM
From what I've heard, the 45.23 drivers, still dont do trilinear filtering correctly with Aniso enabled in UT2k3. And its also app dependant. (renaming other .exe's to ut2k3, stops trilinear working correctly) So to me these drivers still have app specific IQ degradation for the sake of performance. Not the best start really.

bozland
08-29-2003, 11:16 AM
Beside me with new driver nVidia does not work Doom3 E3. This bad though earlier worked. I have GeForce 4 TI. GeForce FX did not check.

al_bob
08-29-2003, 11:36 AM
Doom3 E3 used Fragment Combiner Programs, which has been removed from our drivers.

See http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/010297.html

Korval
08-29-2003, 12:26 PM
What I want to see is a control panel listing every single optimization, bugfix or workaround in which the driver has to check the application it is running under. Then, have a checkbox beside each one so I can turn them off and on.

Remember, normal people have to use this dialog too; you can't flood them with 1001 useless options. And detailing what these optimizations are can get very lengthy.

For example, take "dead code removal" in a shader compiler. Makes good sense. Would you ever, even in a debug build, turn it off? No. Should it, therefore, be listed? What about, "VBO's use AGP memory ever"? Are you ever really going to want to turn this off? Is it really even considered an optimization, or simply the fastest implementation of the extension?

Really, the kinds of optimizations you're looking for are quality-vs-performance optimizations. Tuning the filtering level of textures, regardless of what the application asked for, that sort of thing.

However, since these are application specific, the description has to tell you which application it is for. And, therefore, the dialog has to mention a non-trivial number of trademarked names. Not to mention that this listing, essentially, serves as an endorsement of the product; I'd be pretty honked off if my game wasn't on that list. Lawsuits start from this kind of thing.

bozland
08-29-2003, 12:56 PM
For al_bob.

But I do not think that this even gets to NV_fragment_program.

Doom3 menu or console used NV_fragment_program? http://www.opengl.org/discussion_boards/ubb/smile.gif

When I start Doom3 immediately before console then white screen blinked. Realy this NV_fragment_program? http://www.opengl.org/discussion_boards/ubb/smile.gif

Nutty
08-29-2003, 01:16 PM
Regarding doom3 leaked alpha, the reason it no longer works is because nvidia prevent it from working at the request of id.

Its not because any features have been removed.

In order to work around it, try the 43.30 drivers, with NV30 emulator turned on, not Force Software Rasterizer tho!

al_bob
08-29-2003, 01:21 PM
Obviously, it must be a conspiracy between iD, nVidia and space aliens. Damn those aliens.

Edit: spelling.

[This message has been edited by al_bob (edited 08-29-2003).]

bozland
08-29-2003, 07:36 PM
This not problem, Doom3 E3 this not game. This only demo. I understand that nVidia has not allowed such mistake if this was a game.

dorbie
08-29-2003, 11:17 PM
Hmmmm, I suspect NVIDIA has many employees who were more disappointed than most of us that this happened. Some of the safeguards suggest to me that they are trying to stop misguided individuals there doing this in the future and have had a serious review of how some of this crap got in their drivers.

Maybe I'm just being naive, but this is a good sign IMHO.

kansler
08-30-2003, 12:44 AM
3dmark03 being the only piece of software actually running faster with the new driver raises the following question. Are nvidia's 'optimizations' back? Or does this prove that 3dmark03 consist of unoptimized code which can't be considered a decent benchmark?

Nutty
08-30-2003, 02:40 AM
I agree Dorbie. I dont care what they do under the hood, as long as IQ is not changed, or degraded.

3dmark03, is a valid benchmark, but its not indicative of actual gaming performance, their doom3 engine clone is horrendously inefficient.

matt_weird
08-30-2003, 06:50 AM
..yeah, that's trully amazing how did they manage to convince people to trust those synthetic B*TCHmarks, while all that consumer video hw is designed mainly for games these days.. http://www.opengl.org/discussion_boards/ubb/mad.gif

Nakoruru
08-30-2003, 09:01 AM
Korval,

I'm not sure how to respond. You seem to have both misread me, and you have a really pesemistic attitude.

You don't even seem to agree in principle that nVidia should be more open about what sort of application specific optimizations are done.

My post was not a design document, just an idea. I'd have more to say, but because did not really address what I wrote, I'd just be repeating myself.

Korval
09-02-2003, 09:47 AM
You don't even seem to agree in principle that nVidia should be more open about what sort of application specific optimizations are done.

Not to the level that you're suggesting, no.

I'm of the belief that any optimization should work for any application, and that no one should put app-specific optimizations in at all. However, given that no driver writers today accept this policy, I'm perfectly willing to accept that some software goes faster than others, even if they do virtually the exact same thing. I don't need to know how they optimized it or that it can be turned off; the time has already been spent/wasted, so I'm not interested in the particulars of the results.


My post was not a design document, just an idea.

A bad idea, as I pointed out.

Nakoruru
09-02-2003, 12:11 PM
That makes it much more clear to me now Korval. I was confused, because it seemed to me as if your argument was like an anti-abortionist arguing about how abortions should be done. I mean, if you don't think application specific optimizations should be done at all, then why tell me that a control panel which lists optimizations would be non-user friendly? It clearly doesn't matter to you how user friendly it is, because you don't even believe it should exist.

Another way to put it, what if I promised that it would be so user friendly that your grandmother could use it (even if she is dead). It wouldn't change your mind, so why bother.

What if I could guarantee that no one would ever sue nVidia for a specific optimization? You don't care, so why bother?

Enough of that. If nVidia is going to create application specific optimizations, they should be open about it. The actual truth or falseness at the moment of the first part of that implication does not falsify the entire implication.

Korval
09-02-2003, 01:43 PM
I mean, if you don't think application specific optimizations should be done at all, then why tell me that a control panel which lists optimizations would be non-user friendly?

Because it's true?

The veracity of my previous statements are not in question. That particular section of the control panel would be full of huge, very technical, descriptions of a number of optimizations/etc that 99.9% of graphics card users don't care about one bit (if they understood it at all). And, of the 0.1% who would understand them, only about 1% of them would ever even consider turning any of them off. The section in question would be useful to only 0.001% of the graphics card user populace, which is hardly reasonable for them to add. Also, I seriously doubt you could design a user-friendly way to turn on and off highly complicated features.


It clearly doesn't matter to you how user friendly it is, because you don't even believe it should exist.

However, I happen to recognize that I live in a world where not everything is as I decide it to be. I can still have opinions on subjects that I don't agree with having around. And, therefore, given that drivers include app-specific optimizations, I think it is a bad idea to have a driver interface to view and turn on/off these optimizations, for the various reasons I mentioned before.


What if I could guarantee that no one would ever sue nVidia for a specific optimization?

You can't, so the point is moot.


If nVidia is going to create application specific optimizations, they should be open about it.

Why do you need to know precisely what is being optimized? Why do you need that in-depth knowledge of how their drivers and GL implementations work (which is propriatery, and therefore, isn't going to be given out)?

CatAtWork
09-02-2003, 03:27 PM
Originally posted by Korval:
Remember, normal people have to use this dialog too; you can't flood them with 1001 useless options. And detailing what these optimizations are can get very lengthy.


Why do normal people have to use this dialog box?

It would be nice to know what set of optimizations have been made when your app breaks on driver revisions. Less head scratching and finger pointing.

M/\dm/\n
09-02-2003, 11:01 PM
Things can be done in the way OC is hidden in CP. Install coolbits.reg & VOILA, you have all the stuff you need, but if you're hummer, then ther's nothing that makes your head hurt http://www.opengl.org/discussion_boards/ubb/biggrin.gif

Zengar
09-03-2003, 12:10 AM
I got an unexpected performance dropdown on my FX5600 with the new driver, althought image quality looks a bit improved(on Quality tab setting http://www.opengl.org/discussion_boards/ubb/smile.gif - a Performance setting makes everything to look disgusting). I hoped they whould do some optimisations on ARB_fragment_program... well...

BTW - sorry for same stupid question - does someone know when we will be able to use glslang? Is GL1.5 ready by now? There should be experimental support for glslang if I'm not mistaken.

Nakoruru
09-03-2003, 10:23 AM
How can the fact that I used a rhetorical question make my point moot? (<-- not a rhetorical question)

My point was that the reasons you are against nVidia having a more open policy on optimizations actually have nothing to do with one company suing another or with how user friendly such openness would be.

I refuse to argue with a person who presents points that make no difference to them! If you say "Somebody might sue nVidia!", and I say "Well, what if they didn't", and then you say "Umm, well, it still makes no difference to me", then why should I bother to give you a real reason to think nobody would sue? It would be a waste of time because you don't care. If you don't care, why do you even bother to argue that point? That is called a red herring and I consider that a dirty trick.

That is why I proposed that rhetorical question, because I wanted to gauge if you were serious.

I think we should just continue to disagree. I'm not interested in a discussion where I have to explain the simplest rhetorical devices or be baited into arguing points that don't make any difference.