Far Cry 1.2 met Shader Model 3.0 getest

De mannen van The Tech Report hebben een artikel gepubliceerd waarin wordt gekeken naar de prestaties van de GeForce 6800-familie in Far Cry 1.2. De Far Cry 1.2-patch ondersteunt Shader Model 3.0 waardoor de GeForce 6800-familie de kans heeft om het voordeel van dit model ten opzichte van Shader Model 2.0 te demonstreren. Shader Model 3.0 voegt verschillende opties toe aan Shader Model 2.0 die in theorie snellere shaders kunnen opleveren. Zo vinden we in Shader Model 3.0 onder andere ondersteuning voor dynamic branching en geometry instancing.

Het blijkt dat Farcry in combinatie met de GeForce 6800-familie duidelijk het voordeel van Shader Model 3.0 weet te demonstreren. De GeForce 6800-kaarten weten het spel gemiddeld genomen tien procent sneller te draaien met het Shader Model 3.0-codepath. Het is geen schokkend groot verschil, maar het is de moeite waard. Niet alleen de performance is omhoog gegaan met het Shader Model 3.0-codepath, ook de beeldkwaliteit is nu gelijkwaardig aan die van de ATi-kaarten. Shader Model 3.0 vereist namelijk een precisie van 32-bits per kleurenkanaal. Dit is een verdubbeling van de 16-bits die voorheen werden gebruikt in sommige Far Cry-shaders wanneer een nVidia-kaart in het systeem geprikt was.

Door Hielko van der Hoorn

02-07-2004 • 19:07

60 Linkedin

Bron: The Tech Report

Reacties (60)

60
58
48
15
8
0
Wijzig sortering
Lijkt me logisch. In PS 3.0 zitten geen nieuwe mogelijkheden om shaders te maken die meer dingen kunnen dan PS 2.0 shaders. Wat wel in PS 3.0 zit zijn functies die gebruikt kunnen worden om een shader sneller te maken. Daar gaat het om.
Paralex mapping en andere effecten worden pas in patch 1.3 geimplimenteerd.
Bedenk wel ff dat Far Cry een game is die totaal niet op veel instructies loopt dat PS 3.0 aankan en PS 2.0 bij lange na niet.
Met PS 3.0 kan je veel complexeren effecten maken doordat je veel meer PS instructies kan met PS 3.0 iets waar een GeForce 6800 series kaart dus gewoon zo uit zijn zak kan laten waaien en op 60fps kan laten lopen loopt dan bijv. op 5fps.
Zoals bijv. de Unreal 3 engine die op 30-60fps en soms wel hogere op een GeForce 6800 series kaart loopt terwijl die op een X800 series kaart nooit boven de 5fps uitkomt.
En dan heb ik het nog niet over VS 3.0 gehad wat behalve veel meer instructies ook nog eens nieuwe effecten op het gameplay doek kan toveren wat je met VS 2.0 niet kan.
Zoals bijv. Hardware Displacement mapping.
Nou hoor ik mensen denken dat konden de 9700 Pro en Parhelia toch ook al?
Niet echt.
Dat was Paralex mapping een soortgelijk effect alleen van veel mindere kwaliteit en tegen een extreme performance hit zoals de Unreal 3 engine heeft aangetoond behalve op een GeForce 6800 series kaart of een andere SM 3.0 equiped graphicscard van een ander merk (alleen zijn die er nog niet).
PS2.0 tov PS3.0 geeft bijna geen voordelen, de nv40 heeft wel dynamic branching maar de voordelen die je eruit haalt zijn afhankelijk van de situatie en meestal kan je beter je tijd investeren in oplossingen, verbeteringen die voor alle kaarten werken. (tenzij je een twimtbp dev bent die zn shaders door nv laat schrijven ;) )
De R420 draaide op de GDC ook unreal engine 3 aan een gelijkaardige snelheid (wie de snelste was is onbekent maar voor bijden was het rond 20 fps). Men sprak van artifacten op de R420 door FP24 ipv FP32 en men sprak van artifacten op de nv40 door overclocken... geloof ervan wat je wilt maar we zien ue3 niet voor eind 2005.
De R420 lange shaders even goed aan als de nv40, zelf beter (hogere clocksnelheid).
De Radeon 9700 kan presampled displacement mapping, dat is echte displacement mapping(!), hij kan zelf dynamic tesselatation maar die functies zijn nooit goed toegankelijk gemaakt in dx of ogl en hebben zo nooit het daglicht gezien. Idem voor de parhelia, die had volledige DM en kon zelf z'n map(pen) sampelen (matrox is de 'uitvinder' van bumpmapping en DM).
Displacement mapping met VS3.0 werd tot voor enkele maanden geleden gezien als de uiteindelijke doorbraak van DM maar nu blijkt dat de implementatie in de nv40 te beperkt is om er goed gebruik van te maken. Voor developers is het wel interessant om de techniek al eens te kunnen uitproberen.
Virtual DM of parralax mapping of offset mapping heeft een minimale performance hit (ik denk dat de sm2.0 shader 7-8 instructies heeft). De techniek bestaat al lang, humus heeft een tijd geleden er een demotje van gemaakt. 90+FPS op men R9700Pro
http://esprit.campus.luth.se/~humus/
Anoniem: 114191
@Buck Naked4 juli 2004 20:00
Ik weet niet waar jij de cijfers en info vandaan hebt, maar die Displacement Mapped Far Cry Demo die reeds eerder gefilmd werd liep op een X800 beter dan de GF6800.

En dat de GF6800 dingen op 60 fps doet waar de X800 op 5 fps schokt geloof ik al helemaal niet. Fanboy-duimenzuigerij niet gebaseerd op realiteit, en extreem kunstmatig-theoretische calculatiesiutatie's. Dat hele SM3.0 verhaal wordt zwaar overdreven, want ja, de GF6800 serie kan die wel aan maar de snelheid waarmee het gebeurt is bedroevend laag, dus het maakt allemaal niet zo gek veel uit.

Werk jij soms voor de NL'se afdeling van Nvidia?
Voordat iemand de vraag gaat stellen:
The version 1.2 patch for Far Cry should be released soon for all the world to see
ja op maandag om presies te zijn
Hadden jullie dit filmpje al gezien?

Kwaliteit is wat brakjes, maar het is wel stukken indrukwekkender dan het plaatje in het artikel.
toch gek dat je om de zelfde beeld kwaliteit een nieuwe shader model nodig hebt...
Door die nieuwe shader model krijg je in het ideaalste geval hetzelfde beeld, maar de GPU hoeft daar minder voor te doen en dat resulteert dus weer in een hogere fps :D
dat ligt aan de drivers van nVidia, wat beeldkwaliteit betreft zijn model 2.0 en 3.0 gelijk aan elkaar, maar model 3.0 maakt vooral het programmeren van de shaders makkelijker, je "ziet" dus eigenlijk alleen een verschiel tussen 1.x en 2.0/3.0, tussen 2.0 en 3.0 zit geen zichtbaar verschil...


EDIT:
maar dat was al duidelijk zie ik na het plaatsen, de beeldkwaliteit is trouwens niet "in het ideaalste geval" gelijk, maar wanneer je maar wilt...
Voor de mensen die willen weten of sm3 (let op in Farcry) een betere beeldkwaliteit geeft:

http://www.anandtech.com/video/showdoc.html?i=2102

Over het algemeen word het in Farcry gebruikt om meer performance te halen. Voor meer eyecandy (wat zeker in die oceaan shot niet te zien is) zijn er een aantal features die gewoon teveel moeite/tijd kosten om nog in te bouwen in een al gereleased spelletje.

Echte beeldkwaliteit verbeteringen zullen waarschijnlijk pas in nieuwere spellen te zien zijn.
Anoniem: 91868
2 juli 2004 19:20
Blijft vreemd, ps2.0 op een ATI ziet er net zo uit als ps3.0 op een NVidia :?
oja: nofi
Lijkt me logisch. In PS 3.0 zitten geen nieuwe mogelijkheden om shaders te maken die meer dingen kunnen dan PS 2.0 shaders. Wat wel in PS 3.0 zit zijn functies die gebruikt kunnen worden om een shader sneller te maken. Daar gaat het om.
En waarom is bij gebruik van PS3 de beeldkwaliteit bij nVidia dan ineens toch beter dan voorheen ?
Daardoor ze nu overal gebruik maken van 32-bits nauwkeurigheid (verplicht voor PS 3.0). Dat neemt echter niet weg dat 32-bit nauwkeurigheid al mogelijk is sinds PS 1.0. Het werd alleen niet altijd gebruikt.
euh, FP32 was mogelijk sinds sm2.0
sm2.0 was dus FP16 (Partial Precision), FP24 of FP32
ps1.0 tot 1.3 was fx12 (fx= integer, niet vlottende komma)
ps1.4 was fx16
en natuurlijk is sm3.0 alleen nog FP32
de 2.0 shader van nVidia is het ook net zo mooi als die van ati, alleen deze heeft een minder hoge load op je gpu (lezen).
dat is best belangrijk als je het mij vraagt, 10% verschil is redelijk toch?
het is niet omdat je een betere techniek gebruikt dat het daarom mooier wordt, het KAN wel mooier

ik denk ook dat het mooier is, maar dat de bijkomende details gewoon niet zichtbaar zijn op een stilstaand screenshot dat dan nog eens in jpeg formaat is (jpeg staat niet bekend om z'n mooie detail)

btw: shaders zijn ontworpen voor bewegende dingen mooi te maken, statisch kon al, alleen is een stilstaande zee ivm nogal... lelijk
Anoniem: 38733
3 juli 2004 02:44
Hoewel wordt veronderstelt dat Nv's beeldkwaliteit nu gelijkwaardig is aan die van Ati vindt Xbitlabs toch iets opmerkelijks in de 1.2 patch...

The only thing that is differently produced by ATI and NVIDIA graphics cards is shadows. ATI RADEON X800-series produces smoother shadows in FarCry when compared to NVIDIA GeForce 6800-series

NVIDIA seems to have a driver bug that results in very rough shadows in the game..


Duidelijk te zien op het wapen onderaan de volgende pagina:
http://www.xbitlabs.com/articles/video/display/farcry30_4.html
Typisch toch, hoeveel "driver bugs" er telkens weer bij NVidia opduiken...

Mijn volsterkte bevooroordeelde visie: SM3 voegt niets significants toe, en de snelheid komt o.a. uit dit soort *kuch* bugs. :7
Ik vind het te belachelijk voor woorden dat deze patch eerst naar reviewers is gestuurd! Wij zijn degenen die voor dit spel betaald hebben en zouden dus direct nadat de patch klaar was de mogelijkheid moeten krijgen om het te downloaden.

Ik vind de commercie te ver doorgeslagen in de games-industrie ;(
heb jij nvidia 6800 dan?..
dat is toch namelijk de enige kaart met shader 3.0..
Sorry maar i vindt dat je jezelf aanstelt. Jij wilt ook direct alle patches ontvangen die nog under develoment zijn ofzo? Je brengt het nu echt alsof je benadeeld wordt. Flink verschil he tussen zaterdag en maandag, ow ow wat een discriminatie toch weer :) Het komt vanzelf wel. Ennuh heb je btw een 6800?
Vast omdat de patch nog niet helemaal af is, maar de support voor PS3 wel al...
farcry was al bloed mooi maar op dit screenshotje ziet het er nog heel wat beter uit
Anoniem: 78521
@therobber3 juli 2004 13:35
Sorry hoor, maar ik zie het verschil niet met andere (oudere) screenshots van Far Cry. Ik durf zelfs niet te zeggen of dit nou werkelijk een screenshot is van de 1.2 patch of van het origineel. Misschien als ik een screenshot van >1024*768 zou zien?
Dit is gewoon een farcry 1.0 screenshot gerised naar 450x334 met een auto levels en een unsharp mask erover heen. Het plaatsen van een Farcry 1.2 screenshot is niet echt zinvol aangezien die identiek is aan een 1.0/1.1 screenshot waarbij een ATi-kaart is gebruikt.
persoonlijk vind ik dat de werkelijkheid zeer sterk benaderd wordt op bovenstaande afbeelding.
Ik bedoel maar, als toekomstige spellen dit soort functies gaan optimaliseren voor de NVidia kaarten terwijl de ATI kaarten deze features niet bieden, wordt het performance gat wat de eerste reviews op sm2.0 aangaven dan niet gewoon gedicht en is de NVidia 6800 net zo snel als de ATI X800 bij de modernste spellen?
Yep daarom is het ook een foute beslissing om voor een X800 serie videokaart te gaan (no offence naar de eigenaren van zo'n kaart).
Denk eens in hoe groot het verschil wel niet wordt als er veel instructies (instructies die de X800 serie zijn shaders niet trekken) worden gebruikt en zo veel complexere/mooiere en dus zwaardere beelden op het scherm worden getoverd wat moet je X800 kaart dan doen.
Vorige generatie was gewoon Ati all the way, maar nu is het gewoon weer nVidia all the way.
De R420 draaide op de GDC ook unreal engine 3 aan een gelijkaardige snelheid (wie de snelste was is onbekent maar voor bijden was het rond 20 fps). Men sprak van artifacten op de R420 door FP24 ipv FP32 en men sprak van artifacten op de nv40 door overclocken... geloof ervan wat je wilt maar we zien ue3 niet voor eind 2005
Geef eens een link daarvan, want op het filmpje van de Unreal engine 3 showing wordt er duidelijk gezegd dat alle andere videokaarten (dus ook de X800 serie) behalve de GeForce 6800 serie de engine maar op 3-5fps maximaal loopt.
Kijk als je voor Ati bent dat zal mij een zorg wezen, maar ga geen onzin verkopen gaarne.
Mij maakt het niet zo uit wie de snelste videokaart heb ik ga voor de beste ongeacht het merk.
De nVidia kaarten zijn deze ronde gewoon het beste punt uit en als dat niet zo is wil ik wel weten waarom Ati anders filtering en mip-map optimalisaties (cheats om exact te zijn) in moet bouwen en op lagere precisie renderen (FP24 in plaats van FP32) om uberhaupt on par te blijven aan nVidia?
En zeg maar niet dat het niet cheaten is, want de vorige generatie (9700/9800 series) deden ze dat niet (bij de 9600 serie wel maar dat was ook weer zo'n wanhoop product)?
offtopic:
je kunt reageren OP een reactie als je op het gezichtje klikt
Denk eens in hoe groot het verschil wel niet wordt als er veel instructies (instructies die de X800 serie zijn shaders niet trekken) worden gebruikt en zo veel complexere/mooiere en dus zwaardere beelden op het scherm worden getoverd wat moet je X800 kaart dan doen.
stop met zwanzen en geef eens een concreet effect dat niet in ps2.0 kan worden uitgevoert!
Geef eens een link daarvan, want op het filmpje van de Unreal engine 3 showing wordt er duidelijk gezegd dat alle andere videokaarten (dus ook de X800 serie) behalve de GeForce 6800 serie de engine maar op 3-5fps maximaal loopt.
pure nvidia PR, de GF6800 werd gelanceerd VOOR de Radeon X800! Men zij dat de huidige comptetitie dit niet aan aanvaardbare frameratios kan draaien, hiermee bedoelt men de Radeon 9800XT!
De nVidia kaarten zijn deze ronde gewoon het beste punt uit en als dat niet zo is wil ik wel weten waarom Ati anders filtering en mip-map optimalisaties (cheats om exact te zijn) in moet bouwen en op lagere precisie renderen (FP24 in plaats van FP32) om uberhaupt on par te blijven aan nVidia?
ATi == nVidia deze ronde, het verschil is erg klein.
De R420 is single precision in de PS. Dat betekent dat hij alles in FP24 doet en alleen dat kan. nVidia werkt in FP16 of in FP32, vooral in FP16 omdat ze register problemen hebben (die in de nv40 vermindert zijn maar nog steeds: partial precision vs full precision = 33% verschil in performance!)
Anoniem: 93545
@oeLangOetan3 juli 2004 17:21
ati fanboy?
Ik breek de far cry patch naar sm3.0 toch niet af???
Het is gewoon belachelijk wat Buck Naked hier uit zijn duim zit te zuigen zonder enige technische argumenten!
(misschien boven het niveau van het tweakers.net moderatie systeem)
Anoniem: 84469
@Buck Naked5 juli 2004 11:45
@Buck Naked.

Je klets gigantisch uit je nek.

SM3 features zoals langere instructies en branching e.d. zijn nutteloos op de huidge kaarten. Simpelweg omdat de 6800 en X800 niet snel genoeg zijn om shaders met enorm veel instructies realtime te renderen. En dus zal het niet in spellen gebruikt worden.

UE3 zijn geen harde cijfers over, dus onmogelijk om daar harde uitspraken over te doen. Dat de X800 maar op 5 fps zou lopen, en de 6800 op realtime is zonder enige twijfel flauwekul. SM3 kan zelfs in theorie niet dergelijk verschillen produceren.
Zowiezo is het meeste van UE3 geen SM3, maar SM2! Ze gebruiken geen echte displacement mapping, maar virtueel. Dus gewoon een meer intelligente bumpmap, die in SM2 gerenderd wordt.

Zeggen dat renderen op FP24 een cheat is, is het meest belachelijke wat ik ooit gehoord hebt.
FP24 is *gedefinieerd* als full-precision in DX9, SM2. Wat nou cheat?
ATI heeft GEEN mip-map optimalisaties... die moet je juist bij NVidia zoeken.

De tri-lineaire optimalisatie van ATI is niet vergelijkbaar met bri-lineair. Zelfs na maanden testen, heeft nog niemand een in-game situatie kunnen tonen waar er verlies van beeldkwaliteit is. Dat i.t.t. bri-lineair waar dat onmiddellijk zichtbaar was.

Dit fanboy gedrag wordt irritant. De X800 en 6800 zijn gewoon zeer aan elkaar gewaagd qua snelheid en prijs kwaliteit. De vermeende voorsprong op features van de 6800 is irrelevant, omdat die features simpelweg niet voldoende bruikbaar zijn.
Voeg hierbij Ati's nieuwe 3Dc texturecompressie (performancewinst = 17 tot 28%) en Ati doet het iets minder slecht als jij wilt laten doen geloven. Een demo hiervan vind je ook onder bovenstaande link
Voeg hierbij toe dat nVidia op FP32 werkt en Ati maar op FP24.
Reken daar nog eens bij dat de X800 geen trillinear doet ongeacht je het aanzet of niet.
Dan mogen we ook nog eens zeggen dat de GeForce 6800 serie kaart 65535 pixel shader instructies kan en de X800 (heeft pixel shader 2.0A) maar 512 zoals hier duidelijk wordt laten zien.
Mocht je je afvragen welke kaarten dan PS 2.0B hebben dat is de GeForce FX reeks.

Lees maar eens goed die grafiek dan praten we wel weer verder.
De x800 is 2.0b, de GFFX is 2.0a
2.0a is "uitgebreider" dan 2.0b maar heeft geen extra funtionaliteit (2.0b heeft 32 temp registers tov 20 of 24 (?) in 2.0a, het lijkt er niet op dat je al eens een shader geschreven hebt dus gaat dit je niet veel helpen)
waarom is de GFFW 2.0a en niet 2.0b? De GFFX kwam voor de X800 series, 2.0a zat al in dx9.0 en 2.0b kwam er maar bij in dx 9.0b :z

De X800 kan in de pixel shader 1536 instructies uitvoeren via nVidia logica, eigenlijk kan hij nog meer want we vergeten de static branching en instancing in de pixel shaders. Maar noch de x800 noch de GF6800 kan een pixel shader langer dan 400 instructies draaien aan aanvaardbare frameratios. Het argument van het maximaal aantal instructies slaat dus op NIETS!
Anoniem: 84469
@Buck Naked5 juli 2004 12:07
Enne.... kun jij verschil zien tussen FP24 en FP32? Nee dus. Niet voor niets is FP24 als full-precision gedefinieerd voor SM2. Met de huidige toepassingen en shaders lengte is meer volkomen zinloos. Hogere nauwkeurigheid wordt pas relevant bij zeer lange shaders, waar veel vaker in afgerond wordt.

Leuk dat de 6800 zo enorm veel shader instructies aankan.... Maar dat doet die dan wel op 0,1 fps....

De prestaties van de 6800 en X800 zijn dusdanig, dat ze voor real-time renderen (dus spellen) slechts enkele tientallen instructies kunnen afhandelen.
Het is dus volstrekt irrelevant of een GPU er 1000 of 100000000000000000000 kan doen. Om even een voorbeeldje te geven: De gemiddelde shader lengte in HL2 is iets van 20 instructies, met enkele uitschieters naar 40... Simpelweg, omdat anders geen enkele GPU het snel genoeg zou kunnen berekenen. Is het gelijk duidelijk waarom branching e.d. niet zo relevant is.... Binnen 20 instructies is daar niet zo erg veel ruimte voor....

Zelfs die 512 instructies van de Radeon is dus nog steeds zeer ver boven datgene dat daadwerkelijk effectief gebruikt KAN worden. En dat is dus simpelweg omdat de GPU's niet snel genoeg instructies kunnen verwerken. Maakt geen bal uit of het SM2, SM3 of SMx is.

(Zowiezo kan de Radeon wel degelijk veel langere instructies aan, via F-buffers. Daar kijkt alleen niemand naar, simpelweg omdat hogere shader lengte irrelevant is)

De enige reden waarom er in SM3 een hogere instructie limiet is, is omdat het voor de toekomst gericht is, en jarenlang de standaard moet zijn.
De GPU's die over enkele jaren uitkomen zullen veel sneller zijn dan de X800 en 6800. Dan worden wordt de mogelijkheid tot langere instructies wel relevant.

De specs moeten daar uiteraard op vooruit lopen. Maar de hardware kan op dit moment dat nog lang niet aan. Een 6800 kopen omdat hij een langere pixel shader aankan, is jezelf voor de gek houden.

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee