PDA

View Full Version : VAR: FF vs Shader Performance



Grell
12-16-2002, 12:19 PM
Hello everyone. While I was adding support for NV_vertex_array_range to my application I noticed that vertex programs were slower (2-3x) than the fixed function pipeline on a GeForce4 TI4400 (40.72 drivers). The vertex program was a single diffuse/specular light, the same of the fixed function setup. In both cases the geometry is static with no uses of fences or FlushVertexArrayRangeNV, I follow the documented requirements for VAR, and the vertex array range is valid.
Anybody find similar results? Thanks in advance.

Grell

Coriolis
12-16-2002, 01:32 PM
The fixed-function pipeline goes through specialized hardware designed to run as fast as possible. The programmable pipeline can do the same stuff, but it is not going to be as fast. nVidia did it this way so that they could still be really fast on existing apps, but be able to run new cool effects in newer applications. You have to do both for a video card to sell well.

It is well-documented and well-known that you should not write a vertex program for anything that can be done in the fixed-function pipeline, since in the worst case the driver people implement the fixed-function with the programmable pipeline, and in the best case they have custom hardware that can run it even faster.

Grell
12-16-2002, 01:50 PM
Yes I am aware of the onboard implementation of the fixed function vs programmable pipeline on the GeForce series of cards. I would not expect much difference on the Radeon 9700 since it emulates the fixed function pipeline with shaders.
The reason I used such a simple vertex program was to have some level of parity for my benchmarking. I guess I should clarify my question. I knew there would be a performace difference, but should it be of such a great maganitude? I could see maybe 10-15% but 2-3x seems large.

Korval
12-16-2002, 05:56 PM
I could see maybe 10-15% but 2-3x seems large.

Sure, that's entirely possible.

The fixed function pipeline may take as little as 2-3 cycles per vertex.

Let's say your shader program was 12 instructions long. On a GeForce 4, that's approximately 6 cycles per vertex. Hence, 2x-3x times faster.

Because of the longer setup times, if you aren't using VAR, you won't notice as much of a speed difference.

Grell
12-16-2002, 09:00 PM
Ah! That makes total sense. Thank you.

Grell

Devulon
12-17-2002, 04:40 AM
Fixed Function cheats really bad. Basically it does the 2 big transforms (the vert and the normal with the modelview) at the same time. Then lighting pretty much in one big operation. Specialized hardware is always faster. There really isn't any form of "pipes" with vertex programs. By pipes I mean being able to do multiple instructions at the same time (Assuming of course that the instructions are independent of each other). This is for simplicity. Current x86 processors do a ton of branch prediction, instruction reordering and register renaming operations. The instruction fetch and decode units are very complicated. Simply isn't worth the time of effort to do that in a vertex program. In general in a vertex program most operations are dependant. The only time this doesn't occur is when implementing the FF in the program and doing skeletal character animation. Which is largely independant short of the weighted summing which could be done in the end. Not enough temp registers.

Devulon




[This message has been edited by Devulon (edited 12-17-2002).]

mcraighead
12-17-2002, 07:12 AM
I'd guess that your vertex program isn't as optimized as it could be... this is a "30%" sort of effect, not a "2x-3x" effect.

- Matt

Cab
12-17-2002, 10:24 AM
This is from the DX mailing list:


"On the latest DirectX 9 hardware you'll find it's generally faster to use
shaders. The difference may be small, but it's there, and that's a clear
indication of the way to run future hardware.

Plus you usually know things that the fixed function dare not assume (like
uniform scales etc). This means that you can often beat the fixed function
route for efficiency by quite a good margin.

My general recommendation is to use the programmable pipeline for
everything. Don't switch back...

Thanks,

Richard "7 of 5" Huddy
European Developer Relations Manager, ATI"

And


"On the R300 series the FFP is implemented by a vertex shader that the driver
manages. I think this is a strong indication of the way future hardware
will be designed.

Hence my comment that I recommend always using the programmable pipeline.

Thanks,

Richard "7 of 5" Huddy
European Developer Relations Manager, ATI"

Hope this helps.

V-man
12-17-2002, 01:06 PM
Originally posted by Devulon:
There really isn't any form of "pipes" with vertex programs. By pipes I mean being able to do multiple instructions at the same time (Assuming of course that the instructions are independent of each other). This is for simplicity. Current x86 processors do a ton of branch prediction, instruction reordering and register renaming operations. The instruction fetch and decode units are very complicated. Simply isn't worth the time of effort to do that in a vertex program. In general in a vertex program most operations are dependant. The only time this doesn't occur is when implementing the FF in the program and doing skeletal character animation. Which is largely independant short of the weighted summing which could be done in the end. Not enough temp registers.
[This message has been edited by Devulon (edited 12-17-2002).]

>>>Simply isn't worth the time of effort to do that in a vertex program.<<<

The current NV and ATI offerings, don't need this, but when branching and looping come into play, the GPU will have to implement some CPU like technologies.

Also, vertex programs could be implemented in a pipeline fashion, since basically all you have is a lot of vertices, normals, texcoordinates, etc and they will be manipulated by your program. The only issue is how you have ordered your instructions. If your program requires to put an ouput back into some part of the pipe, then secondary pipe could be put to work while the first is busy. There will be best cases and worst cases.

Im sure there is plenty of opportunities to do parallel processing, even in vp.
A programmable GPU will be slower then the conventional, but it's better then the x86 (the current ones and previous)

V-man

knackered
12-17-2002, 01:19 PM
Mmm, like multiple vertex shader units. Oh, there already are...

mcraighead
12-17-2002, 01:39 PM
No, I'd definitely recommend that you use the fixed function if it happens to be precisely what you want -- that is, unless you want to throw away a significant amount of lighting performance. It's an even bigger deal, of course, on hardware that *only* has fixed-function T&L and no programmability -- which is a huge number of chips.

Of course, there are still various cases where you can do a better job optimizing, due to assumptions you can make about your own app's data and behavior. But if all you want is fixed function and nothing else, ...

It's not particularly surprising that ATI would advocate you use a vertex program 100% of the time. Even if it didn't help your app running on ATI hardware, it'd hurt your app running on NVIDIA hardware!

- Matt

Humus
12-17-2002, 06:32 PM
Just like nVidia encourages the use of glCopyTexSubImage() instead of WGL_ARB_render_texture I suppose.

knackered
12-18-2002, 12:12 AM
I've only ever written vp's that deal with 1 light at a time. How could you tell in a vertex program which of the 8 supported fixedfunction lights were enabled (I mean, if you pass their attributes in as v program parameters)? There's no conditional statements allowed in standard cards....

knackered
12-18-2002, 02:23 AM
Ah, answered in this thread:- http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/008255.html

PH
12-18-2002, 03:29 AM
Originally posted by mcraighead:
It's not particularly surprising that ATI would advocate you use a vertex program 100% of the time. Even if it didn't help your app running on ATI hardware, it'd hurt your app running on NVIDIA hardware!


Come on, Matt, that doesn't seem like you to post something like that. Not very nice of you http://www.opengl.org/discussion_boards/ubb/smile.gif.

Knackered,

Evan Hart fra ATI said ( a few months ago ), that the ARB was working on ARB_vertex_program2 for flow control. This should work on the GeForceFX, the 9700 and future cards.

Zak McKrakem
12-18-2002, 06:48 AM
Someone has posted Matt response in DX mailing list.
Here is a reply from one guy from ATI:

"This is very interesting! I always thought that NVIDIA's current hardware
emulated FFP with vertex shaders and that the vertex shaders benefited them
more than ATI. Radeon 8500/9000 chips have fixed function implemented in the
silicon, which in most cases is faster than shader-based equivalent TnL, so
I'm rather surprised to learn that I and other ATI guys for a long time
evangelized shaders for the "wrong" reasons. Reading between the lines, I
also get a feeling that Matt acknowledges that vertex shaders run faster on
ATI hardware. If that's the case I'd like to thank Matt from NVIDIA for
saying it publicly http://www.opengl.org/discussion_boards/ubb/smile.gif

Guennadi Riguer
ATI Technologies Inc."

mcraighead
12-18-2002, 07:23 AM
I think it's pretty clear-cut: if you want to use programmability, use it. But if you don't need it, don't use it.

Given that there are tens of millions of graphics chips out there that don't support any programmable T&L, and millions and millions more that have dedicated fixed-function lighting hardware, using fixed-function when it makes sense to do so will make your app run better on a *lot* of systems.

- Matt

mcraighead
12-18-2002, 07:32 AM
Originally posted by PH:
Not very nice of you http://www.opengl.org/discussion_boards/ubb/smile.gif.

No one's ever accused me of being a nice person...

Business is business. Any company that doesn't promote the things they're good at, or promotes the things their competitors are good at, isn't doing its shareholders much of a favor...

As for the comment about performance: please feel free to perform all the augury you wish on my remarks (if the goat entrails coil clockwise, ATI is faster, counterclockwise, NVIDIA is faster), but, nope, there are so many products out there these days I can barely remember which ones are faster and slower at what myself.

- Matt

V-man
12-18-2002, 02:32 PM
I dont think it's a big secret or a big deal that nvidia cards are slower than ATI in some cases, and faster than in other cases.
Same situation with many other companies.

I think we all know what the purpose of these so called becnmarks are.

Personally, I prefer stability and trouble free operation. As for the continous updating of drivers makes me want to kiss those fine nvidia people. No, make that shake hands. http://www.opengl.org/discussion_boards/ubb/smile.gif

V-man

Ozzy
12-19-2002, 01:36 AM
Sorry about my question coz maybe it's a bit OT.

I was just asking myself what was the future of the fixed pipe? I mean with GL2.0 will it be sacrificed to an operand 'emulation' instead of a pure hw implementation?

Ok, i would certainly undertstand the point -> Nbtransistors vs PrgSpeed with next gen of GPU (anyhow it seems that ATI has already done that choice and u can really feel the problem with a low system)

Well, what i think here.. is that it could be a *big* mistake to throw away the fixed pipe hw implementation when it has taken so many years to make it 100% hardwired.

jwatte
12-21-2002, 09:44 AM
I detect a bit of a sentiment in Matt's statemements that seems to suggest that ATI would make an optimization suggestion based on it hurting NVIDIA hardware rather than helping ATI hardware. I don't think this is correct, and I think Matt would be doing himself a disservice if he was making this suggestion. But, he's a smart guy, and I think he's just a victim of a wording fumble.

I don't think there's a sinister plot to have people needlessly work worse on other cards going on here.

It's been said that the 9700 implements the fixed function using the programmable engine. If that is indeed the case, then that would be a set of shaders that probably do more than your own custom shaders would do.

In that case, the overhead of using fixed function wouldn't be just the extra instructions executed, but also the overhead of loading that big fixed-function shader into the card everytime you switched away from your own shaders. The card probably only has limited amount of program area, after all.

Thus, I think it's very likely that the 9700 may run faster if you stay all with custom shaders, than if you switch back and forth. Thus, it's a reasonable position for ATI to say "don't switch," without considering the impact (or not) on other architectures.

And, for people doing advanced shader set-ups right now, they'd probably want to heed this advice. Once there's CineFX harwdare around to optimize for, these same people may have to split their rendering two ways for peak thoughput. Or not; depending on which way the profiling goes.

[This message has been edited by jwatte (edited 12-21-2002).]

mcraighead
12-21-2002, 11:08 AM
Originally posted by jwatte:
I detect a bit of a sentiment in Matt's statemements that seems to suggest that ATI would make an optimization suggestion based on it hurting NVIDIA hardware rather than helping ATI hardware. I don't think this is correct, and I think Matt would be doing himself a disservice if he was making this suggestion. But, he's a smart guy, and I think he's just a victim of a wording fumble.

No, not a wording fumble; I meant what I said.

- Matt

knackered
12-21-2002, 01:41 PM
And it does you great credit, Matt.

mcraighead
12-21-2002, 04:33 PM
Ummm... okay...

I expect all companies to do whatever is best for their shareholders. In terms of competitive position, it's just as good to slow down your competition as to speed yourself up. I would consider any company that does *not* do whatever maximizes its profit to (A) be a dysfunctional company, and (B) be in breach of its fiduciary duty.

- Matt

Humus
12-22-2002, 12:59 AM
So I see, money is all that matters?

Nutty
12-22-2002, 01:28 AM
Its what makes the world go round Humus.

Do you think either ATI or nvidia could afford to produce such cool hardware if they didn't make shed loads of money in order to finance it all?

Humus
12-22-2002, 01:59 AM
Yes, profit is important for any company, but it doesn't neccesarily need to be the whole purpose of the company as Matt seams to be implying. If I ever start a company it would be with the purpose of contributing to the human kind in one way or another, new technology, important research results or maybe just a cool game. Hopefully paving the way with some good fun too. Money would not be the purpose, rather just a bonus.

I certainly don't agree that a company that doesn't "do whatever maximizes its profit" is "dysfunctional". Profit is just one out of thousands of possible goals with a company.
Also, I could just go kill a man and argue I did whatever maximized my profit, after all, I got his wallet. But I wont do that, cause it's wrong and unlawful. A company that does not endorse laws and ethics have no right to exist IMO. Now this is of course stretching it way far, but you get my point. I firmly believe that a company that tries to win market share by stomping on it's competitors is doing something fundamentally wrong. The market forces only works so long as it's controlled by good intention.

knackered
12-22-2002, 02:36 AM
What happened with that rumour about ati drivers checking the module name against "quake3.exe" and optimising accordingly? Was that true? Can't remember...

Anyway, I wish you luck with your company, humous - can't say I'd feel that secure working for you, though - you need hard nosed b*stards at the helm these days.

Robbo
12-22-2002, 03:38 AM
Originally posted by Humus:
Yes, profit is important for any company, but it doesn't neccesarily need to be the whole purpose of the company as Matt seams to be implying. If I ever start a company it would be with the purpose of contributing to the human kind in one way or another, new technology, important research results or maybe just a cool game. Hopefully paving the way with some good fun too. Money would not be the purpose, rather just a bonus.

I certainly don't agree that a company that doesn't "do whatever maximizes its profit" is "dysfunctional". Profit is just one out of thousands of possible goals with a company.
Also, I could just go kill a man and argue I did whatever maximized my profit, after all, I got his wallet. But I wont do that, cause it's wrong and unlawful. A company that does not endorse laws and ethics have no right to exist IMO. Now this is of course stretching it way far, but you get my point. I firmly believe that a company that tries to win market share by stomping on it's competitors is doing something fundamentally wrong. The market forces only works so long as it's controlled by good intention.


Sorry mate - but profits and having a good cash-flow are the root of all good in business. You need to maximise profits in the good years to finance the bad ones -

davepermen
12-22-2002, 04:59 AM
companies don't need to make money as only purpose, i know of quite some companies with quite a bunch of success, that don't have money as first (and if they make money, both their workers and their customers get it, by lowering prices, giving bonus to the workers and all).
one of these is called migros, and is one of the two biggest companies in food (and other) supply in switzerland. its a great company to work in, and a great company to just buy food in, too.. not such a capitalistic system like you get elsewhere, only there to try to hype you some adverts to buy the new stuff wich is more expensive than needed and in low quality.


and if there is one company in the gpu/vpu development wich tries to get all people always on their side with sometimes questionable ways, matt, then its your own company. you are not the only one of your company who nearly always states first, use our exts (exts that never fit onto other hw, and you know it and design it that way, and yes i see the good points in that, too..), before use ARB exts. it's your company that releases nv30 emus and all just at the time the other company makes a bether vpu, so that you can hype it, together with a cg release, to get all people playing with the emulator, at 1/10th fps or so, and think uh cool, what their next gpu can co is imense and impossible on other hw. most of it is possible on todays hw, but it took you damn long to get cg working on other hw than yours and your emulators, just like your proprietary extensions.
its your company that makes marketing hyping everywhere, spitting out uncontrolable benchresults on not existing hw to make people believe waiting months and paying then 500$ or so for a gpu is worth it, while it does not have much more than the old hw.

i could continue..

oh, and its your company that has huge problems with all downloads, who releases non-bug-free software, instable and untested sometimes, who does not react on customer support if its not a big name (never got replies from you all except possibly in here).

most of humus stuff works according to the ARB exts on every hw that is new enough. can't see that from any, even gf2mx demo wich run years ago. i don't see them working on my card now.

anyways, enough rant. i'll continue using gl, and i'll continue using ARB gl, non proprietary bull****. and if your own cards are not fast with standards, its _YOUR_ problem. i will not support your proprietary exts, i see no gain in them. i will not use ATI exts eighter, jfyi..


companies who work on the same should not try to bitch eachothers, but instead to try to get a good compliant standard that works on both sides. they gain the customers of the other company as well. then the ones with the bether product wins, not the one with the bigger marketing that can fool everyone to use their stuff..

in any other buziness, you can't develop your own proprietary stuff. why should you be able to do it on gpu's?

zed
12-22-2002, 08:53 AM
Originally posted by Nutty:

Do you think either ATI or nvidia could afford to produce such cool hardware if they didn't make shed loads of money in order to finance it all?

actually a lot of technology advanced stuff has been made on a very limited budget

knackered
12-22-2002, 11:00 AM
It's traditional to give examples, when making such statements, zed. Preferably related to high technology like CPU's or GPU's.

Humus
12-22-2002, 11:42 AM
On the university over here a couple of researchers developed an extremely fast algoritm for routing table lookups with which they made routers based on standard PC components that are able to compete with highend hardware implementations.
Budget: Essentially zero.

[This message has been edited by Humus (edited 12-22-2002).]

mcraighead
12-22-2002, 12:17 PM
Originally posted by Humus:
So I see, money is all that matters?

In business, yes, it's the only thing that matters.

- Matt

davepermen
12-22-2002, 12:27 PM
Originally posted by mcraighead:
In business, yes, it's the only thing that matters.

- Matt

wrong way of thinking.

first point on making some company: you want to produce something / provide something some one needs, so your first thing that matters is getting your stuff done _VERY_WELL_ and in a way everyone gains
second point on making some company: getting enough money to pay every worker enough he's worth
third point on making some company: getting more money, so you can expand

the third point is actually not really needed..

to the first point standards are very important, if your tool you want to realise has to fit together with some other tools.

money making is point 2, not point 1. else, get into porno business, or drug selling, or any other illegal business. they gain much more money..

business is part of our lifes. the main goal of our life is not to get money, but to be happy. to be that, stuff has to work together in peaceful harmony. sure, having some other one in your life, who competes with you gives some fun. but only if you define together the rules.

same for business, else its off the way people need it to life. => they provide some stuff that should work together harmless. and they should work together with their "enemies", defining standards wich they both follow, and in-wich they try to give the best.

never seen problems with business that worked that way. the way you want it, matt, only serves you: you get more money to life in richness. it does not serve us at all. but we are your customers, your main goal should be making us happy. and you don't make us happy if you spit out every time more nvidia-specific stuff less working together with other companies and always trying to force people to use only your stuff.
there's a reality out there, and its not an nvidia only world. we have to code for other companies so _please_ provide tools that work together. stop that stupid war you played now during the last years. it does not help anyone.

knackered
12-22-2002, 12:30 PM
Originally posted by Humus:
On the university over here a couple of researchers developed an extremely fast algoritm for routing table lookups with which they made routers based on standard PC components that are able to compete with highend hardware implementations.
Budget: Essentially zero.

[This message has been edited by Humus (edited 12-22-2002).]

That's insane - universities are among the biggest businesses around. The budget was not essentially zero - you simply fail to factor in the huge costs of the facilities they were using, and the time it took them. The university will have exclusive rights over any technologies developed using their facilities.

Humus
12-22-2002, 12:40 PM
Originally posted by mcraighead:
In business, yes, it's the only thing that matters.

- Matt

That's an extremely narrow view.

Humus
12-22-2002, 12:51 PM
Originally posted by knackered:
That's insane - universities are among the biggest businesses around. The budget was not essentially zero - you simply fail to factor in the huge costs of the facilities they were using, and the time it took them. The university will have exclusive rights over any technologies developed using their facilities.

In Sweden the university researchers pretty much own the rights their work developed using university facilities. In this particular case the researchers started a company (EffNet) based on this idea and the burden on the university was minimal. The algoritm was developed on the university, but most of the actual work was done within the newly started company.

mcraighead
12-22-2002, 01:12 PM
Originally posted by davepermen:
your main goal should be making us happy.

Nope, my main goal is to make _myself_ happy. It's quite possible that *in order to* make myself happy, I will do things that will make other people happy, but that's not my primary goal.

I don't agree with your points (1), (2), or (3). Even point (3), about "expanding", misses the real purpose of a company: to provide return to its investors. Sometimes expanding a company will do that, but sometimes it's better to pay a dividend to your shareholders.

Point (1) is a goal, but only a secondary goal. You make a good product *in order to* make money.

Point (2) is a non-goal. Salaries are a *cost* that are subtracted out of profit.

Remember: at no point did I say that *life* is all about making money. I merely said that *business* is all about making money.

If you feel so inclined, look up the law and look up "fiduciary duty". Publicly owned companies that are not attempting to maximize their profits are in fact liable to be sued by their shareholders. So when I claim that a company that is not doing so is "dysfunctional", the law is on my side...

There are countries where the law is less kind to shareholders. For example, in Japan, there are some corporations that sit on piles of cash and do next to nothing with it, neither paying dividends nor investing it wisely. Japanese corporate law makes it very difficult for shareholders to oust management for such behavior. American corporate law, despite many problems (for example, the law severely discourages hostile takeovers), is far better.

- Matt

mcraighead
12-22-2002, 01:19 PM
Originally posted by Humus:
In Sweden the university researchers pretty much own the rights their work developed using university facilities.

That's a rather unusual arrangement, allowing researchers to freeload off the university facilities...

When I was at the graphics lab at MIT, I had to sign an agreement granting MIT exclusive rights to all inventions made using lab facilities.

MIT makes a lot of money off such arrangements. If you want to form a spinoff company, you have to work out an arrangement with MIT -- say, you'd get rights to use your lab inventions in the spinoff, and MIT would get a fairly significant share in your company.

- Matt

davepermen
12-22-2002, 01:53 PM
Originally posted by mcraighead:
cut out, its too long

i know that in america and some other countries its all about making money and being selfish. i don't live that way. and i think its a primitive way.

btw, if you read what i wrote above, you would have noticed that i am not for companies to sit on their money. thats about making money as well. that one of you is simply missunderstanding of what i mean.

and we, people who live, we build up companies. why should companies not follow the general rules of live?

the only way to be happy yourself is by making others happy. making myself happy by trying to get something from others doesn't work, i feel ugly then. thats why all i do is for free, all i work for is for others. sure, i make money at work, sure i have my money and my stuff. but i'm not specially rich, and i don't need to be. i prefer to have friends, and people that like my stuff, than that i can say: look, we released another round of in fact stupid stuff, but people where fooled by the marketing and we made more money out of it. quite a bunch of companies work that way (not that nvidia fully does, but sometimes they do as well), and such companies should in fact be illegal. just because they are not fair. fairness is the only way to life. be fair. be nice, and be polite.

haven't seen that much of this from you, matt. instead, you always try to push people onto nvidia-only-support-side. that is not fair, not nice against your competitors. haven't seen such stupid selfish acting from any others in here than from nvidia dudes.

not that nvidia did not made nice stuff, not that nvidia does not make nice stuff, and not that nvidia will not make more nice stuff. but the general way they act is selfish, monopolistic, and not helping eighter developers nor end users actually.

t0y
12-22-2002, 01:56 PM
Originally posted by mcraighead:
Nope, my main goal is to make _myself_ happy. It's quite possible that *in order to* make myself happy, I will do things that will make other people happy, but that's not my primary goal.

When nVidia started out its main goal was to make people happy (good technology, good price, etc). Sorry, but that's the only way it could get such a huge user base. In many cases, companies don't mind loosing money when they're just trying to start out. It's an investment.

Now that nVidia has a very good reputation, that stuff about money being the primary goal is ok (sort of), as long as people keep buying their products (they're still happy).

So, IMHO, the primary GOALS of any company should be:

1. Make people happy
2. Make money

If you achieve (2) without achieving (1) you're lying to people, because they're fooled into thinking they're happy and keep buying stuff.
Of course, if you have a monopoly (as it was the case IMO), people are "forced" into buying and you can get way with (2).

Ever since the R100 came out you've been loosing your rightfully earned advantage so, iIt's more than logical that you should start working out (1) again...

Just my opinion...

Robbo
12-22-2002, 03:34 PM
I'm sorry guys but this is all a load of blue-sky tosh. The goal of business is not to make people happy, it is to make profits. Without profits there can be no expansion or investment in the future. The whole of western social and technological progress is based on this model.

In this particular arena, the goal of the graphics cards manufacturers are exactly the same as the agricultural, heavy industrial and service industries: make money for shareholders. If you have satisfied customers (difference between satisfied and happy I might add) then you are doing something right in my opinion.

There are many businesses that have failed despite having excellent products, purely because their marketing strategies were based on your ideas.

At the end of the day, if a company wants to survive, its useful to be making profits. Thereby, it is easier to raise capital for R&D and the shareholders will still value stocks even when you aren't making profits, provided your marketing and product line are good. A business that fails to create demand for its products is itself at the mercy of fashion and won't survive long.

As we are savvy consumers, we can clearly see these marketing tricks - but I wouldn't say NVIDIA or anyone else is doing anything wrong. Perhaps those of lesser intelligence are fooled into believing the advertising, but most of us, being sophisticated purchasers, are not.

mcraighead
12-22-2002, 04:02 PM
Not much that I can reply to without repeating myself, but:


Originally posted by davepermen:
instead, you always try to push people onto nvidia-only-support-side.

I don't believe I do that. If someone asks, "how can I do this?", and it so happens that we support some interesting way of doing that, then I'll offer it as an option.

For example, suppose someone asked how they could get a floating-point texture format or pixel format. I might suggest that NV_float_buffer offers them. Am I supposed to *not* suggest that? Or suppose that someone asks how to do fast occlusion culling -- am I supposed to *not* suggest NV_occlusion_query?

Another example: as of right now, I'd suggest that you use VAR to transfer vertex data efficiently. What else am I supposed to suggest you use on NVIDIA hardware, after all? But when the ARB extension for similar functionality becomes available, I will actually recommend that you *do not* use VAR, because I'm fairly confident that the ARB extension will be *better* than VAR. (Not that it's difficult to create a better extension than VAR -- I'd even say that ATI_vao is overall better-designed than VAR.)

To suggest that I don't care about standards is downright silly. In fact, I've devoted a significant amount of my time to providing feedback to the ARB on a wide variety of extensions and features, and I'm even chairing an ARB working group, right now. Furthermore, I spend a nontrivial amount of my time on this message board, offering advice on a wide variety of topics to OpenGL developers.

If I didn't care about OpenGL, I would be doing none of those things.

If I didn't care about standards, I would be doing none of those things.

If all I cared about in the world was how much money NVIDIA made, I probably wouldn't spend nearly as much time on those things.

So could you please refrain from making accusations of this sort? They simply don't match up to the facts, and in fact I find them somewhat offensive.

- Matt

Cab
12-22-2002, 05:19 PM
Matt:

I donít know you personally. But I think you are great supporting us in this forums and being sincere in your opinions http://www.opengl.org/discussion_boards/ubb/smile.gif. I also appreciate that you are not like other Ďdeveloper relationsí or similar people that when they hear something they donít like, they donít appear again or they donít answer you never again.

I donít agree with you in some of the things you say but this is something I think is good. We donít have the same ideas and we can continue talking. Thatís great.

I liked to hear your opinion about what this guy (a really good guy that were working on nVidia) said about using vertex programs instead ff pipeline.

I will like to have more people from hw companies that participate regularly on this forums, with their own opinions, instead just appear occasionally to defend their hardware.

I agree with t0y, companies are usually started by people that are happy doing things that make other people happy. But when companies grows up, marketing departments becomes bigger and manages the biggest amounts of money from the company. Then, they begin to take bigger responsibilities and begins to thinks they knows exactly what people wants. They think that those engineers that had made the company successful are just stupid people that donít understand their good ideas. And then, they begin to throw big amounts of different products with confusing names: 7500, 7700, 8500, 9000, 9500, 2MX, 2GTS, 3Ti, 4MX, 4Ti, Ö that nobody understand, for creating a wide range of prices. And the products with a good price are something I will never recommend to any friend.

I currently have stocks from nVidia and ATI, and really, I donít like any of them. And there are many factors why shareholders donít like the shares of a company. Most of them doesnít know the companies or what the company do. Sometimes you see a company loosing money and their stocks getting better. It is very important the feeling of the people, and many brokers or investors are interested in what people thinks. And then, with this information, this people generate a flow of opinion. And some opinions, like people thinks that this product is going to be release late, it will be not as good as should be, the company is taking strange decisions and confusing people are more important than the quarterly financial reports. This ones are sometimes the excuse or where some investors make stupid questions to show their disconformities.

Yes, for business, money is all. Thatís true. But you should know that money is not the profit of the company one year. The money is the value in which you can sell the company. And usually making people happy and having the biggest market is what you want.

Humus
12-22-2002, 11:02 PM
Originally posted by mcraighead:
That's a rather unusual arrangement, allowing researchers to freeload off the university facilities...

When I was at the graphics lab at MIT, I had to sign an agreement granting MIT exclusive rights to all inventions made using lab facilities.

MIT makes a lot of money off such arrangements. If you want to form a spinoff company, you have to work out an arrangement with MIT -- say, you'd get rights to use your lab inventions in the spinoff, and MIT would get a fairly significant share in your company.

- Matt

Yes, I know it's a quite unusual arrangement, with its plus and minus. The plus is of course that it certainly entices researchers to Sweden. The minus is of course that universities have to live on their governmental funding and nothing else. I think there are some new laws on the way that's supposed to balance it a little more. Researchers will still own most of the rights, but the universities will get a piece of the cake too.

Humus
12-22-2002, 11:30 PM
Originally posted by mcraighead:
<large post>

I certainly agree that a company sitting on an assload of money and doing nothing with it are doing something wrong too, at least so long as the expressed purpose and goals of the company is to give return to the shareholder. But is should also be possible to found companies on other purposes. There's a company here close to the university called Bokis which is based on the idea of NOT making a profit and rather just offer students literature as cheap as possible. The shareholders are of course aware of this, and even though the company has a close to zero return to the shareholders I would argue that it's certainly not dysfunctional and in fact are quite successful given that they've fulfilled their goals and pretty much every student buy their books from them.

Anyway, "doing whatever maximizes the profit" should include a minimum of questionable or unethical acts such as spreading FUD or selling products at a loss in order to force less funded competitors off the market etc.

With that said, I do value you all people from nVidia/ATi/3dlabs etc who contribute on this forum and I don't think anyone is doing more anticompetive stuff than I expect them to do.

Anyway, Happy holidays all, and cya in the next year http://www.opengl.org/discussion_boards/ubb/smile.gif

davepermen
12-23-2002, 12:28 AM
to matt.

sorry to sounded offensive. i'm quite dissapointed in what nvidia went to, and i still think they moved away partially from making good, compliant, nice to use, working products to marketing hyping foolish over colored useless stuff, incompatible to the rest.

partially only, of course http://www.opengl.org/discussion_boards/ubb/biggrin.gif but the movement is (not only imho) there.

you made quite some good stuff, and are quite "useful" in here (sorry for the word, somehow it sounds stupid http://www.opengl.org/discussion_boards/ubb/biggrin.gif). you do a good job, and help much.

so you suggest NV_oq, NV_var, NV_whatever. that should ring your bells. nvidia could as well have designed ARB_oq, ARB_var, ARB_whatever right from the beginning. oq is on ati cards available as well, look at dx9. there you have it everywhere. ARB_var should have been there since the geforce1, and it still isn't. ARB_whatever does never come sometimes. i don't see why..

NV_rc (1,1_1), NV_ts (1,2,3) never have a chance to come to the ARB, they are too way-off opengl designed. that shows the hw exposing that is somehow crazy done, way-off logical design ways (dunno how much agree, but the pixelshader capability in the gf3/gf4 is sort of a hack, and espencially the "dependend texture accesses" are simply foolish. its a fixed setting, you can choose between some.. thats what i mean with marketing hype and fooling of your own people).

i understand you that you have to suggest people NV_ exts everywhere, as nearly no ARB_ equivalent does exist. but thats your companies fault partially as well, imho. you designed it, so you should design it for the standart.

then, one day, you do an ext, and try to get it into the standard. its called ARB_vp. and look there, you _still_ suggest everyone to use NV_vp. ARB_vp is much nicer to use from the syntax, and contrary to the NV_vp available on other hw than yours.

yes you can suggest NV exts. but you _should_ suggest the ARB way as well.


but anyways, first of all you don't care about me, you never made much money with me anyways.. so its all okay http://www.opengl.org/discussion_boards/ubb/biggrin.gif

i wish you a nice christmas and good luck next year with the gfFX launch. i really hope you stop that extension mess. design hw fitting to the standards, not try to design the whole world around your card.

btw, to robbo.
if you think money is all that counts, you're a _VERY_ poor person. business does not need money as primary goal. its providing some good product. if that is _NOT_ the primary goal, you get stuff like win98 and similar. released just to have it released, bugfree? why.. they will buy it anyways.

knackered
12-23-2002, 12:35 AM
Imagine no possessions, I wonder if you can,
No ATI or NVidia, a brotherhood of silicAN.
Imagine all the people, coding for today - whahoo woahoo,
You may say I'm a dreamer, but I'm not the only one,
I hope some day you will join us, and the world can render in DX9.1.

Happy christmas everyone...thank you and good night.

zed
12-23-2002, 08:43 AM
is there a link (greatly simplified of course)
which ppl on this forum - profit above all else?
which ppl on this forum - support d3d?
why are there bugger all d3d tutorials made by anyone outside ms.
eg gl tuts outnumber d3d tuts 15:1 (d3d changing with each release is only partly responsible)

bugger cristmas some of us have gotta go out + maximize profits.
to leave u all with the refrain of a song i wrote a few years ago called 'the meaning of life'

the meaning of life is to f...
to f... until u lose your mind
youve gottas love everyone in sight
youve gotta do it until u go blind
and with any luck there will be an afterlife
but until that day comes along youre just gonna keep on moaning and sighing

davepermen
12-23-2002, 09:03 AM
Originally posted by zed:
which ppl on this forum - profit above all else?
which ppl on this forum - support d3d?


i don't profit
i use dx9 and gl1.4

knackered
12-23-2002, 10:42 AM
You're still at school, dave. Nought but a child.

Zed, you're no John Lennon, are you?

V-man
12-23-2002, 11:32 AM
I think you guys just demonstrated what goes on in the minds of different individuals in a company. A lot of you are speaking from the point of view of do-gooders which is understable.

Let's put things in perspective :

while(1)
{
idea;
R & D;
mass production;
marketing;
shipment;
sales;
}

Cant start up without money, and cant continue doing anything without money.

Talk about symbiotic relations http://www.opengl.org/discussion_boards/ubb/smile.gif

davepermen
12-23-2002, 11:36 AM
Originally posted by knackered:
You're still at school, dave. Nought but a child.

Zed, you're no John Lennon, are you?

nope, i'm not at school. just partially.. i'm working, and i'm currently at my company. so i'm actually not working but surfing, but i'm just there for the case something could **** up currently (i live too far away to be at home in case of some alarm http://www.opengl.org/discussion_boards/ubb/frown.gif )

OldMan
12-24-2002, 12:40 AM
I just think you ALL make too much noise for something that is not so important. Its a matter of CULTURE.. american an influenced cultures ARE profit based...many uncontamined cultures are NOT. Everyone should be able to choose its side by its own... not to start a WAR about what is right or wrong.

I live in a country that was SMASHED and DESTROYED by Captalist and selfish way of seeing the world from certain countries. By myself I agree with Humus and folks, and I hope someday the humanity will evolve to a less stupid main objective. But util them it dos not worth to start such discussions ( you know that NO ONE will change its mind because of that). Just live in peace.. and Merry Christmas!

davepermen
12-24-2002, 05:14 AM
Originally posted by OldMan:
I just think you ALL make too much noise for something that is not so important. Its a matter of CULTURE.. american an influenced cultures ARE profit based...many uncontamined cultures are NOT. Everyone should be able to choose its side by its own... not to start a WAR about what is right or wrong.

I live in a country that was SMASHED and DESTROYED by Captalist and selfish way of seeing the world from certain countries. By myself I agree with Humus and folks, and I hope someday the humanity will evolve to a less stupid main objective. But util them it dos not worth to start such discussions ( you know that NO ONE will change its mind because of that). Just live in peace.. and Merry Christmas!

Merry Christmas you, too.

Nutty
12-24-2002, 10:44 AM
But util them it dos not worth to start such discussions ( you know that NO ONE will change its mind because of that). Just live in peace.. and Merry Christmas!

ITs all very well saying you wish companies would aim for the common good instead of profit, but at the end of the day, where does the wages come from that pays the workers? IF the workers dont get paid, they leave, and find employment that _does_ pay them.

Just cos theres a few companies where the employees are happy to work for a pittance, doesn't mean everyone should.

What if nvidia turned round to its employees and said, "Right, our main aim is to make ppl happy, and not make profit. Oh and you all have to have an 80% pay cut otherwise we'll be bankrupt." Prety much everyone would be outa there..

If ppl want companies to work for the common good, they need to have the financial ability to do so. A company on the rocks aint gonna do **** for no-one. Its about time you lot got off your moral-backsides and realised in the real-world you need money to do well in buisness. Else you go bankrupt or your employees walk out.

Flame on! http://www.opengl.org/discussion_boards/ubb/smile.gif

Nutty

knackered
12-24-2002, 11:51 AM
I can't believe we're having a debate about whether capitalism is a good or a bad thing in almost 2003. It's not just america that attaches such importance to the accumulation of profit, it's quite a few other countries too, y'know - including the former soviet union.
Capitalism respects no religion, no culture and no idealism. It's a fact. It's a fact born out of natural instincts, evident throughout nature. It's survival of the fittest, with some social responsibility bolted on the side.

zeckensack
12-24-2002, 12:16 PM
Matt has contributed a lot of good stuff right here in front of your nose, and at other places a little farther away but still very relevant to the overall cause of this OpenGL thingy we all tend to love from time to time. As have cass and pbrown.

Accusing NVIDIA generally and Matt in particular of being misleading here is just silly. Outright silly and unappreciative.

Oh well, merry christmas y'all.

t0y
12-24-2002, 05:30 PM
Originally posted by Nutty:
(...) but at the end of the day, where does the wages come from that pays the workers?

Not from the profits. Profits are calculated after all that stuff.

Anyway, I just want to say that my only disagreement with Matt's posts was about "money is the primary goal".

I was personally impressed with the commitment that nVidia has shown in supporting these forums. Even if they show preference for their products/extensions.

It's something that I've seen from other companies (ATi, 3DLabs) but they're clearly behind in this department.

Enjoy Christmas everyone! And let's hope for an all new year of 2003 with ARB_VAO/ARB_VAR!

JD
12-25-2002, 09:34 PM
The shareholders are last in line. First the execs fill up their pockets and formulate golden parachutes. When a cheritable company has exec who's yearly salary is $200,000 something is wrong. While I agree for business is to make money, duh, ethics should be on everyone's mind because we don't want another enron. If this persist, stockholders will get fedup and won't invest and our economy falters. There's evidence that this is already happening. I like matt and others, they do try their best. Look at the robust shadow wolume docs, they made sure that it works with dx6/gl 1.1 and only at the end of the article do they suggest using extensions for more speed or ease of use. Both microsoft and nvidia engineers do really try hard to form a good relationship with endusers. They're also not biased toward their own company. Marketing people and bean counters are different breed for sure. The techs hang out here because that's where the tech club is. I don't see them hanging out in business clubs. Techies are all the same, we all find hardware/software interesting not something a business person would find interesting I would think. To them we're egg heads and all egg heads need to hang out together http://www.opengl.org/discussion_boards/ubb/smile.gif

OldMan
12-26-2002, 06:29 AM
To say that a company may not spend time with comonwealth is bull****. Here in Brazil.. our equivalent to FedEx, during christmas spent about 10Million dollars just to ANSWER letters to Santa Claus comming from poor childreen. And they werent just answered.. most of these childreen received the presents they asked for, including bikes, sport stuff and tons of toys.

That is to be HUMAN!

mcraighead
12-28-2002, 03:12 AM
Originally posted by davepermen:
so you suggest NV_oq, NV_var, NV_whatever. that should ring your bells. nvidia could as well have designed ARB_oq, ARB_var, ARB_whatever right from the beginning.

No, there are very good reasons why this is frequently completely impractical.

The two biggest reasons are:
- ARB extensions are, by necessity, designed by committee. Design by committee makes it very difficult to ship certain features in a timely fashion.
- ARB extensions and core GL features have assorted IP (intellectual property) rules associated with them. In short, you have to give away your IP for free. This is a pretty raw deal for the licenser. Why invest millions of dollars in R&D, only to give it all away for free?

In other cases that you name, e.g., register combiners or texture shaders, the simple fact is "that's how the hardware works." It does us no good to build hardware and then not expose as many of its features as possible.

Also, please remember that, with the exception of "ARB", vendor prefixes on extensions are literally meaningless. The two letters "NV" did not stop ATI from implementing NV_point_sprite -- in fact, we actively encouraged ATI to support that extension. "NV" does *not* mean "proprietary", and "EXT" does *not* mean "open". IP issues are logically independent from extension naming issues and should be treated as such.

- Matt

mcraighead
12-28-2002, 03:26 AM
Also, I'd recommend that some of you really ought to study up on your economics -- if, for nothing else, to get a leg up in understanding what goes on in the world of business.

"It is not from the benevolence of the butcher, the brewer, or the baker, that we expect our dinner, but from their regard to their own interest."


I too used to think the profit motive was a bad thing. As I learned and experienced more, I realized how completely wrong I was.

- Matt

jwatte
12-28-2002, 08:38 AM
I too used to think the profit motive was a bad thing.


I don't have an issue with "profit motive." I have an issue with concepts about what generates profit that clash with my experience in the same area.

Too much honesty and charity certainly will bleed you dry.

Too little honesty and doing anything to pad the next quarterly report will bleed you dry, too! It just takes a few more quarters.

Now, the best way to actually have a say in how companies are run, is to invest in companies you think are run OK, and sell those that aren't, unless you think they might be save-able, and you make a petition to the shareholder meeting. (Good luck, there! :-)