Interview with David Kirk

D.Kirk on Voodooextreme said:
"Right now, with GeForce4, antialiasing is almost the same speed as aliased rendering"
Amazing... I guess he never compared 4x AA results on 3D Mark 2001 at 1600x1200 :LOL:

Maybe he was thinking of some CPU limited cases :)
 
Reverend said:
Kirk is an extremely smart guy. Unless you trade emails with him about 3D technology, you probably won't know that of course. It's easier to get non-PR answers when you talk direct (which was the case between me and Kirk) but sadly NVIDIA has decided that Kirk can't answer directly to members of the press.

Anyone who works for a company and is dedicated to the company he works for is that company's salesman.
I have no doubt that he is extremely smart... he just won an achievement award at SIGGRAPH, and you don't get to be chief scientist at Nvidia by being an idiot. The problem is that he is making statements that clearly undermine his credibility when viewed by anyone that knows more than a little about graphics. This forces you to wonder of how much of what he says is his honest opinion, and how much is designed solely to cover up weaknesses in his company's products.

For example, rather than acknoweldging that there are many valid ways to perform anisotropic filtering, he makes statements like the following:
That brings me to a point about doing it right, versus cutting corners. Do you know that one of the hardware vendors only antialiases the top and bottom of the screen, but not the middle? That’s because in one of the main benchmarks, Quake3, you don’t see much difference. But, now you know: look for it, and you’ll see it.
Not only is this a ridiculous oversimplification, but do you honestly think someone as bright as Mr. Kirk would think a fast adaptive algorithm is "wrong" while a slow, brute force approach is "right"? Even as he admits that with Quake 3, "you don't see much difference"? Certainly both methods have their merits - but instead of taking the opportunity to discuss that objectively, he takes a pot-shot at a competitor. It makes you wonder how much of what is attributed to him in interviews is his own true belief, and how much is Nvidia's company line. In any case, I think people have a right to expect more from a Chief Scientist.
 
Dr David Kirk said:
It goes something like this:

DP3 R0, c[11].xyzx, c[11].xyzx;
RSQ R0, R0.x;
MUL R0, R0.x, c[11].xyzx;
MOV R1, c[3];
MUL R1, R1.x, c[0].xyzx;
DP3 R2, R1.xyzx, R1.xyzx;
RSQ R2, R2.x;
MUL R1, R2.x, R1.xyzx;
ADD R2, R0.xyzx, R1.xyzx;
DP3 R3, R2.xyzx, R2.xyzx;
RSQ R3, R3.x;
MUL R2, R3.x, R2.xyzx;
DP3 R2, R1.xyzx, R2.xyzx;
MAX R2, c[3].z, R2.x;
MOV R2.z, c[3].y;
MOV R2.w, c[3].y;
LIT R2, R2;

In Cg, the code is 2 lines:

COLOR cSpec = pow(max(0, dot(Nf, H)), phongExp).xxx;
COLOR cPlastic = Cd * (cAmbi + cDiff) + Cs * cSpec;

And first price in the obfuscated PS code contents goes to...

OK, it wasn't that bad. But it's obvious that the PS program is "spiced up" to look more complex than it is.

Why put the prefix '.xyzx' on every place you only use the first three components of a register? Just leaving the register without any prefix would do the same thing, and be the most natural thing to do.

Why does the PS code keep normalizing vectors when the Cg code doesn't, and that's not the only differense in the calculation? (Does Cg have some kind of vector data type that get auto-normalized?)

Why do MOV component by component when you can move any number of components in one instruction?

Why do the 'MAX' instruction when it's already built into the following 'LIT'?

The PS program is kind of an extended version of the first line of Cg code. But that line of code can actually be written in 4 PS instructions. The following line can be written in 3 PS instructions.


Don't get me wrong, I think it's great that we start to see C-like shading languages for home 3D hardware. But if he want to put the message forward then he should show some kind of respect to the readers that is supposed to use it, and do a fair comparison. Even a fair comparison would show that a HLSL is more readable, he doesn't need to overdo it.

Reverend:
You might want to give David Kirk a chance to correct that so he doesn't look stupid. (Or you might not want to do that if you want him to look stupid, that's up to you.)


Update:
I realized where he got the MAX/MOV/MOV/LIT sequence from. That's the sequence you get from the Cg compiler when you tell it to compile pow(max(0,A),B). An assembler programmer would do it in two instructions.

And this is actually a difficult part about writing compliers. It's easy to look at the C-code and expand each part to a few instructions. It's not as easy to see that expanded code from two functions then can be compressed to a fewer instructions. It's possible and it's done in most compilers with optimizations turned on, but it's not easy and it doesn't seem to be done in the cg compiler yet.


Even more update since I read a few more posts:
Regarding this being an "interview". I suppose that most interviews on web sites are done in a DX6/7 style (pre dependant texture reads). It's more like a Q&A where you send a bunch of questions to someone, he thinks about them for a while and sends answers back. And that's it. You might get some clarifications if some answers are unclear, but you don't get a chance for followup questions. (Say if I'm wrong Reverend.)

So it's either a inteview with "question dependancy"=0, or there is no interview at all. And if that's the choices, then I take the limited interview. Because even if it has a high marketing speak factor, it's more likely that there are some interesting bits in there than in a pure marketing document.
 
"The workstation vendors do stupid driver tricks to make CDRS go faster, while consumer vendors do stupid driver tricks to make Q3 go faster"
J.carmack..
-------------------------------------------------------------------------------

i think this old quote is good to remember for those peoples
who fanatically believe in SOME companies with theirs so called "game benchmarks" or Hardware quality and "features" as the ultimate Truth.

http://www.digit-life.com/articles/gf4/index6.html

and i think this is just ONE example of this STUPID tricks john carmack
was saying..

"eficient way of AF" ? no thanks!

good to hear also about the antialiasing trick(cheat) to score better fps in games. Flight Simulators fans will not be very happy to know about
this BELIEVEME!!. :devilish:
the more customers are aware of this very un-profesional practices
the LESS Videocard companies will be tempted to cheat ,forcing
then to bring Just quality products.

but i think those Stupids ; who dont REmeber the past are condemned to repeat it AGain ... Quake3 "Quackhack" time demo anyone?

Im not saying that Today!! ATI is doing the SAme Stupids! Things
they have done in the past to get higher numbers in timedemos at
the expense of Image quality.

but i hope his next product really Shines! in not only in performance
but in Imagequality without doing STUPID Things like thay have done
in the Past.

So i welcome the comments of ANY!!! scientist or expert in the Industry from ANY company that say the STupids things SOme companies are doing .. and stop them from lying to the public and from doing this AGAIN in the Future..!

At least if we are going to pay very hard earned $400.00 for something we deserve to know the truth about the quality of the product.
dont you think?
 
Basic, I think the real issue is whether developers want to hand tune vertex shaders to compress them to optimal length, or write in HLSL.

I could show you how ugly C/C++ compiler code looks and argue that "I could hand write 80x86 assembler that is alot shorter", but the number of people willing to do that is small.

I don't think we should require absolutely optimal code in these examples because where do you stop? Some nitpicker is always going to find a way that it could be optimized by yet another method.


Anyway, I think lines of code comparisons are stupid. A terse language is not a readable or maintable one. I personally opt to write expressions over multiple lines and rely on common subexpression elimination in the compiler, since it is more readable to everyone.

I optimize at the last step, and only the code that performs badly.

The real power of HLSL comes from freeing developers from register management and condition label management and introducing structural improvements to allow programs to be decomposed into subroutines, loops, blocks, etc It makes code alot more readable, easy to modify, and checkable by the compiler for correctness.
 
artisan7 said:
and i think this is just ONE example of this STUPID tricks john carmack
was saying..
"eficient way of AF" ? no thanks!
So you want every feature to be slow and unoptimized? And I don't think John Carmack has an issue with AF.
good to hear also about the antialiasing trick(cheat) to score better fps in games. Flight Simulators fans will not be very happy to know about
this BELIEVEME!!. :devilish:
Who was the vendor? Until I see this in action, I'm not going to blindly believe some person from nvidia.
but i think those Stupids ; who dont REmeber the past are condemned to repeat it AGain ... Quake3 "Quackhack" time demo anyone?
Back to this again, are we? Why not mention 3D Mark 2001 and splash screens while you are at it?
Im not saying that Today!! ATI is doing the SAme Stupids! Things
they have done in the past to get higher numbers in timedemos at
the expense of Image quality.
Where?
but i hope his next product really Shines! in not only in performance
but in Imagequality without doing STUPID Things like thay have done
in the Past.
Like what? Are you talking about a driver bug (Quake/Quack) or hardware design issues (anisotropic filtering)?
So i welcome the comments of ANY!!! scientist or expert in the Industry from ANY company that say the STupids things SOme companies are doing .. and stop them from lying to the public and from doing this AGAIN in the Future..!
So you want to see companies slinging mud at each other? This is happening already. Read Kirk's comments about nvidia's competitors. :rolleyes:
At least if we are going to pay very hard earned $400.00 for something we deserve to know the truth about the quality of the product.
dont you think?
Isn't that the job of reviewers? :rolleyes:

If you aren't knowledgeable enough to make your own decisions about what 3D hardware is right for you, then you are at the mercy of whatever source you listen to, whether it's a web board or some company's marketing.
 
DemoCoder:
I think were pretty much on the same wavelength. I agree fully with everything you said.

But I don't like the idea to deliberately obfuscate and show code with different functionality just to "spice up" the argument. The asm snippet have "features" that do one and only one thing - make it less readable, no sane person would write it that way. The 4+3 instructions I talked about isn't an carefully handtuned solution, just the most intuitive and direct solution you see directly if you know the instruction set.

So what I mean is that the reasons you give why a HLSL is good, is so strong that you shouldn't need "spice up" the asm code to make a point.
 
I agree. Kirk shouldn't be using the "lines of code" argument. I mean, we've all seen those super-nasty condensed C while loops that do a whole bunch of side effects in the condition expression. Just because it's condensed to one line doesn't mean it's desirable.

If that's the only benefit that high level programming has over assembly, it's a wonder we ever adopted it. :)
 
Coming from Rev, doesn't surprise me at all.

demalion said:
oyvind said:
Voodooextreme have posted an interview:

http://www.ve3d.com/hw/interviews/davidkirk/1.html


Øyvind

Is there any competitor that he doesn't take a shot at? Ah well, my only real problem is with the name "interview" slapped on to that, the text is exactly what every company would do in an advertisement....ahh, internet journalism.

EDIT: Reverend!?!? For shame!
 
Conducting interviews through email is not the preferred method. You start out by asking/sending a bunch of questions where the interviewee has lots of time to answer them. You really want to conduct interviews either through the phone or face-to-face - that way, you ask a question, get a spontaneous answer, and then ask another completely different question or you can follow up on the original question by asking another if you want clarification on the original answer. That's the best way but sadly this doesn't happen through emails because if you send one question at a time, wait for the answers, then ask another question requesting clarification on the answer before you move on to the next question, too much time is spent going back and forth through emails. So what happens in email interviews is that you send out a list of questions, get the answers back (which would have gone through lots of careful consideration) and then you either go with it or you send out another batch of questions that have to do with the original answers given. While the latter is preferred in email interviews, such is the prohibitive nature of going through a middle man (Burke in this case). Add in the fact that this interview already consist of 15 questions and Kirk's time may be limited wrt giving interviews to websites, it may become tiresome and boring to the interviewee (i.e. Kirk) if it goes back and forth (I know I would feel that way). It was nice back when I could email Kirk directly and we go back and forth on certain 3D technologies but Kirk later emailed me saying he's been told by PR to have all such emails from folks affiliated with websites to go through PR first.

So, in response to demalion, yes, on receiving his answers there were lots of additional questions I wanted to ask (I couldn't understand his phong shading codes, I felt he he didn't really understand my GPU/CPU question, I wanted more elaboration on sparse sampling AA, he didn't know what I meant by post processing all pixels for AA, his AA/aniso apparent mix-up, as examples) but I appreciated Kirk's time and effort for a 15 question interview. He has probably invested all the time and effort he could afford for this interview and with his busy schedule (he gets something like 500 emails a day, flags some of them, of which I take great pride in saying he does mine :) , answers those he feels he can... and spend the rest of the day doing other less important stuff in the office like coming with new bright ideas to be implemented :) ) and for him to revisit this interview (by answering additional questions) may be a bit too much to ask.

Also, remember, as much as I (and the public!) want juicy stuff in interviews, the reality is that the interviewee has to be careful with his words so as not to divulge any information (or even hints!). This interview was set out from the start to be general 3D technology and not to even try to lead him into giving us info on NVIDIA un-announced technology (or trick him into saying them!).

GraphixViolence, I believe Kirk's credibility is intact and solid to those he thinks are his priority. I probably don't fall into that priority list of his nor are the VE visitors nor the Beyond3D forum smartie-brains (that's meant in a respectful manner!) nor any such website for the matter. Maybe he would've given different answers (and perhaps spent even more time answering the questions) if I was with OpenGL.org or some such site that surely would be higher up his priority list. Sad but probably true.

Basic's last comments are basically the summary of all of the above.
 
Forgive me for being abrasive. I think these are just excuses; if you knew that it was going to turn out this way (ie the interview is going to be screened and modified by the public relations team), I feel that you should have been more discretionary.

This is understandable, because every other hardware site is doing the same thing. Sad, but true.

It just happens that quite a few of the forumers here are wary of the spin-doctoring (by the companies), and rightly so too.

Reverend said:
Conducting interviews through email is not the preferred method. You start out by asking/sending a bunch of questions where the interviewee has lots of time to answer them. You really want to conduct interviews either through the phone or face-to-face - that way, you ask a question, get a spontaneous answer, and then ask another completely different question or you can follow up on the original question by asking another if you want clarification on the original answer. That's the best way but sadly this doesn't happen through emails because if you send one question at a time, wait for the answers, then ask another question requesting clarification on the answer before you move on to the next question, too much time is spent going back and forth through emails. So what happens in email interviews is that you send out a list of questions, get the answers back (which would have gone through lots of careful consideration) and then you either go with it or you send out another batch of questions that have to do with the original answers given. While the latter is preferred in email interviews, such is the prohibitive nature of going through a middle man (Burke in this case). Add in the fact that this interview already consist of 15 questions and Kirk's time may be limited wrt giving interviews to websites, it may become tiresome and boring to the interviewee (i.e. Kirk) if it goes back and forth (I know I would feel that way). It was nice back when I could email Kirk directly and we go back and forth on certain 3D technologies but Kirk later emailed me saying he's been told by PR to have all such emails from folks affiliated with websites to go through PR first.

So, in response to demalion, yes, on receiving his answers there were lots of additional questions I wanted to ask (I couldn't understand his phong shading codes, I felt he he didn't really understand my GPU/CPU question, I wanted more elaboration on sparse sampling AA, he didn't know what I meant by post processing all pixels for AA, his AA/aniso apparent mix-up, as examples) but I appreciated Kirk's time and effort for a 15 question interview. He has probably invested all the time and effort he could afford for this interview and with his busy schedule (he gets something like 500 emails a day, flags some of them, of which I take great pride in saying he does mine :) , answers those he feels he can... and spend the rest of the day doing other less important stuff in the office like coming with new bright ideas to be implemented :) ) and for him to revisit this interview (by answering additional questions) may be a bit too much to ask.

Also, remember, as much as I (and the public!) want juicy stuff in interviews, the reality is that the interviewee has to be careful with his words so as not to divulge any information (or even hints!). This interview was set out from the start to be general 3D technology and not to even try to lead him into giving us info on NVIDIA un-announced technology (or trick him into saying them!).

GraphixViolence, I believe Kirk's credibility is intact and solid to those he thinks are his priority. I probably don't fall into that priority list of his nor are the VE visitors nor the Beyond3D forum smartie-brains (that's meant in a respectful manner!) nor any such website for the matter. Maybe he would've given different answers (and perhaps spent even more time answering the questions) if I was with OpenGL.org or some such site that surely would be higher up his priority list. Sad but probably true.

Basic's last comments are basically the summary of all of the above.
 
Thanks for responding, Reverend. I can understand where you are coming from.

I just have a poor response for that type of Q&A seesion and the term "interview"...I guess "Q&A session" would have suited my own anal retentiveness better :LOL: . To be clear, addressing the concern that I'm an ATi advocate, there have been ATi "interviews" that have been pretty much identical (though I don't have a recollection of pot shots like in that one), and I suspect that is all there will be in future, as the one interview I remember that wasn't useless got the guy in a whole lot of trouble for the next few months ;) .
 
Reverend said:
GraphixViolence, I believe Kirk's credibility is intact and solid to those he thinks are his priority. I probably don't fall into that priority list of his nor are the VE visitors nor the Beyond3D forum smartie-brains (that's meant in a respectful manner!) nor any such website for the matter. Maybe he would've given different answers (and perhaps spent even more time answering the questions) if I was with OpenGL.org or some such site that surely would be higher up his priority list. Sad but probably true.
You're probably right. Obviously it's better to have this kind of interview than none at all... but I wonder if Nvidia should consider attributing the answers to someone in marketing rather than risking hurting his credibility.

Who knows, maybe someday you can get him on camera and give him the Larry King treatment :)
 
DemoCode, Basic - Yup, that piece of code is crap. First of all, as a developer, I'm not gonna save myself the 4 minutes and use Cg instead of figuring out the optimized assembly version. Shaders are like 0.0001% of the total code of a game; it's not a problem (yet) to write them all in assembly. Every instruction matters in a pixel/vertex shader. I'm not gonna leave it up to the compiler. I could see using Cg for quick prototyping, sure.
 
That brings me to a point about doing it right, versus cutting corners. Do you know that one of the hardware vendors only antialiases the top and bottom of the screen, but not the middle? That’s because in one of the main benchmarks, Quake3, you don’t see much difference. But, now you know: look for it, and you’ll see it. Here’s another one: do you know that one of the vendors who makes a lot of noise about anisotropic filtering doesn’t even do it right? It only works for almost horizontal or almost vertical edges. Try this. Fire up a flight simulator, and fly at a 30 or 45 degree angle, and look how jaggy things get.

I don't have to listen, but I'm really turned off my NVIDIA PR. Why don't they just make video cards like they did in the TNT days? It sounds to me like he's twisting the truth.

Sure as sh*t he's talking about ATI's AF, which probably is less concerned with pixels in the distance, or pixels on surfaces that aren't scewed (read middle of the screen). I don't know who he's talking about with the AA but it sounds like the diffference between OGSS and some other sampling pattern. I thought that near hor and vert aliasing is the most distracting and most sampling patterns are better than OG.

I've always gathered that the GF series has always had IQ problems, presumably due to excess optimizations to win benchmarks in web reviews. Someone has even gone to the effort of writing 3rd party drivers for GFs that improve IQ at the expense of a couple of fps. Either he knows more about 3D than all the programmers at NVIDIA, or he's removing some of the things that NVIDIA "does right".
 
Jerry Cornelius said:
I don't know who he's talking about with the AA but it sounds like the diffference between OGSS and some other sampling pattern. I thought that near hor and vert aliasing is the most distracting and most sampling patterns are better than OG.

I'm not sure either...but when I think "AA not done as the rest" Matrox Parhelia comes to my mind...so that's what I thought he was referring to...
 
Back
Top