Go Back   nV News Forums > Hardware Forums > Rumor Mill

Newegg Daily Deals

Reply
 
Thread Tools
Old 09-26-02, 10:18 AM   #37
Uttar
Registered User
 
Uttar's Avatar
 
Join Date: Aug 2002
Posts: 1,354
Send a message via AIM to Uttar Send a message via Yahoo to Uttar
Default

Okay, since multiple people replied since i asked for info about R300 branching, here's a disclaimer:

As of the time of this writing, reviews and papers seem to indicate R300 branching will be STATIC and NV30 branching be will be DYNAMIC.
However, no reliable source is certain of that. And thus, if this is not the case, the following information is NOT of any use and should be ignored. Thank you.


With my original post, i supposed both NV30 and R300 branching was dynamic, but NV30 had more loops than R300.
According to multiple people around here, this is not the case and the NV30 doesn't have a signifiant increase in instruction and loop number compared to the NV30.

Thus, since i want to make those "NV30 will be better than R300, but you're exagerating it" unable to annoy me, i'm going to suppose the following is true:
R300 (static) instructions: 255
R300 loop number: 255
NV30 (static) instructions: 256
NV30 loop number: 256

Okay, so let's begin...

In DirectX ( and OpenGL too, i assume, but i am not familiar with that API ) , you use DrawIndexedPrimitive (DIP ) to draw polygons.
According to nVidia, a good target is maximum 500 DIP calls, but less is better.

As i said before, several things make you required to use more than 1 DIP call in the entire program:
Texture changes, VS/PS changes, render state changes, and so on.

nVidia is giving an EXCELLENT explanation of what Dynamic Branching has that makes Static Branching look truly inferior in many cases.

And that's Matrix Palette Skinning. I won't explain what the use is exactly, but basically, instead of doing a lot of stuff on the CPU and sending new Vertex/Index Buffer data every frame, you keep a static VB/IB ( faster ) and you do all the work on the GPU ( which is faster if the CPU is the bottleneck, slower if it isn't - according to nV, 80% of games are CPU limited )

Note that X is equal everywhere

With DX8 ( NV20/R200 ), the following happens:

1. Select Vertex Buffer/Index Buffer with X Bytes/Vertex
2. Select Vertex Shader 1
3. DIP
4. Select Vertex Shader 2
5. DIP
6. Select Vertex Shader 3
7. DIP
8. Select Vertex Shader 4
9. DIP

With the R300, the following happens:

1. Select Vertex Buffer/Index Buffer with X Bytes/Vertex
2. Select Vertex Shader
3. Select Branching 1
4. DIP
5. Select Branching 2
6. DIP
7. Select Branching 3
8. DIP
9. Select Branching 4
10. DIP

However, note that Selecting a VS is slower than selecting a branching, so it's still more efficient than NV20 style even if it seems like more is done.

With the NV30, the following happens:

1. Select Vertex Buffer/Index Buffer with *more* ( not a lot more, however ) than X Bytes/Vertex
2. Select Vertex Shader
3. DIP

Need i say more? Well, actually, yes. I got the explain why it takes MORE than X Bytex/Vertex and why that isn't a problem at all.

You see, with the NV20/R200/R300, branching is done per-object.
But with the NV30, branching can be done per-vertex.

So, every vertex got to have more information than before, thus taking more bytes.

But then, why isn't that important? Want it or not... AGP 8X
Yep. An increase in AGP power which actually got a reason to exist.

You see, information is being sent to the GPU with AGP ( or PCI, but certainly not in NV30 case ). The NV28 using AGP 8X is completely insane - it'll never use that much power. It'll hardly even be able to process all that information!

The NV30, on the other hand, with per-vertex branching, could really begin to have some use for AGP! ( Wow... After all those years. *grins* )



If you want any more information or got a proof the R300 got dynamic branching too ( I *am* certain the NV30 got it, but i'm not sure about the R300 ) , just say it - always nice to see people actually reading what i write.

Uttar
Uttar is offline   Reply With Quote
Old 09-26-02, 10:29 AM   #38
DIMA
Registered User
 
DIMA's Avatar
 
Join Date: Jul 2002
Posts: 78
Send a message via ICQ to DIMA
Default

Okay guys, let's get all the facts straight:

1. R300's branching in Vertex Shaders is based on constants, thus, it's static, as definted by the Vertex Shaders 2.0 specifications and also mentioned in the whitepapers on ATI's site.

Uttar: Look here: http://mirror.ati.com/developer/index.html

2. NV30's branching in Vertex Shaders is dynamic, which goes beyond the Vertex Shaders 2.0 specifications and more suits the Vertex Shaders 3.0 specifications but not fully complies to it.
It's also worth mentioning that NV30 can fall back to branching based on constants, although I don't see any reason to do so...

3. R300 doesn't offer any sort of branching in Pixel Shaders.

4. NV30 doesn't offer any sort of "real" branching in Pixel Shaders, although what it does offer are "condition codes", which are a form of "branching" that executes all branches choosing the right one in the end. Many things can be accomplished with branching can also be accomplished with condition codes.
__________________
P4 2ghz
512mb RDRAM
GF4 TI4600

Last edited by DIMA; 09-26-02 at 10:35 AM.
DIMA is offline   Reply With Quote
Old 09-26-02, 10:41 AM   #39
Uttar
Registered User
 
Uttar's Avatar
 
Join Date: Aug 2002
Posts: 1,354
Send a message via AIM to Uttar Send a message via Yahoo to Uttar
Default

Quote:
Originally posted by DIMA
Okay guys, let's get all the facts straight:

1. R300's branching in Vertex Shaders is based on constants, thus, it's static, as definted by the Vertex Shaders 2.0 specifications and also mentioned in the whitepapers on ATI's site.

2. NV30's branching in Vertex Shaders is dynamic, which goes beyond the Vertex Shaders 2.0 specifications and more suits the Vertex Shaders 3.0 specifications but not fully complies to it.

3. R300 doesn't offer any sort of branching in Pixel Shaders.

4. NV30 doesn't offer any sort of "real" branching in Pixel Shaders, although what it does offer are "condition codes", which are a form of "branching" that executes all branches choosing the right one in the end. Many things can be accomplished with branching can also be accomplished with condition codes.
That's my understanding for VS too.

I know about condition codes, but it seems vastly inefficient. If programmers begin to use that, get ready for some REALLY fill rate bound games! That's AFAIK, anyway.


Uttar
Uttar is offline   Reply With Quote
Old 09-26-02, 10:48 AM   #40
DIMA
Registered User
 
DIMA's Avatar
 
Join Date: Jul 2002
Posts: 78
Send a message via ICQ to DIMA
Default

Quote:
Originally posted by Uttar


That's my understanding for VS too.

I know about condition codes, but it seems vastly inefficient. If programmers begin to use that, get ready for some REALLY fill rate bound games! That's AFAIK, anyway.


Uttar
Well, I'll give you some quotes from Matt Craighead, nVidia's 3D Guru:

Quote:
Right, the most obvious use for condition codes is to emulate branching. (Real branching _can_ be faster if it lets you skip a lot of instructions, and the branch is either almost always taken or almost always not taken.)
It can get annoying to write out all the code for using condition codes. Fortunately, the Cg compiler should be able to help you out here and compile your "if" statements with no trouble.

You can think of condition codes as being the rough equivalent to "CMOV" instructions in x86.

-Matt
Quote:
Predication, well, sort of. The important point is that you end up executing all the instructions on both sides of your "branch". Predication sometimes implies that this is not the case. (Less important when instructions are not capable of generating "faults".)
NV30 *does* support real (i.e. data-dependent) branching/looping/function calls in vertex programs. From the little I know of it, DX9 is quite a bit less general there. I also don't know if DX9 supports CC's.

Anyhow, CC's are quite a nice improvement over the whole "SGE/MUL/MAD" mess.

- Matt
__________________
P4 2ghz
512mb RDRAM
GF4 TI4600
DIMA is offline   Reply With Quote
Old 09-26-02, 12:47 PM   #41
Nv40
Agent-Fx
 
Nv40's Avatar
 
Join Date: Aug 2002
Location: everywhere
Posts: 2,216
Default

well dima very informative thanks!!

just a question was is the diference between back buffer and frame buffer?

can you share some info why you think is
important for the quality in future 3d graphics that video
cards have full floating point precision in the framebuffer
and texture fetch ?

again from JC...
Quote:
Nvidia is the first of the consumer graphics companies to firmly understand what is going to be happening with the convergence of consumer realtime and professional offline rendering. The architectural decision in the NV30 to allow full floating point precision all the way to the framebuffer and texture fetch , instead of just in internal paths , is a good example of far sighted planning. It has been obvious to me for some time how things are going to come together, but Nvidia has made moves on both the technical and company strategic fronts that are going to accelerate my timetable over my original estimations.

a side note i think Cinefx in Nv35 will have alittle more
direcx9 goodies , i think that some of the confusion with Vertex shaders with "Nv30" ,have something to do with cineFx papers
that features will be included in NV3x products ,like
Nv30 and Nv35 and that the later will have more cool directx9
stuff .

--------------------
thanks Uttar ,fixed my info.

Last edited by Nv40; 09-26-02 at 02:46 PM.
Nv40 is offline   Reply With Quote
Old 09-26-02, 01:32 PM   #42
Uttar
Registered User
 
Uttar's Avatar
 
Join Date: Aug 2002
Posts: 1,354
Send a message via AIM to Uttar Send a message via Yahoo to Uttar
Default

Quote:
Originally posted by Nv40
well dima very informative thanks!!
Nv30 may or may not have have something to do with CIneFX technology
nVidia clearly states in their papers that CineFX is for the NV3X architecture - so that's NV30 to NV39.
Uttar is offline   Reply With Quote
Old 09-26-02, 07:37 PM   #43
Bigus Dickus
GF7 FX Ti 12800 SE Ultra
 
Join Date: Jul 2002
Posts: 651
Default

Quote:
Originally posted by Nv40
to mr. biggus
----------------
the table in tech report as the
authors say comes directly from WHat Nvdia and ATi told him
what part of this ,you dont understand ?
,is not that the author were so stupid to only ask NVidia about
what Radeon9700 really is . stay in Beyondfans3d gurus
where they claim Nv30 is 128 bits bus and will be delayed to february because they say it..
the fact is you dont like the superiority of Nv30 CineFx ,
but it dont change the truth ...period
Fine, when all the specs become more well known and not so vague or obscure as they are currently, then you'll do your fair share of crow eating as well. I don't forget such stubborness easily.

Quote:
the good thing is Nvidia Nv30 cinefx already has the image quality needed to RECREATE any still picture of any computer graphics movie ,ANY!!! wihout any loss in IQ not like the R300


Let's see how simple I can make this for you. Pixar = 96/64 bit. R300 = 128/96/64 bit = no loss in quality. Is that simple enough? Should I repeat it in bold lettering for you? Try reading this paragraph once every morning until it sinks in.

Quote:
but for the profesional computer graphics Artist
like 3danimators it means support for much more longer pixel shaders per pass
Not true, pixel shaders aren't much more powerful.
Quote:
+ 128bits colors full time precision
nearly a non issue...
Quote:
+ greater performance
being a full product cycle late, it damn well better be faster or it will be a huge embarrasement for NVIDIA...
Quote:
with solid stable drivers
you know that for a fact?
Quote:
but like a wise men once told A picture is worth a thousand words , with nvidia Nv30 demos alone will show clearly the superiority of its hardware technology
Um... there are no pictures that have been rendered on an NV30. Until you can post screenshots from an actual demo running on actual hardware, it's all a bunch of BS speculation.

See... This is what the R350 will be able to render in real time:
Bigus Dickus is offline   Reply With Quote
Old 09-26-02, 08:42 PM   #44
MuFu
should be at a lecture
 
MuFu's Avatar
 
Join Date: Jul 2002
Location: Loughborough Uni/Aylesbury, UK
Posts: 462
Default

Quote:
Originally posted by Bigus Dickus
See... This is what the R350 will be able to render in real time:


MuFu.
MuFu is offline   Reply With Quote

Old 09-26-02, 10:18 PM   #45
jbirney
Registered User
 
jbirney's Avatar
 
Join Date: Jul 2002
Posts: 1,430
Default

MuFU,

did you steal some of DoomTroopers emoicons again? Very funny one
jbirney is offline   Reply With Quote
Old 09-27-02, 06:43 AM   #46
MuFu
should be at a lecture
 
MuFu's Avatar
 
Join Date: Jul 2002
Location: Loughborough Uni/Aylesbury, UK
Posts: 462
Default

Nope, they are originals. Nice that when you saw it you thought of Doomtrooper though. I am sure he will be delighted.

MuFu.
__________________
2500+@2310MHz (210 x 11)
Innovatek H20
Abit AN7
2x256MB Kingmax "SuperCHEAP" PC3500 (2.5:3:2:6)
Maxtor DM+9/8MB 120GB
WD Caviar 800BB 80GB + Molex SilentDrive
Radeon 9700 Pro@345/324MHz
M-Audio Revo 7.1
Cooler Master ATC-710 GX2
Nebula DigiTV
Samsung 172W TFT
Enermax 431W Active.
GOT Central?
MuFu is offline   Reply With Quote
Old 09-27-02, 08:46 AM   #47
jbirney
Registered User
 
jbirney's Avatar
 
Join Date: Jul 2002
Posts: 1,430
Default

Mufu,

now I will also think of YOU when I see these cool new smilies
jbirney is offline   Reply With Quote
Old 09-27-02, 09:55 AM   #48
MuFu
should be at a lecture
 
MuFu's Avatar
 
Join Date: Jul 2002
Location: Loughborough Uni/Aylesbury, UK
Posts: 462
Default

That ain't me, dude. I am right handed.



MuFu.
MuFu is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
Understanding the Bulldozer Architecture through the LINPACK Benchmark News Archived News Items 0 06-26-12 11:30 AM
Enhance Max Payne 3, Diablo III with GeForce R300 Drivers News Archived News Items 0 05-22-12 06:30 PM
ATI R300 & nVidia NV30 - Different visions Uttar Rumor Mill 6 09-06-02 11:19 AM
Stop saying the NV30 will cost more than the R300! Uttar Rumor Mill 20 09-03-02 12:21 PM
WOOT R300 at 400 mhz already!!! druga runda Other Desktop Graphics Cards 28 08-22-02 10:22 PM

All times are GMT -5. The time now is 01:54 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.