![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Het vervolg op [discussie] nVidia 8xxx Topic - Deel 7. Het achtste deel is volledig van scratch geschreven met als doel om een informatief, overzichtelijk en up-to-date topic te creëren.Inhoudsopgave:Algemene informatie over de nVidia GeForce 8xxx series.
De kaarten![]() De G80 biedt een aantal nieuwe en interessante features. Deze worden hieronder behandeld: Voor details over de nVidia GeForce 8800-kaart zelf dient men hier een kijkje te nemen. Daar worden zaken zoals het PCB, de stroomvoorziening, de GPU en dergelijke besproken. Terug naar de inhoudsopgave ![]() Wat is 'Shader Model'?Shader Model is een verzamelnaam voor een aantal instructies. Onder die instructies vallen Pixel Shaders en Vertex Shaders. Shader Model 4.0 bevat Pixel Shader 4.0 en Vertex Shader 4.0. Tevens geldt voor iedere Shader Model dat deze de voorgaande versies van Shader Model ook ondersteunt. Shader Model 4.0 zal dus ook applicaties die Shader Model 3.0 vereisen, kunnen draaien. Shader Model 4.0 wordt doorgaans aangeduid als SM4.0. Voor Pixel- en Vertex Shaders geldt hetzelfde, respectievelijk PS4.0 en VS4.0. Pixel Shader Een afbeelding bestaat uit een bepaalde hoeveelheid losse pixels. Pixel Shader zorgt ervoor dat deze pixels kleur krijgen. Vroeger werd dit niet real-time door de videokaart gedaan. Zaken waren dan wel vooraf berekent of de processor kreeg het werk in handen geschoven. Sedert de introductie van DirectX 8 kwam hier verandering in. DirectX 8 compatible videokaarten (beginnende vanaf nVidia GeForce 3 en ATi Radeon 8500) bevatten een speciale programmeerbare processor die de Pixel Shader uitvoert. Deze processor heeft 'slechts' een beperkt aantal functies (t.o.v. een reguliere CPU) maar is derhalve wel enorm snel in het berekenen van die functies. De functies zijn o.a. terug te vinden in de vorm van het berekenen van de kleur van een pixel, het uitlezen van textures, de invalshoek en lichtstraal berekenen (dp3) en de standaard rekenkundige instructies zoals optellen, aftrekken, vermenigvuldigen, delen, enzovoort. Nieuwere versies van Pixel Shader hebben nieuwere features meegekregen. Onder andere vertakkingen (wat 'loopings' / lussen mogelijk maakt) en het uitlezen van textures met willekeurige coördinaten. Vertex Shader Een Vertex Shader is een functie waarmee speciale effecten op 3D objecten toegevoegd worden. Elke scène in een 3D wereld bestaat uit vertices. Deze vertices zijn punten van driehoekjes waar een figuur uit bestaat. Iedere vertex heeft een X, Y en een Z coördinaat waarmee de plaats in de 3D wereld wordt bepaald. Naast de locatie bevat de vertex o.a. ook kleur, fog (mist), alpha (doorzichtigheidfactor) en informatie over textures. Zie onderstaande afbeelding: ![]() Met vertex shaders kan de programmeur alle informatie in een vertex eenvoudig wijzigen. Deze feature zit ingebakken in DirectX (vanaf versie 8.0) en wordt door de DirectX8-compatible kaarten volledig hardwarematig uitgevoerd. Mogelijkheden van vertex shaders zijn o.a.: Skeletal animation, key frame animation en morphing. Er zijn eigenlijk nog veel meer mogelijkheden. Terug naar 'Shader Model' Verschillen tussen de shader model versies
Terug naar 'Shader Model' Wat biedt Shader Model 4.0?Kenmerken zijn:
Terug naar 'Shader Model' Terug naar de inhoudsopgave ![]() De nVidia GeForce 8800 (G80) is de eerste grafische processor die DirectX10 (WGF 2.0) ondersteunt. DirectX is een populaire en handige API gebruikt voor PC en Xbox spellen. Microsoft ontwikkelt DirectX in samenwerking met hard- en software fabrikanten. Derhalve wordt alles goed opelkaar afgestemd en zijn de features in iedere nieuwe DirectX versie nuttig bij het gebruik van de nieuwste games. Wat wou Microsoft o.a. bereiken met de DirectX 10 API?
![]() Lang geleden waren grafische processoren niet zo ver ontwikkeld zoals dat vandaag de dag het geval is. De nVidia GeForce 256 stak vrij eenvoudig inelkaar en kon enkel overweg met een aantal 'vaste functies'. Eigenlijk waren ze niet in staat om echte unieke code te verwerken. De nVidia GeForce 3 bracht hier verandering in. Deze kon pixels en vertex shaders verwerken zoals in de DirectX 8 specificatie beschreven stond. Later werden grafische kaarten steeds geavanceerder. Complexe code kon verwerkt worden door de GPU. De maximale lengte en complexiteit van shaders werd bij iedere release van DirectX opgeschroefd. Met de introductie van Shader Model 3.0 konden veel functies praktisch oneindig vaak gebruikt worden. Toch waren er nog steeds limieten: De execution units waren opgedeeld in losse units voor pixelshaders en vertexshaders. Dat betekende dat iedere grafische processor twee losse setjes met units nodig had voor iedere soort shader. De R500 van ATi en de G80 van nVidia brachten hier verandering in. De illustratie hieronder weerspiegelt 'de oude situatie' ofwel, losse vertex en pixel shaders. ![]() Bron: X-bit labs Deze opsplitsing had, ondanks er ook een aantal voordelen zijn, een negatief effect op de algehele prestaties van de GPU. Voorbeeld: Zodra een scène veel pixel shaders gebruikt zullen de pixel shaders volledig benut worden (en indien er te weinig capaciteit is zullen er onvoldoende FPS zijn) terwijl de vertex shaders niet of nauwelijks aangeroepen worden. Dit kan in bepaalde situaties erg inefficiënt zijn. ![]() Bron: X-bit labs Bovenstaande illustratie laat de werking zien in geval van 'unified shaders'. Alle beschikbare shaders zijn in staat om zowel pixel als vertex berekeningen te verwerken. Mocht een scène veel pixel shaders gebruiken dan kunnen de vertex shaders - die voorheen enkel vertex konden - nu ook aanvullen en pixel shaders gaan berekenen. Gevolg is dat er geen onbenutte shaders meer zijn en de prestaties omhoog gaan. nVidia was overigens niet de eerste met 'unified shaders', de techniek is dus niet nieuw bij de nVidia GeForce 8xxx series (G80). ATi bracht met de 'Xenos' (ook wel bekend als R500) als eerste 'unified shaders'. Echter is de G80 de eerste nVidia kaart met dergelijke techniek. Terug naar de inhoudsopgave ![]() De nVidia GeForce 8800 zit nog dichterbij unificatie dan de ATi Xenos (R500). Het hart van de GPU is een universele execution core die uit 128 losstaande processoren bestaat. Deze core werkt op een aanzienlijk hogere klokfrequentie dan de rest van de G80. ![]() Bron: nVidia De stream processoren zijn gegroepeerd in 8 blokken met elks 16 processoren en ieder blok beschikt over 4 texture modules en een gedeelde L1 cache. Een blok bestaat uit twee shader processoren die elks uit 8 stream processoren bestaan. De 8 blokken hebben toegang tot alle 6 L2 caches en naar alle zes arrays van 'general-purpose' registers. Dat betekent dat data die door de een bepaalde shader gegenereerd is direct door een andere shader processor gebruikt kan worden. Een belangrijk detail: In het bovenstaande ontwerp kunnen shader blokken, L2 cache, 'general-purpose' registers en de memory controllers (64 bits) uitgeschakeld worden. Dit maakt het mogelijk om beschadigde onderdelen uit te schakelen zodat de chip toch goed werkt. Dat de uiteindelijke snelheid daarmee omlaag gaat zal geen probleem vormen; nVidia plakt er dan een stickertje op van een langzamer model. De data wordt door de Input Assembler omgezet in FP32 formaat. De Thread Processor werkt als verdeler en zorgt ervoor dat de belasting gelijkmatig verdeelt wordt over de stream processors. ![]() Bron: X-bit labs De GigaThread technology is een geavanceerde analoge naar Ultra-Threading omzetter die ATi in de ATi Radeon X1000 series reeds in gebruik nam. GigaThread deelt de shader blokken voor het verwerken van vertex, geometrische en pixel shaders in op basis van de belasting. GigaThread zal proberen om ervoor te zorgen dat de shader blokken niet gaan 'niksen' zodra zogenaamde 'texture sampling' berekeningen uitgevoerd worden. Elke stream processor kan twee tegelijk toegewezen 'scalar' bewerkingen zoals MAD+MUL per cycle verwerken. Volgens nVidia kan hiermee een totale verwerkingskracht van rond de 520 gigaflops bereikt worden. Dit is meer dan twee keer de kracht van een ATi R580 welke aldus ATi, rond de 250 megaflops verwerken kan. Zeggen die getallen veel? Nee. Elke pixel processor in de R580 bevat 2 scalar, 2 vector ALU's en een branch prediction unit. Dat betekent dat de R580 tot 4 arithmatische instructies en een branch instructie per cycle kan verwerken. Daarmee lijkt het erop dat de efficiëntie van één pixel processor in de G80 lager is dan in de R580. Echter is de overall performance van de G80 hoger omdat deze meer execution units heeft (128 versus 48) en omdat deze op een hogere klokfrequentie werken. Zoals altijd maar weer blijkt, ga nooit af op pronkende getallen met "wij kunnen maar liefst zoveel flops per seconde verwerken!" zonder de achterliggende techniek te kennen. Dit soort getallen zeggen in de praktijk namelijk niet zoveel over de uiteindelijke performance van een chip. Iedere stream processor (van totaal 128) in de G80 is een ordinaire ALU die in staat is om data in floating-point formaat te verwerken. Dat betekent dat een stream processor niet alleen in staat is om als elke soort shader (vertex, pixel, geometrische) te werken. Het kan ook, onafhankelijk van andere processoren, berekeningen in het framework van the 'Compute Unified Device Architecture' (CUDA) uitvoeren. Met andere woorden: Een deel van de G80 kan bepaalde berekeningen uitvoeren terwijl een ander deel bijvoorbeeld reeds bezig is met het visualizeren van die resultaten. Dit kan omdat de streaming architecture het toestaat om de output van de éne processor direct als input voor de ander te gebruiken. ![]() Bron: X-bit labs De efficiëntie van de GPU in geval van het verwerken van shaders met dynamic branching is verbeterd in vergelijking met de ATi Radeon X1900 (R500 / Xenos). Terug naar de inhoudsopgave ![]() De G80 processor kan worden gezien alsof het uit twee delen bestaat. De Execution Core en de Lumenex Engine. Deze is verantwoordelijk voor het samplen en filteren van textures en voor full-screen antialiasing (FSAA), HDR en de output van de gerenderde resultaten naar het beeldscherm. In andere woorden: Dit deel van de G80 omvat texture caches, memory access interface, TMU's en ROP's. De flowchart van de G80 laat zien dat er 128 stream processoren zijn die in 8 blokken met 16 processoren elks zijn. Elke groep heeft een texture sampling en filtering unit die bestaat uit 4 TMU's. Ofwel, de G80 bevat in totaal 32 TMU's welke als volgt ontworpen zijn: ![]() Bron: X-bit labs Elke TMU bevat één sampling en twee filtering units. De snelheid van bi-linear en 2x anisotropisch filtering is 32 pixels per cycle voor elke filtering type. Bi-linear filtering van FP16 textures wordt op dezelfde snelheid als de snelheid berekend. De snelheid van FP16 2:1 anisotropisch filtering is 16 pixels per cycle. De Lumenex Engine van de nVidia GeForce 8800 GTX werkt met een klokfrequentie van 575MHz. De theoretische fill rate is 18.4 gigatexels per seconde indien zowel bi-linear als 2x anisotropisch filtering in gebruik zijn. De raster operators zijn gegroepeerd in 6 delen waarvan elk 4 pixels (met 16 subpixel samples) kan verwerken. Dit levert in totaal 24 pixels per cycle met kleur en Z-waardes op. Zodra enkel het Z-buffer gebruikt wordt kunnen er 192 pixels per cycle in de normale modus verwerkt worden. In 4x multisampling modus is dit 48 pixels per cycle. ![]() Bron: nVidia Het ROP subsystem ondersteunt alle soorten antialiasing: multisampling, supersampling en transparante antialiasing. Als toevoeging op de standaard selectie van FSAA modes: de nieuwe GPU kan overweg met 8x, 8xQ, 16x en 16xQ FSAA. Antialiasing van textures in FP16 en FP32 formaat is volledig ondersteunt, daarmee kan de nVidia GeForce 8800 in tegenstelling tot de nVidia GeForce 7 series ook FSAA op HDR toepassen. nVidia zegt dat het geheugen subsystem van de nVidia GeForce 8800 een nieuwe controller bevat. Echter is de geheugen controller niet drastisch veranderd. Het aantal sections is van 4 naar 6 gegaan. Dat betekent dat de totale geheugen bus breedte van 256 bits (4x64) naar 384 (6x64) bits gegroeid is. Ondersteuning voor GDDR4 is ook toegevoegd ondanks GDDR3 op 900MHz (DDR1800) met 86,4GB/s voorlopig wel voldoende bandbreedte kan leveren. Terug naar de inhoudsopgave ![]() Ook wat betreft beeldkwaliteit zijn de nVidia GeForce 8xxx kaarten erop vooruit gegaan. In zowel full-screen antialiasing (FSAA) en anisotropisch filtering zijn er verbeteringen aangebracht. Antialiasing (AA) Voor de launch van de nVidia GeForce 8xxx series had nVidia hybrid 8xS mode als beste Antialiasing. Deze mode combineert super- en multisampling AA. Dit leverde een goede beeldkwaliteit op, enig nadeel is dat super-sampling enorm zwaar was waardoor de mode praktisch niet gebruikt kon worden in moderne games. Het (praktisch) maximaal haalbare op de nVidia GeForce 7 was dus de 'oude' 4x multi-sampling modus. De ATi Radeon X1xxx series konden hier makkelijk 6x multisampling tegenaan gooien en hadden wat betreft FSAA een stapje voor. nVidia heeft nu x8 multisampling toegevoegd (genaamd 8xQ in de ForceWare drivers). Tevens ondersteunt de GPU drie nieuwe antialiasing modi: 8x, 16x en 16xQ die alledrie de zogenaamde Coverage Sampling Antialiasing (CSAA) methode gebruiken. Theoretisch gezien kon 16x multisampling reeds eerder toegepast worden (afgezien van de performance hit). Met CSAA kan de 16x modus gebruikt worden met slechts dezelfde performance hit als 4x multisampling AA. Het grote verschil tussen CSAA en multisampling is het verminderen van het aantal gecombineerde samples. Met 16x multisampling antialiasing zijn er 16 samples per pixel op het scherm. Met CSAA zijn dit er minder en dat zal dus minder zwaar zijn voor de GPU. Belangrijk om hierbij te weten is dat de CSAA methode enkel bespaart op het aantal kleuren/Z samples. Niet op het aantal samples van de coverage mesh. Het percentage van samples dat in een triangle, die refereert naar de originele pixel, zit is dus veel hoger dan bij 4x multisampling AA. Dat het enkel bespaart op kleuren / Z samples is niet negatief omdat juist die informatie het zwaarste is in het memory subsystem. Dat er bij 4 color / Z sampels per pixel en 16 coverage samples lichte verlies in beeldkwaliteit is, valt bijna niet op. Het zou zichtbaar kunnen worden zodra er een hoog contrast tussen de antialiased polygon en de achtergrond is. Dit omdat 4 samples ontoereikend kunnen zijn om een gemiddelde van de kleur te berekenen' waardoor de kwaliteit van de antialiasing weer dicht bij de 4x multisampling in de buurt komt. De nVidia GeForce 8xxx ondersteunt drie CSAA modi in totaal: 8x, 16x en 16xQ. De eerste twee modi werken met respectievelijk 8 en 16 coverage samples en 4 color / Z samples. De 16xQ modus zorgt voor de hoogste beeldkwaliteit en gebruikt 8 color samples waarmee het de kwaliteit van 16x multisampling AA bereikt. ![]() Bron:X-bit labs De nieuwe aanpak van nVidia vermindert geheugen gebruik en bespaart bandbreedte waardoor er meer prestaties geleverd kunnen worden dan met 16x multisampling. Wat kwaliteit betreft ligt het dicht bij 16x multisampling en is de beeldkwaliteit veel beter dan de SLI AA 16x modus wat enkel wazige textures met zich mee brengt. Volgens nVidia zijn de prestaties ongeveer 10% tot 20% lager in 16x CSAA modus dan in 4x MSAA modus. Anisotropisch filtering (AF) De nVidia GeForce 8xxx bevat een filtering algoritme die niet afhankelijk is van de hoek van de inclinatie ( glooiingshoek ) van de texture. Het is vergelijkbaar met de techniek van ATi zodra de High Quality AF optie in werking wordt gezegd. Volgens nVidia is de nieuwe manier van AF echter nog nét even iets beter. Terug naar de inhoudsopgave ![]()
Problemen eerste nVidia GeForce 8800GTX kaartenAllereerst: eerste kaarten. Dit geldt enkel voor een aantal kaarten ten tijde van de introductie! De kans dat deze kaarten in omloop zijn is zo goed als niet aanwezig. nVidia berichtte destijds aan de launch-partners dat de kaarten niet helemaal correct waren en artifacts genereren. Ook zou de PC met een foutieve kaart kunnen rebooten na 30 á 120 minuten werktijd. Het probleem zat in een weerstand met een verkeerde waarde. Er was een 50K ohm weerstand geïnstalleerd in plaats van een 30K ohm weerstand. Bron:DailyTech - Some GeForce 8800GTX Cards Defective, Vendors Unfazed Terug naar Wetenswaardigheden Past mijn nVidia GeForce 8800 GTX / Ultra wel in de behuizing?Het PCB van de nVidia GeForce 8800GTX is maar liefst 27,9CM lang. Niet alle behuizingen zijn lang en groot genoeg om deze kaart onderdak te kunnen geven. Op het NVNews forum is een topic verschenen met een lijst welke systeemkasten geschikt zijn voor de lange kaart. Gemakshalve zal ik de informatie ook in dit topic zetten. Het zou mooi zijn als de lijst door mede-GoT'ters wordt geupdate.
Terug naar Wetenswaardigheden DriverinformatieNee, hier komt geen lijst met welke driver, welke score haalt in 3DMark. Dat is simpelweg teveel werk en men kan er gerust van uitgaan dat de nieuwste driver het snelste is. Naast dat zal een prestatieverschil van 1% geen zoden aan te dijk zetten dus zoeken naar de optimale driver voor game x is in principe niet nodig. Wat betreft stabiliteit van de drivers: Elke driver anders. Wil je weten welke driver het stabielste is? Probeer het simpelweg uit, zodra je problemen ondervindt dan test je een oudere/nieuwere driver. Wat wel interessant is zijn de drivers voor Microsoft Windows Vista. nVidia heeft de driverontwikkeling flink onderschat. Als ik de berichten van gebruikers over de laatste drivers mag geloven is het alsnog niet super voorelkaar. Tevens zou de support voor bepaalde kaarten van de nVidia GeForce 7-serie achterblijven. Download: nVidia.com - Drivers Terug naar Wetenswaardigheden KoelingZalman komt binnenkort met nieuwe koeling voor de nVidia GeForce 8800 videokaarten. Reviews zijn nog niet voorhanden. Zie Tweakers.net - Nieuwe vga-koelers GeForce 8800-serie. Thermalright heeft reeds de HR-03 Plus op de markt gebracht. Een aantal reviews daarvan: Terug naar Wetenswaardigheden Aanschaffen van een nVidia GeForce 8; waar op letten?Er zijn een aantal punten waar rekening mee gehouden moet worden, te weten:
Past mijn nVidia GeForce 8800 wel in de behuizing? De voeding is groot belang bij een high-end kaart. Zoals in dit topic te lezen is zal een nVidia GeForce 8800GTX al ongeveer 175W nodig hebben. nVidia beveelt minimaal een 450W voeding aan met een gecombineerd vermogen van 30A op de 12V lijn. Reviews over voedingen kunnen vertellen welke goed is. Met behulp van Google zijn deze wel te vinden. Een interessant topic op GoT is Welke voeding heb ik nodig? Deel 17. Niet zozeer iets waarover men 'kan vallen'. Wel iets om in het achterhoofd te houden. Bepaalde fabrikanten zullen zogenaamde 'OC' of 'TOP' versies uitbrengen. Ook kan het zijn dat fabrikanten juist ervoor kiezen om iets een paar MHz lager te laten draaien. Zodra de klokfrequenties van jouw kaart afwijken met diegene die in dit topic aangegeven staan dan is het verstandig om even op de website van de fabrikant te kijken, daar staat waarschijnlijk aangegeven met welke klokfrequenties de kaart dient te opereren. De klokfrequenties die in dit topic staan zijn de referentiewaarden van nVidia. De Tweakers.net - Pricewatch - nVidia GeForce 8 Serie komt van pas bij het vinden van een nVidia GeForce 8xxx. Terug naar Wetenswaardigheden Piepende nVidia GeForce 8800 kaartBepaalde nVidia GeForce 8800 kaarten zouden piepen. Informatie daarover vind je in een reactie van Help!!!! in één van de nVidia discussie topics. Terug naar Wetenswaardigheden Slechte prestaties en frame-dropsZijn de prestaties onder de maat?
Terug naar Wetenswaardigheden Overclocken van een nVidia GeForce 8800 (met o.a. voltmods)MADSHRIMPS heeft een overclock-guide opgezet. De guide is geschreven voor nVidia GeForce 8800GTS en GTX kaarten. Naast wat informatie over tools en de basis, wordt er ook gesproken over het toepassen van volt-mods. Hier is de guide te vinden. Terug naar Wetenswaardigheden Terug naar de inhoudsopgave |
[ Voor 255% gewijzigd door Thandor op 02-06-2007 19:45 ]
Profiel | https://thandor.net - hardware
And the rest of us would be carousing the aisles, stuffing baloney.