Astennu schreef op woensdag 25 januari 2006 @ 08:02:
[...]
Nu is het allemaal een stuk duidelijker. Maar wordt er nu veel gebruik gemaakt van die Z-Stencils ? of alleen Doom 3 en quake 4 waar er echt veel gebruik wordt gemaakt ? Want ATi heeft toch gekozen om er 16 te gebruiken in de R520/R580 en wel 8 in de RV530.
Veel games met real time schaduwen maken gebruik van Z/Stencils, maar Doom3 was natuurlijk een erg extreem geval. ATi heeft trouwens wel een verdubbelde Z/Stencil rate wanneer er 2xMSAA gebruikt wordt. Je ziet hier dat de Z Fillrate niet veel zakt in vergelijking tot de No AA Z Fillrate.
En CJ. ATi kaarten hebben toch ook 2 Alu's per shader pipe ? Een kan ADD/MULL/MADD De 2e kan alleen ADD doen En ze hebben een Vector en een Scale alu.. Nvidia heeft er dan 2 die alles kunnen. Alleen wat dat ADD/MULL/MADD doet weet ik nog niet daar ga ik me vanmiddag maar eens in verdiepen. Ook hoe nvidia de pixelpipes opbouwd. Maar tot nu toe herb ik nog niet zo'n mooi overzicht van de G70 kunnen vinden @ anandtech. Voor de ATi staat wel de gehle opbouw er in. En wat de ALU's kunnen. Bij de G70 review niet. Het lijkt wel of nvidia dat voorzigzelf wil houden.
ATi heeft in de R520 1 pixelshaderengine per fragmentpipe. Dus totaal:
- 16 Vector MADD/ADD/MUL ALUs
- 16 Vector ADD ALUs
- 16 Branch Execution Units
R580 heeft totaal 3 pixelshaderengines per fragment pipe. Dus totaal
- 48 Vector MADD/ADD/MUL ALUs
- 48 Vector ADD ALUs
- 48 Branch Execution Units
Dus 48 volledige ALUs en 48 'halve' ALUs.
nVidia heeft 2 ALUs per fragment pipe bij G70, dus in totaal:
- 48 Vector MADD/ADD/MUL ALUs
Maar... per 2 ALUs per fragment pipe, houdt eentje zich ook bezig met texture processing instructions. Dus alleen in weinig voorkomende gevallen kan G70 beschikken over de volledige maximale ALU power. ATi heeft hier geen last van want die heeft dedicated texture processing units.
Voor de volledigheid, R500/Xenos heeft 16 Texture Fetch Units (en ook 16 Vertex Fetch Units). Alle games die dus ontwikkeld worden op de Xbox360 zijn hiervoor geoptimaliseerd. En ook bevat de Xbox360 alle flexibele HDR vormen die de R5x0 serie ook kan inclusief AA en natuurlijk 3Dc. Eventuele ports van de Xbox360 zullen zich dus zeer thuisvoelen op de R580/R520 (Halo3?).
Wat betreft Z/Stencils is het moeilijk te vergelijken. Ik geloof dat de R500/Xenos er 64 Z/Stencil operations per clockcycle aan kan. Maar dit gebeurt allemaal in de speciale eDRAM daughterdie (net zoals AA, alpha blending) en niet meer in de parent-die. Daarnaast is het geoptimaliseerd voor HDTV resoluties.
Het aantal ROPs staat ongeveer gelijk aan 8 (er wordt gesproken van 192 processing elements in de eDRAM daughterdie, maar de output staat ongeveer gelijk aan 8 pixel writes per cycle) en die hebben allemaal de mogelijkheid om 2x zo veel pixels te outputten wanneer er geen colour operations hoeven worden uitgevoerd (dus dubbel Z ratenet zoals RV530 en de meeste NV kaarten). Dus 16 pixels in dat laatste geval.
Doordat het eDRAM een interne bandbreedte heeft van 256GB/s, een interne buffer van 10MB (en met Tile Rendering werkt in die buffer), kan de Xbox360 dus zonder al te veel performanceverlies 4xMSAA doen (maximaal ong 4-5% performancedrop) en 2xMSAA zelfs helemaal zonder performancehit. Als pixeldata dus bewerkt is door de unified shaders, gaat het richting de daughterdie (eDRAM module) die zorgt voor de rest (blending, HDR, AA).
Je moet ook even de rest er bij pakken net niet alleen naar de oude PS2.0 texture intensieve tests. Je ziet dat een G70 nog steeds profijt heeft van het terugvallen naar partial precision (FP16), terwijl ATi's full precision (FP32) ongeveer net zo snel is als hun FP16. Belachelijk toch eigenlijk?
Daarnaast heeft ATi al maanden (half jaartje ongeveer?) aan gamedevelopers voornamelijk de X1600XT gegeven, zodat ze hun games konden optimaliseren/uitbalanseren voor een 3:1 ALU:TEX ratio voorzover ze dat nog niet gedaan hadden, want de meeste games gaan toch al richting ALU power.
Wat ik er van denk is dat nVidia ook dezelfde kant op gaat als ATi, dus het verhogen van de ALUs. Omdat nVidia tot nu toe de texture units niet heeft losgekoppeld van de rest van de pipeline, zoals ATi dat heeft gedaan, zal dit dus meeschalen met het aantal fragment pipes.
Gaan we uit van G71 met 32 fragment pipes met 2 ALUs per fragment pipe, dan is het totaal dus:
- 64 Vector MADD/ADD/MUL ALUs
Hiervan houden 32 zich ook bezig met texture operations, maar toch is het wel een vergroting in ALU power van 33%. De verwachting is dus dat nVidia ook uiteindelijk de texture units gaat loskoppelen van de fragmentpipes, want textures vreten veel bandbreedte (en shaders niet) en het omhoog gooien van het aantal texture units vereist veel meer van de bandbreedte (vandaar misschien dat GTX512 zo veel beter presteert dankzij veel meer bandbreedte en waarom er geruchten gaan dat G71 enorm veel bandbreedte heeft?). En die bandbreedte heb je ook nodig voor het vullen van die 16 ROPs voor zaken als HDR en MSAA (24 ROPs zou ofwel een 512-bit memory interface vereisen of supersnel GDDR4).
Je moet kiezen voor snelheid in oude games of in nieuwe games. Nieuwere games/engines gaan duidelijk voor meer shaderpower. Zie F.E.A.R., SC:CT, B&W2, HL2, Oblivion, UE3, Cry Engine 2. Oudere games gaan meer voor hoge texture fillrates. Veel games gebaseerd op de Q3 engine zijn zeer blij met veel TMUs. Maar hoeveel games komen er nog uit met een Q3 engine? En is de R520/R580 niet snel genoeg voor dat soort games die er al zijn? En zelfs D3 is bv een game met een technisch gezien 'oudere' engine die meer neigt naar OGL1.5 (vergelijkbaar met DX8.1 met af en toe wat PS2.0 achtige effecten)) en je ziet dat die generatie games meer profiteren van meer texture units. Maar hoe meer shaders er worden gebruikt, des te efficienter is een ATi kaart.
De conclusie van Digit Life is beter om te quoten:
What concerns the expedience of the new 3:1 formula accepted in Toronto (computing:texturing) - we have grounds to expect it bear some fruit. We can see that the newer the games, the more requirements they pose to shader computations. And vice versa, the older the game, the paler the efficiency of the X1900 XTX. It's obviously foolish to buy such a card for playing Quake3 or Serious Sam 1.
I also want to note that the efficiency of Shaders 3.0 in terms of (dynamic) branching is manifold higher in the X1900 XTX than in the competitor from NVIDIA, which may also have a positive effect in future games. But there is still one question remaining: how well will SM 3.0 be used in the light of the nearest appearance of DX Next (MS Vista), when games and engines have to be developed in a totally different way. Low dynamic branching performance in Shaders 3.0 in NVIDIA, as the main and only recent owner of these technologies, led to reluctant introduction of SM 3.0 into games. Even despite the texturing features in vertex pipelines, which are not available in the X1xxx. The time will show who was right.
Dus toekomstige games = meer ALUs is beter. Zelfs nVidia ziet dit, maar zoals het er nu naar uit ziet gaan ze dus voor brute kracht. Als hun pixelshaderengines niet zo goed zijn in dynamic branching en de vertexshaders niet snel zijn met vertex texturing, dan gooien we er gewoon meer van in op een veeeeeeeeeeel hogere snelheid, zodat het minder opvalt dat ze niet zo efficient zijn. Dit is natuurlijk absoluut niet verkeerd en zal z'n voordelen hebben in zowel oudere games als ook in nieuwere games, maar persoonlijk vind ik R580 een elegantere oplossing.
Klopt, dat komt doordat er ook 48 branching units in zitten. Maar als je 1 R520 pixelshaderengine vergelijkt met 1 R580 pixelshaderengine, dan is de efficientie omlaag gegaan. Overigens heeft ATi er ook over nagedacht om R520 een 16-1-2-1 (dus 2 pixelshaderengines per fragment pipe) te geven.
Quote by Eric Deemers
When we designed the R520, we were already starting the design of the R580. The R580 (X1900) was designed to be both the next high end after R520, but was also designed to be more balanced overall for the newest applications. We designed the R520 first with a Spring 05 introduction target, and it was a reasonable design for that time, that introduced many new technologies. We might of done a 2x ALU, but there was already so much new technology in R520, that we decided against that. But it ended up being delayed, and so lost some of its steam due to that. I feel that for the current newest applications today, R580 is a better balanced part (given that it often doubles the performance of R520, I think that's reasonable). But in Spring 05, R520 would have rocked :-)
http://www.beyond3d.com/reviews/ati/r580/int/index.php?p=03
[
Voor 9% gewijzigd door
CJ op 25-01-2006 16:03
]
Technical PR Officer @ MSI Europe. My thoughts and opinions may not reflect the ones of my employer.