CineFX är en marknadsföringsterm för deras DirectX9 funktionalitet. ATi kallar sin implementering för Smartshader.
Det är inget hokuspokus inblandat.
nVidia kan göra en del saker med sina kort som inte ATi kan men faktum är att det just nu finns minst lika mycket saker som Ati kan göra som nVidia inte kan.
Kommentar: Kan du ge några exempel på vad ATI kan göra som inte Nvidia kan göra?
Som det ser ut nu krävs det mycket arbete i nVidias drivrutiner eftersom de inte exponerar kortens funktionalitet (som nVidia påstår ska finnas i korten dvs, något bevis har vi inte eftersom det inte finns stöd för det i drivrutinerna).
Att prisa någon för en specifikation som finns på ett papper känns ganska menlöst. När de får det att funka i drivrutinerna och tex. skapar ett demo som visar upp funktionaliteten: då kan vi börja snacka.
Det är lite av det som är hela problemet också i artikeln. Han sitter och prisar nVidia för vad de sagt att deras kort potentiellt sätt kan göra, inte för vad de faktiskt kan göra idag just nu.
Kommentar: Tekniskt sett så har NV30 funktionaliteter som inte utnyttjas idag. Visst skulle Nvidia kunna ta fram drivrutiner som till fullo utnyttjade detta, problemet är bara att det inte följer DX9 standarden, vilket innebär att man kan få fram en snygg demo, men att sen få någon i verkligheten att använda detta är en helt annan sak. I praktiken är alltså denna extra funktionalitet värdelös eftersom ingen använder den.
Angående fel i artikeln så är det lite sent egentligen eftersom han rättat en hel del av felen sedan han blivit tillrättavisad av mer kunniga personer (som tex. Dave Baumann på Beyond3D, förmodligen en av de två-tre mest kompetenta grafikkortsredaktörerna i världen.)
Men här är ett par:
"Even the complex shaders that Valve is doing for Half-Life 2 are only a dozen instructions long at most."
- Valve har själva sagt i tidigare intervjuer att de har nosat på de maximala specifikationerna för DirectX9 med många av sina shaders. Mycket mer info har vi egentligen inte på instruktionsantal i Half Life 2s Pixel Shaders.
"So, in current applications, the overall VS throughput using VS 2.0 shaders will be significantly faster on the ATI parts, not only due to the extra VS unit, but also to the decreased complexity of the ATI units being able to process the VS 2.0 based shaders faster."
- Haltande logik här. Lägre komplexitet behöver knappast stå i direkt relation till mer råstyrka. Inte på något sätt.
Kommentar: Jag påstår att det finns ett samband mellan komplexitet och råstyrka.
Vid konstruktion av en ny elektronisk krets så sätter man tidigt ett mål för hur många transistorer man kommer att använda. Sedan vill man få så stor prestanda som möjligt ur dessa transistorer. Man kan då antigen försöka göra en så intelligent lösning som möjligt eller satsa på enkla lösningar med mer ”råstyrka”. Om man både satsar på ”råstyrka” och komplexitet så missar man målet med antal transistorer.
"The more complex NVIDIA VS units are not as fast per clock, but their complexity approaches that of the VS 3.0 specification. Here the NVIDIA part is more future proof, but due to this increased complexity, the performance is not as fast as the simpler and more focused ATI part."
- Framtidssäkert på vilket sätt? Vi vet redan att nVidias vertex shading är långsammare än ATis. Varför skulle man tro att den skulle bli snabbare om vi slängde mer komplexa vertex programs på det?
Felande logik igen.
Kommentar: Citat från:
http://www.beyond3d.com/articles/nv30r300/index.php?p=2
“Because of supporting nested subroutines, dynamic flow control, and per channel masking, NV30 shows its muscle here. In theory, NV30 can carry more powerful vertex shading programs which can show complex visual effects running faster.”
“In my opinion, NV30 is a little better than R300 in register analysis due to the Condition Code Register”
“Generally speaking, we must admit that instruction sets of NV30 even exceed VS3.0 in several aspects, such as BRA. It seems that NV30 has a better instruction set.”
“NVIDIA declares that vertex program performance of NV30 to be over 3x faster than NV20 and over 1.5x faster than NV25, clock for clock. As we all know, NV20 has one VS unit and NV25 has two VS units, so we may assume that NV30 must have three VS units. The question has a clear answer.
It’s sure that VS unit in NV30 must have a complex and optimized architecture too, because NVIDIA claims that older VS1.0 and VS1.1 programs go faster too. More detail would require additional information from NVIDIA, though it is almost impossible that NV30 holds on the antique hardware T&L unit.
So, as we can see R300 has more raw power than NV30 in theory, clock for clock.”
“It seems that DX9 PS2.0 follows the specification of R300 exactly. The strength of NV30 PS specification impresses all of us. It is qualitative difference that 1024 instruction slots is compared with 160 slots and also has significant value to DCC applications. We see the influence of NV30 in DX9 PS3.0 too.”
“It is possible that NV30 will gain more fame when running future 3D games with complex shading effects (Note: its highly likely that we will be serveral architectural generations down the line before this level of complexity in games actually occurs. Look at DoomIII as an example as this is is only just making use of the majority of features introduced in NV15/R100 - Ed.).”
Ett exempel på vad smartare pixel shader ger är följande test:
Procedural wood surface ( credit: Larry Gritz )
R200, 50 passes
R300, 7 passes
NV30, 1 passes
"ATI doesn’t have to rely on complex compilers for its R3x0 series of chips due to two reasons. The first is that the DX9 spec is essentially built around the R3x0 processor. The second is that Microsoft has released HLSL (High Level Shading Language), and it is heavily optimized for PS/VS 2.0. Since PS/VS 2.0 functionality so closely mimics ATI’s hardware, it stands to reason that anything compiled with HLSL will automatically be set up to run optimally on ATI hardware. NVIDIA doesn’t have this luxury."
- ATi hade redan run time compilers i sina drivrutiner långt innan nVidia, faktum är att de kan arrangera om instruktioner båda i drivrutinerna och i hårdvaran.
Själva "boo hoo det är synd om nVidia de måste anstränga sig extra mycket för att prestera bra" är bara knasigt. ATi ansträngde sig före nVidia helt enkelt, men det ska de inte få cred för?
Kommentar: Klart att ATI har gjort ett bra jobb med R300 och att de har ett intimt samarbete med Microsoft. Nvidias stora fel med NV30 är att de i hybris missbedömde konkurrensen från ATI+MS. Jag tror att Nvidia är lite mer ödmjuka nu och kommer att ge ATI hård konkurrens när NV40 kommer på marknaden.
Lite off topic är detta ett roligt fenomen:
Företag A och B släpper produkter samtidigt.
Företag As kort presterar bra från dag ett och drivrutinerna gör ingen större förbättring.
Företag Bs kort presterar rätt dåligt från början men blir bättre och bättre med tiden.
Av någon anledning så brukar denna situation alltid leda till att företag B prisas för deras grymma drivrutiner.
Borde inte företag A istället prisas för att de släppte en färdig produkt både vad det gällde mjukvara och hårdvara?
Exempel: det är fint att Microsoft släpper säkerhetsuppdateringar, men vore det inte bättre om Windows var säkert redan när det släpptes?
"Of course Cg was heavily optimized for NVIDIA parts, but NVIDIA also took great pains to make Cg run well on the competitions’ parts."
- nVidia gjorde inte ett skit för att få Cg att funka bra med andra kort. De har inga back ends för andra kort. De har inte ens basic stöd för helt vanliga DirectX-funktioner enbart för att ATi var de enda som hade stöd för funktionerna. (Tänker på Pixel Shader 1.4 tex.)
"One of the first released Cg based games is Gunmetal, which features PS 1.1/2.0 and VS 2.0 code.[...]It also inherently has a lot of optimizations for ATI parts."
- GunMetal: spelet dvs. använder bara DirectX 8. Benchmarket använder EN STYCK Vertex Shader 2.0. Någon Pixel Shader 2.0 finns inte så långt ögat når.
Vilka optimeringar för ATi skulle det vara? De som gör att Tomb Raider går slöare på ATis kort när de använder Cg än när de använder HLSL? (Mycket slöare.)
Om "fusk": "Only when professional reviewers take a very close look at the rendered output do the differences show up."
- Allt började med 3Dmark03 och där handlade det inte ens om "fusk" som blotta ögat kan se. De använde empirisk data för att manipulera testet. I princip hade de lika gärnat kunnat hacka slutscoren så att de la till 1000 poäng istället.
"Typically these quality differences have to be enlarged to show the distorted or missing detail."
- Så man måste zooma in på en bild och vara en professionell redaktör för att se att nVidia stänger av ljuseffekter helt och hållet eller helt enkelt avböjer att rendera rök/dimma?
"We all like things to look nice, but looking almost as nice but running faster is typically a better scenario."
- Inget sakfel men lite väl försvarande. När "motståndarna" både har det "nice" och "running fast" så...
"The R300 has approximately 300 registers spread out between the pixel and vertex shaders. The NV30 has approximately 280 registers. Not the night and day difference that many were talking about."
- Här förvränger han sanningen av det grövsta. nVidias registeranvändningsproblem ligger i deras pixel shaders och deras temporära registers. Det totala antalet registers har inte ett skvatt med saken att göra.
"The biggest difference is the Temp registers, of which ATI has 32 and NVIDIA has 16. DX9 specs only indicate the presence of 16, so programs optimized for HLSL will most likely only take advantage of the 16 temp registers."
- Problemet ligger redan i användningen av multipla registers, det är inte maxgränsen som är problemet. Ännu en skön omskrivning av sanningen.
"Overall, the entire register issue is a non-issue."
- Aha så den största bidragande faktorn till att nVidia har dålig prestanda med full flyttalsprecension (Pixel Shader 2.0 moa) är " a non-issue". Gee who would have known.
"ATI will eventually have to go to true FP32 rendering, and they will run into the same transistor count problems that NVIDIA currently suffers from."
- nVidia fick problemet för att de ville göra en "för komplex" design "för tidigt". ATi, som gör sin design ett år senare med en mindre tillverkningsprocess och uppenbarligen en väldigt god förståelse för hur man krämar ur max ur en tillverkningsprocess, lär inte stöta på samma problem. Vidare så har ju ATi också en fördel av att vara andra man på plan då tillverkningshusen faktiskt drar lärdom av de chip som de tillverkar.
"They will also have to design a lot more flexibility into their pixel shaders so they can handle both FP16 and FP32 formats. NVIDIA has already done this, and they continue to tweak their designs and functionality. DX9.1 should make a showing next Spring with the release of the R420 and NV40, as both of these products will support PS/VS 3.0. While it is not entirely evident that PS 3.0 will require FP32 functionality over FP24, I am guessing that it will."
- Notera: första delen presenterar han som fakta. Men i andra delen erkänner han att han faktiskt bara spekulerade. Kanske vore det lika bra att visa att allt bara var spekulation istället för att låtsas som om det var någon sanning skriven i sten att ATi måste göra en FP16/FP32-design.
"NVIDIA has already laid all the groundwork for a highly programmable processor using flexible precision, as well as worked very hard to develop a high performance driver level compiler. ATI has been riding along with its DX9.0 part that was optimized for PS/VS 2.0 operation."
- ATi har också en compiler på drivrutinsnivå. Faktum är att de tom. lite grundläggande optimeringsfunktioner på hårdvarunivå.
"ATI will have to retool their entire GPU lineup to be PS/VS 3.0 compliant, while NVIDIA is almost already there."
- Uppenbarligen har han inte hängt med i nyheterna:
R42x ÄR desginat från "ground up" sen dag ett eftersom hela chippet utvecklas av ett annat team än det som utvecklade R3x0.
Detta har varit vida känd information i ett år ändå har allas vår expert Josh helt lyckats missa det.
Jag skulle tom. tro att nVidia också har ett annat designteam som utvecklar NV4x än de som utvecklade NV3x. De har jobbat så förr men frågan är om denb helt nya designen kommer med NV4x eller NV5x.
Det finns ju mer men här är några av de grövre missarna.
Det som är lite ångest med artikeln är att all hans misinformation får Ati framstå i "dålig dager" eller iaf sämre.
Jag tror helt ärligt inte att detta är för att Josh favoriserar nVidia. Att döma av vad han sagt på forum om artikeln är et snarare för att han:
1. Inte är så himla insatt.
2. I princip uteslutande fått all sin information från nVidias PR-team. (Det roliga är att jag hört många av argumenten förr direkt från nVidia själva så jag känner igen mycket av hans resonemang.)
Under de två omständigheterna borde han ALDRIG skrivit en sådan här artikel. Artikeln är inte skriven med ont uppsåt, men faktum kvarstår att oavsett intention så borde den aldrig ha blivit skriven. I alla fall inte av Josh.
Givetvis är det tråkigt att ATi inte kunnat stå till tjänst bättre. Jag tycker själv att ATi har det rätt dåligt ställt med tecnical PR managers (typ mellanting mellan tekniker och pr-snubbar med stark dragning åt det senare).
Angående nVidias personal (Adam och Andrew) på Comdex så var de trevliga och så, men knappast särskilt tekniskt kunniga. De var marknadsföringsfolk helt enkelt.
Absolut inget illa menat mot dem, de är hur trevliga som helst och kan ju såklart en del om tekniken också men de är båda PR-managers inget annat.
Kommentar: Min bedömning är att Nvidia både hård och mjukvarumässigt är väl i nivå med ATI. Nvidia har ju varit marknadsledande både vad gäller prestanda och volym ett längre tag tills ATI lanserade R300. Nu klantade Nvidia till det med NV30 eftersom man trodde att man styrde marknaden mer än man i verkligheten gör. Prestigemässigt har Nvidia lidit skada och i viss mån försäljningsmässigt, men man är fortfarande ledande på grafikkortsmarknaden försäljningsmässigt. (Intel säljer dock fler integrerade grafiklösningar).
Om Nvidias ledning och marknadfolk gör sitt jobb väl så tror jag att det blir hård konkurrens mellan NV40 och ATIs R420.