Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Nvidia onderzoekt 'subpixel reconstruction antialiasing'

Medewerkers van Nvidia hebben in samenwerking met de technische universiteit van MŁnchen een techniek ontwikkeld die zij subpixel reconstruction antialiasing noemen. De techniek zou een concurrrent voor AMD's mlaa vormen.

AMD ontwikkelde mlaa, ofwel morphological antialiasing, als een methode om kartelranden te verminderen door post processing-filters te gebruiken voor de video-output. De mlaa-techniek houdt rekening met de vorm van objecten, om zo de antialiasing efficiënter te maken. AMD introduceerde mlaa bij zijn Radeon 6870-videokaarten met Catalyst-driver 10.10a. Nvidia zou met zijn nieuwe techniek, die het subpixel reconstruction antialiasing ofwel sraa noemt, een concurrerende technologie hebben ontwikkeld, die eveneens antialiasing moet bewerkstelligen zonder veel rekenkracht te vergen.

De onderzoekers hebben een samenvatting van hun techniek op Nvidia's website gepubliceerd, waarin ze uitleggen hoe de sraa-techniek werkt. Door single pixel shading te combineren met data op subpixelniveau willen de ontwikkelaars betere beelden zonder kartelrandjes leveren. Daaronder zouden de prestaties van de videokaart weinig te lijden hebben, aangezien de techniek werkt met gerenderde afbeeldingen en data uit buffers gebruikt.

Volgens de drie onderzoekers zou sraa een afbeelding van 1280x720 pixels in 1,8ms verwerken en een antialiased beeld leveren dat vergelijkbaar is met 4x tot 16x AA. Net als AMD's mlaa zou Nvidia's sraa via drivers geïmplementeerd kunnen worden. Zolang de gpu programmeerbare shaders heeft, kan de techniek gebruikt worden.

Door

Redacteur componenten

77 Linkedin Google+

Submitter: player-x

Reacties (77)

Wijzig sortering
Ik begin mij af te vragen waarom de nieuwste kaarten nodig zijn voor dit soort achterhaalde technologiŽn. Met een simpel shaderbestandje en een een DirectX hook kun je dit soort AA in bijna elke game implementeren. Oude kaarten kunnen zo lekker efficiŽnt toch redelijke plaatjes op het beeld krijgen. Zie ENB Series voor GTA IV, daar kun je kiezen tussen SSAA en een ander dingetje dat op MLAA lijkt. Werkt prima. En het ziet er exact hetzelfde uit als ATI's officiŽle MLAA. Dus waarom exclusief voor nieuwe kaarten? Zij hebben dit juist niet nodig, een HD6870 kan moeiteloos een spel zoals GTA IV renderen op 3x de resolutie van de monitor, en dan terugresizen met een gaussian blur filter. Resultaat: superkwaliteit.

Waarom, videokaartbedrijven? Waarom moeten consumenten nieuwe videokaarten kopen om van prehistorische techniek gebruik te maken, die een enkele Rus met teveel tijd ook kan maken?
Klopt. ik draai zelf ook ENB Series 0.79 op GTA IV met custom settings. Ik gebruik gewoon 1920*1080 met AA enabled, dus het wordt 3840*2160 volgens GTA IV en die downsampled hij gewoon. Ziet er erg mooi uit. Nadeel is alleen dat er weinig kaarten zijn die dan nog 50FPS willen halen. Ik doe zo'n 15-20 met een 9800GX2 met AA enabled.

Beetje offtopic maar waarom gebruiken de makers van dit soort spellen / applicaties dan zelf niet dit soort technieken als hun spel ''geen AA ondersteund''.

Is het trouwens zo dat deze beide vormen van AA geforced kunnen worden in applicaties / games die dit niet native ondersteunen zoals bijvoorbeeld GTA IV?
Ik doe zo'n 15-20 met een 9800GX2 met AA enabled.
Sommige games zijn dan nog wel speelbaar maar anno 2011 is het wel een lage framerate.
Beetje offtopic maar waarom gebruiken de makers van dit soort spellen / applicaties dan zelf niet dit soort technieken als hun spel ''geen AA ondersteund''.
Je bedoelt mlaa of subpixel reconstruction?
Omdat die technieken nog niet, dan wel pas sinds kort bestaan, en/of omdat per game zo'n wiel opnieuw uitvinden veel ontwikkeltijd vergt.

Als een game AA niet ondersteunt dan is dat omdat de ontwikkelaars ervan weten dat met AA de framerate van hun game onacceptabel laag zou zijn. Vaak kan dmv de video driver zo'n game alsnog worden gedwongen om AA te gebruiken.
Volgens mij moeten we gewoon eens af van de hele AA door richten schermen te gaan met een veel hogere pixeldichtheid. Door die op te voeren heb je al die kunstgrepen niet meer nodig.
Hogere PPI is anders ook veel zwaarder hoor (ten minste neem aan dat je het aantal pixels omhoog wilt gooien ipv grootte van het schemr te verkleinen :))....

1920*1080 is 4x zo licht als 3840*2160, uiteraard leverd dat een erg fijn beeld op dat weer wel, maar je monitor is ook minimaal 1000/1500 euro ipv een fullhd monitor die je nu al voor 120/150 euro hebt :D

Dus ja die kunstgrepen zijn nou nog nodig ja, of je moet 5x zo veel neer leggen om te gamen, ik iig niet :)

[Reactie gewijzigd door watercoolertje op 31 januari 2011 12:57]

Alleen zullen de schermen dan vele malen duurder worden terwijl het voor normaal gebruik niet nodig zou zijn omdat de letters te priegelig worden, of omdat je de resolutie teniet doet door de boel te vergroten. Ook in games kost het renderen op hogere resolutie met per pixel lighting en shading ook veel rekenkracht en wordt er meer geheugen vereist. Op zich is dit dan nog heel geen verkeerde oplossing vanuit het kostenperspectief.
Nee, letters worden niet priegelig van een hogere resolutie. Ze kunen alleen nouwkeuriger gerenderd worden. Heb je wel eens een iPhone 4 scherm bekeken en vergeleken met een ander scherm bijvoorbeeld? Dan zie je wat ik bedoel. Rondingen, schuine lijnen, fonts... alles wordt scherper.

En ja, natuurlijk kost dat meer rekenkracht. Maar daar is het effect dan ook naar.
Maar het punt waar iedereen nu juist op ingaat is dat ATS zegt dat we AA maar moeten laten zitten en het veel makkelijker is de pixeldichtheid omhoog te gooien. Dat is dus niet het geval: het kost veel meer (rekenkracht).

Dat het met een hogere pixeldichtheid mooier kan worden is iedereen het wel over eens...
Niet echt. AA is efficiŽnter dan domweg een belachelijk hoge resolutie te maken. Op jouw manier hebben we straks schermen van 7680*4320 nodig om pixels 1 op 1 te kunnen weergeven. hehe :P Het kost ook kwadratisch zoveel rekenkracht. Het verschil tussen 1280*960 en 1024*768 is al immens, terwijl de beeldkwaliteit er niet merkbaar door verandert.

[Reactie gewijzigd door ikt op 31 januari 2011 12:57]

Om het voorbeeld even overzichtelijk te houden gebruik ik even een 4x4 scherm en ťťn kleurkanaal (grey scale, 0 t/m 9).
Als je nu boven een wit vlak hebt en onder een zwart vlak, waarbij de scheiding ongeveer (maar niet precies) horizontaal loopt, dan stuur je dus naar die zestien pixels de volgende waarden
0 0 0 0
0 0 0 9
0 9 9 9
9 9 9 9
en krijg je zo'n lelijk "trappetje". (Op jouw 1920x1200 scherm zie je dat niet omdat elke "trede" zo vreselijk klein is, maar het effect treedt wel degelijk op.)
Door er nu AA overheen te gooien krijg je bijvoorbeeld
0 0 0 1
0 1 5 5
5 5 8 9
8 9 9 9
en weg is het trappetje, vervangen door een mooie gladde rand, zonder meer pixels te gebruiken.
offtopic:
Wat is een passieve resolutie? Bedoel je niet toevallig de native resolutie?
"Heefd"...!? Je hoeft van mij niet foutloos te spellen, maar dat is wel heel ernstig...

[Reactie gewijzigd door robvanwijk op 1 februari 2011 23:42]

Jammer dat AA sowieso al veel GPU-kracht vergt. Heb het bijna altijd uitstaan als ik fatsoenlijk een FPS wil spelen. Heb al een AMD-kaart dus die zou het leuk moeten kunnen, maar vind het nog teveel frames-per-second kosten.

Wel laat dat Nvidia komt met een antwoord op AMD's MLAA dan trouwens.
Le Bullshit :)

Mijn 120Hz TFT geeft 120 beelden per seconden weer. Verder heb je in sommige games (die draaien op de quake-engine bijvoorbeeld) voordelen als je met 250 FPS speelt. Je bewering gaat misschien op als je 'eens af en toe' een game speelt, maar als je competetief op LAN-nivo speelt, ga je daar heel anders tegenaan kijken ;)
Kun je niet gewoon verder van de TV afzitten? Dan zie je de pixels vanzelf niet meer... :D
vroeger hadden we de AA zo mooi voor elkaar, nu moet het met allemaal 'hacks' (wat dit imho zijn) die er toch net wat minder mooi uitzien :(

probleem is dat veel spellen tegenwoordig de lighting deferren, dwz; de licht-berekeningen worden gedaan met een paar textures die over het algemeen even groot zijn als je resolutie. voor elke pixel heb je dan bijv de kleur, de normaal, de 'glimmendheid' etcetera als input, vervolgens kun je daarmee per licht de 'resultaatpixels' berekenen en overlayen op je beeldbuffer.

nadeel is dus dat je daadwerkelijk x * y pixels aan beeldinformatie hebt, en niet stiekem 'tussen de pixels' kunt kijken. nouja, tenzij je je buffers dus 4x zo groot maakt en daarna downscaled, maarja, of je daar nou blij van wordt :)

elke vooruitgang kent zo z'n nadelen.. ;) (voordeel is wel dat je bijna gratis een enorme lading lichten kunt berekenen, dus het is het wel waard :))

[Reactie gewijzigd door bazkie_botsauto op 31 januari 2011 13:44]

Misschien toch iets over het hoofd gezien ? , door de implementatie van een eigen CPU die Nvidia al aankondigde zodat de kaart meer instructies direct kan verwerken is dit misschien ook wel een logische stap , subpixel reconstruction antialiasing voor de cores plus CPU , AA word dan nog interessanter en sneller als het direct op de kaart gebeurd.
Volgens de drie onderzoekers zou sraa een afbeelding van 1280x720 pixels in 1,8ms verwerken
Aan dat getalletje hebben we niks als zowel de hoeveelheid en snelheid van het geheugen ontbreken als de hoeveelheid, snelheid en verdere specificaties van de benodigde compute units (de SPs waarschijnlijk) volledig ontbreken... |:(
Het is gewoon een algoritme dat de feed na renderen een blur geeft maar dan slimmer.

Maar op Full HD resoluties maakt het niet veel uit ik speel GTA 4 heeft geen anti-aliasing en het ziet er ook goed uit.
Als we van alles verschillende versies gaan ontwikkelen voor iedere fabrikant, dan is het heel simpel: WE GEBRUIKEN HET NIET!
Als mijn game alleen maar op AMD of NVidia kaarten werkt, dan zou dat niet erg goed verkopen, niet waar?
AA is in beginsel onafhankelijk vd applicatie/game.
Nu ook al gebruiken AMD en NVIDIA verschillende AA methodes zonder dat games daar een probleem mee hebben.
Als een game AA niet ondersteunt dan is dat omdat de ontwikkelaars ervan weten dat met AA de framerate van hun game onacceptabel laag zou zijn.

CUDA/OpenCL is een ander verhaal.
nVidia ondersteund perfect OpenCL, alleen zetten ze in op CUDA, omdat het:
- door henzelf ontwikkeld is
- aanzienlijk meer volwassen is als OpenCL
- door veel meer applicaties ondersteund wordt
- Physx via CUDA werkt

Ik meen ergens gelezen te hebben dat nVidia aanbood aan ATi om ook gebruik te maken van CUDA, maar ATi weigerde dit omdat ze OpenCL willen gebruiken en nVidia niet willen helpen met CUDA groter te maken.
Ik meen ergens gelezen te hebben dat nVidia aanbood aan ATi om ook gebruik te maken van CUDA, maar ATi weigerde dit omdat ze OpenCL willen gebruiken en nVidia niet willen helpen met CUDA groter te maken.
En ik meen gelezen te hebben dat Nvidia dat niet gratis gaan doen ;). NVidia heeft hier nog altijd de rechten op en die licenties gaan echt niet gratis worden. Je kan het dus ook anders formuleren: AMD weigeren dit omdat ze geen zin hebben om te dokken voor iets dat in handen is van NVidia (AMD heeft er in beginne geheel geen zeggenschap over) terwijl er een open alternatief voor is.

[Reactie gewijzigd door bwerg op 31 januari 2011 14:20]

Op dit item kan niet meer gereageerd worden.


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S9 Google Pixel 2 Far Cry 5 Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*