GeForce RTX -sarjan kuluttajille esittelemät säteenseurantaominaisuudet ovat herättäneet paljon keskustelua niin puolesta kuin vastaan. Säteenseurantaa pelikäytössä toteuttavia testejä ei juurikaan ole saatavilla, joten johtopäätökset on jouduttu tähän asti tekemään pitkälti spekulaation ja keskeneräisten pelidemojen suorituskyvyn perusteella.
Saksalainen Golem kertoo suomalaisen Remedyn kertoneen oman Northlight-pelimoottorinsa ja sen säteenseurantademon teknisistä yksityiskohdista GTC Europe 2018 -konferenssissa. Remedyn esitys antaa vihdoin kouriintuntuvia esimerkkejä säteenseurannan vaikutuksesta suorituskykyyn.
Remedyn Northlight-demossa käytetyt säteenseurantaefektit maksavat GeForce RTX 2080 Ti -näytönohjaimella 1920×1080-resoluutiolla yhteensä 9,2 millisekuntia per ruutu. Käytännössä tämä tarkoittaa, että mikäli tavoitteena olisi 60 FPS:n suorituskyky, jäisi koko muulle renderöinnille aikaa vain noin 7,5 millisekuntia per ruutu. GeForce RTX 2080 tarjoaa 80 % ja RTX 2070 60 % RTX 2080 Ti:n säteenseurantasuorituskyvystä.
Northlight-demossa lasketaan suurin osa varjoista perinteisin shadowmap-tekstuurein, mutta esimerkiksi varjojen reunat sekä auringon valaistuksesta lähtöisin olevat varjot toteutetaan säteenseurannalla. Tähän operaatioon menee 2,3 millisekuntia per ruutu häiriönpoistoineen. Heijastusten laskemiseen aikaa kuluu 4,4 ms ja lopulliseen häiriöiden poistoon (denoising) vielä 2,5 millisekuntia. Tästä huolimatta demossa on nähtävissä jonkin verran häiriötä, mikä kielii liian vähistä säteistä.
Lähde: Golem.de
Remedy hoitaa :cigar2:
On kyl mahtavaa lukea kuinka Remedy on eturintamassa kehittämässä pelimoottoria uudelle tekniikalle.
Ei varmasti ainoa mutta Suomi! :tup:
Kylläpä on pirusti kohinaa monissa raytracing materiaaleissa. Näiden korttien raytracing suorituskyky taitaa vielä hillitä tuon tekniikan yleistymistä.
Saas nähdä meneekö 1 vai 2 generaatiota, että saadaan mid-range kortteihin tyydyttävä DXR suorituskyky.
Siinä vaiheessa voisi kuvitella, että tuki löytyy jo useista ilmestyvistä peleistä.
Aika isolta tuntuu frametimejen nousu, mutta aika paha tuosta on mitään isompaa sanoa ilman vertailukuvia RT ja ilman, onko sen arvoista.
KYllähän tämä kertoo että tuo 2080 Ti on ihan nuhapumppu tekemään edes alustavaa RTX laskentaa. Melkoisen karua tuon hintainen kortti ja silti laskentateho aivan onneton. Katsellaan uudestaan 2030 tms. kun alkaa olemaan useamman generaation verran tätä ajettu sisään. Nyt sitten innokkaat maksaa kehityskuluja näiden kalliiden korttien muodossa, korttien millä ei tuossa käytössä tee mitään.
Varmaankin noin, mutta niinhän se aina menee. Uusi tekniikka on aluksi kallista ja ei vielä kovinkaan hyvin optimoituja. Pari sukupolvea lisää ja siitä on oikeasti hyötyä vähän edullisemmissakin laitteissa.
Mutta eiköhän 2021 ole jo ihan kohtuullisia raytrasing kortteja markkinoilla. Ei tartte 2030 odotella. Jollei sitten halua kunnon tehoa prossaain integroituun graffapiiriin.
Että jokin laskuoperaatio maksaa jotain kuulostaa anglismilta. Eikö parempi ilmaisu olisi kuluttaa tjsp.
Eikö ajatuksena ole ollut, että alkuvaiheessa ray tracingia käytettäisiin osassa kuvaa, ei kaikkialla?
Pah, hyvältä näyttää, ei muuta kun siirtymäkauden pelit Film Noirina. Nyt joku nopeesti tuollasella pelimoottorilla vanhanajan seikkailupeli tulille. 🙂
Niinhän tuossa on tehty.
Joo, silloin ei hitaahko ruudunpäivitysnopeus haittaa 😉
Jaha väärään kohtaan… filmnoiriin viittasin.
Pitäisi lukea välillä jutut loppuun asti. :facepalm:
Niin onko tuo 9,2ms pelkillä RT-coreilla, milloin muulle renderöinnillä jää vielä täydet 16,66ms?
Jos luet tuon jutun ihan ajatuksella siinä sanotaan näin:
Eli siis nyt menee aikaa 9,2 millisekuntia siihen kun vähän meinataan hieman sieltä jostain pikkusen laskea reunoja ja jotain aurinkoa. Ei siis lähelläkään 100%, ei edes 50% vaan siis jotain hiluja sieltä ja täältä ja tähän kaikkeen menee yli puolet 60 FPS vaatimasta tehosta. Eli että saavutettaisiin edes tuolla renderöintimäärällä se 60FPS, niin pitäisi ray tracing teho kasvaa 30-50% ja tämä siis markkinoiden tykeimmällä kortilla.
Nyt jos aletaan miettimään että pitäisi tehdä muutakin kuin vähän sieltä tai täältä muutamaa sädettä mallintaa, niin tehojen pitää kasvaa moninkertaisiksi. Minun on vaikea kuvitella että yhtäkkiä, olkoonkin uutta teknologiaa tai ei, jostain taiotaan tuollaisia parannuksia parissa vuodessa. Todennäköisemmin seuraaviin paranee se teho sen 20-30% ja sama seuraaviin jne. kuten tähänkin asti on parantuneet. Ei tuota ray tracingia ole ollut olemassakaan kuin jo kohtuu kauan, eli ei nämä sille erikseent arkoitetut piirit nyt mitään ihan uusia kuitenkaan ole.
Ei, vaan tuon verran menee aikaa ilman mitään mahdollisia rinnakkaisuuksia
Huono esimerkki, heijastukset olisi ollut parempi koska siihen menee isompi osuus tuosta 9,2 millisekunnista (4,4ms) kuin varjoista (2,3ms)
Eipä ole vissiin ole kiirettä pompata RTX-kelkkaan vielä ainakaan pariin sukupolveen suorituskyvystä päätellen, josko sittenkään. Raskaat marginaalin käytettävissä olevat efektit eivät tapaa yleistyä kovin nopsaan. Varsinkaan, jos Nvidia pitää niistä kiinni eikä avaa teknologioita muidenkin käyttöön. (Esim. PhysX:facepalm: ois kiva, vaikka joka peliin, mutta..)
1440P/60fps pitäs saada (~600 € kortilla), jotta alkais kukkaron nyörit löystyä..
Pointsit Remedylle komeasta demosta ja odottelemaan RTX:n kehitystä.:geek:
Säteenseurannassa ei ole mitään "NVIDIAn omaa" mitä avata muille. Homma perustuu ihan DirectX Raytracingiin (tai Vulkaniin jne).
Mitähän sinä nyt tarkoitat? Mikä oli huono esimerkki?
Olisi pitänyt lainata vain tämä osuus:
"Eli siis nyt menee aikaa 9,2 millisekuntia siihen kun vähän meinataan hieman sieltä jostain pikkusen laskea reunoja ja jotain aurinkoa"
Tuohon menee 2,3 ms. Heijastuksiin menee 4,4ms, eli se olisi ollut parempi esimerkki jos pitää poimia yksi osatekijä tuosta 9,2 millisekunnista.
(ja reunat viittaa siis tietenkin siihen kuinka varjon reunat luonnollisesti "sumentuvat" kun varjon lähteen etäisyyden kasvaessa kohteesta johon varjo lankeaa)
No tuossa kyllä ihan tarkoituksella lyhensin koko 9.2ms (minkä osat löytyy siitä minun lainaamasta pätkästä) tuollaisella yleistyksellä. Kirjoitin vielä sen niin puhekielellä että kaikkien oletin ymmärtävän että vähän aurinkoa sieltä jotain täältä tehdään, eikä siis oikeasti edes koko kuvaa renderöidä. Sinä näköjään tulkitsit tuon jotenkin kirjaimellisesti.
Tämä on se mitä itse pelkään näiden ekojen korttien tarjoavan. Säteitä, mutta jatkuvasti värisevä ja epätasainen kuva.
Olennaista myös se että kun pelin asetuksista ottaa reiskat pois niin pyöriikö se sitten vanhemmilla suht teho-korteilla sitten ok ja korkeilla fps:llä? Vai tapetaanko tekniikan tuonnilla suorituskyky kaikilta?
Ja kaikenlisäksi tuo demo stutteroi ihan jatkuvasti, kaukana sulavasta :facepalm:
Katsoitko varsinaisen demon omalla koneellasii vai tuon tube videon kun jonkun tube videon perusteella ei kannata kauhean paljon vetää johtopäätöksiä jonkin stutteroinnin suhteen (videon kun voi niin monessa vaiheessa päätyä sen kaltaisa häiriöitä että ne näytää ”demon stutteroinnilta”).
Ihan vaan tyhmältä vaikuttaakseni ja asian vierestä kirjoittaakseni,totean vaan että eikö raytracingin korrektimpi suomennos olisi säteenjäljennys.Sillä eikös nämä pelimoottorit yritä juurikin jäljentää auringon ja muiden valonlähteiden heijastuksia?.Jos tämä viesti oli aivan huuhaata,niin aina saa korjata.
Säteenseuranta on vakiintunut nimitys mutta myös säteenjäljitys-termiä käytetään. Nykyisissä metodeissa niitä säteitä vielä seurataan "väärään suuntaan" eli "kamerasta" pois päin
Demoja ja lisää demoja..
Tulis nyt vaan oikea RT peli julkaisu niin näkee miten toimii ja miltä näyttää.
2070 tarjoaa sitten kaikki upeat 20+ fps fullHD RTX on. Ei jatkoon.
Onko benchmarkkia?
millasilla RT asetuksilla ja missä peleissä?
Niin ja tämä edelleenkin kun tehdään vain vähän sieltä ja täältä koko hommaa. Jos koko maailmaa tai edes riittävästi renderöitäisiin niin FPS olisi varmaankin 1 luokkaa, tai jopa paljon alle. Pitkä on matka kuljettavaksi että tästä kalu tulee.
On näissä korteissa hyviäkin puolia. Nopeampia kuin 1080 sarja ’normaaleissa’ peleissä. Tensor coret tekoälyilyyn. RT coret, joilla renderointi-ohjelmat voivat nopeutua jopa 500%, kunhan ensin tukevat koodin tasolla. Se mikä ennen laskettiin softalla, voidaan nyt suorittaa hardiksella nopeammin. Tietysti vain osa koodia. Se itse lasku, jolla sädettä seurataan. Eikä tuo hinta 800 euroakaan ihan kamala ole. Eikös ne 1080 Ti kortit maksaneet saman verran uusina? Odottaen AMD:n vastinetta. Saishan tää halvempaa tekniikkaa toki olla. Mutta peleissä täähän on jo perusteeltaan täysin feikki. Ei ole aitoa raytracea peleissä, vaan kaikki feikataan simuloimalla miltä raytrace suunnilleen näyttäis ja piirretään perinteisesti rasteroimalla tekstuureja, jotka laskettiin reaaliaikaisesti simuloimaan miltä aito raytrace näyttäis. Asia selvii Nvidian omilta developer sivuilta. Järkyttävää!
Niitä valmistajien mainostekstejä ei kannata ottaa ihan sellaisenaan.
eillä on markkinoilla esimerkiksi ihan kotimainen peli joka pohjaa raytracingiin (vaikkei ihan samaan tapaan kuin ehkä useimmiten se mielletään) sekä lukemattomia raytracing-demoja.
Kummallakin valmistajalla on ollut omat reaaliaikaiset raytracing-kirjastonsa olemassa jo pitkään ja ne toimivat ihan ongelmitta vanhemmillakin näytönohjaimilla.
Raytracing-kiihdyttimiä tuli markkinoille jo 2010 PowerVR:ltä.
Ainut asia mikä on pitänyt säteenseurannan pois peleistä yleisemmin on suorituskyky sillä tasolla millä sitä halutaan käyttää ja nyt näyttää siltä ettei ainakaan ensimmäinen NVIDIAn "raytracing-sukupolvi" ole riittävä sekään.
Kyllähän tuo kovasti kuulostaa siltä, että koko raytracing osa on pahasti alimitoitettu noissa uusissa nVidian korteissa jos suorituskyky on tuota luokkaa. Kortteja kaupataan 4K pelaamiseen ja raytracing hyytyy jo FullHD kohdalla
Epäilen että sinne tulee RT asetukset valmiisiin peleihin tai että RT karsitaan siten että pelisuorituskyky vielä säilyisi.
Ei.
Vaan niissä jäljitetään sitä, mistä se säde tulee/mihin se menee.
Btw, miksi tuo "maksaa" mitään? Siellähän on ne RTX-ytimet ja denoisingia tekevät neural net inferencing ytimet erillisinä blokkeina, joten ne voivat jauhaa noita periaatteessa siinä samalla kun shader-coret laskevat muuta?
Onko Remedy vaan toteuttanut kohinavaimennuksen normaaleilla shadereilla sen sijaan, että olisi ottanut neuroverkon käyttöön?
Ensinnäkin, säteenjäljitys tarvii aika paljon muistikaistaa.
Toisekseen, kun säde törmää johonkin ja pitää päättää mitä törmäyskohdassa tehdään, pitää ajaa koodipätkä normaalilla shader-prosessorilla, joten ei ne normalit shader-ytimet täysin idlaavia ole.
ROPit sen sijaan voivat idlata.
Normaaleilla shadereilla vaan voi päästä selvästi parempaan tulokseen kuin nVidian neuroverkoilla. Muutaman kuukauden päästä pihalla jotain aiheesta…
Demo oli hyvän näköinen, mutta
”…
Remedyn esityksen mukaan GeForce RTX 2080 Ti:llä kuluu Northlight-demossa FullHD-resoluutiolla 9,2 millisekuntia per ruutu säteenseurantalaskentaan, mikä tarkoittaisi yli puolta kunkin ruudun renderöintiajasta 60 FPS:n ruudunpäivitysnopeudella.
…”
Se demo oli täysin staatinen ts oikeassa pelissä tarvii sen GPU tehoa muuhunkin, eli menee ainakin vielä 4 säteenseuranta kykyisten näytönohjainten sukupolvea ennen kuin näyttisten resurssit on sillätasolla että pystyt tekmään pelin jossa kaki valaistus hoidetaan sillä näyttiksen säteenseuranta kyvyllä ilman että sitä täydenettäisiin perinteisillä kikka valaitus systeemeillä.
Koska tarvii vielä niin monta näyttisukupolvea on vaara että pelaajat ehtii tuomita säteenseurannan turhaksi kikkailuksi ennen kun on yleisesti käytössä sellaiset näytönohjaimet jotka oiekasti pystyy siihe rittävällä teholla.
Eli säteenseuranta voi kuolla pois samoin kuin kävi suureltaosin GPU fysiikoille vaikka kunmatkin on todella hyviä ominaisuuksia olla käytössä, ts toivotaan että säteenseuranta ei ehdi kuolla ennenaikaisesti.
7.5 millisekunnin renderöintiaika tarkoittaisi 134 ruutua sekunnissa, minkä yli RTX 2080 Ti:n pitäisi siis yltää itsenäisesti, jotta säteenseurannan kanssa 1080p60 onnistuisi, jos tuon oikein ymmärsin.
Jotain pienempiä efektejä näillä korteilla voisi kai saada nykypeleihin, mutta kunnollista säteenseurantaa saanee odotella vielä sukupolven tai pari.
Tässä Star Wars demossa 4K menee 2080 Ti:llä 30 pinnassa, eli ei se matka välttämättä ole kovin pitkä.
Mihin muuhun?
Sen "kaiken muun" voi tehdä CPUlla.
Lähinnä se ei-staattinen tarkoittaisi sitä, että se BVH-puu pitäisi uudelleengeneroida aina kun jotain muuttuu.
Ja sen BVH-puun voi tehdä siten, että scenen kiinteille asioille on yksi BVH-puun haara ja potentiaalisesti liikkuville asioille on toinen BVH-puun haara, ja näistä vain ne liikkuvat haarat pitää uudelleengeneroida kun ne liikkuvat.
Ei se mihinkään kuole pois. Rasterointi vaan on yksinkertaisesti huonompi tapa renderöiodä grafiikkaa, säteenjäljityksellä saadaan tehtyä parempaa jälkeä paljon helpommalla. Noiden kaikkien rasteroinnin kanssa käytettyjen efektien feikkaaminen rasteroinnilla vaatii sekä paljon työtä koodarilta mutta vielä pahempaa, artisteilta. Ei riitä että ne efektit koodataan siihen pelimoottoriin vaan myös sinne sceneen pitää lisätä kaikkia ylimääräisiä juttuja joiden perusteella nitä efektejä feikataan, paljon lisätyötä artisteille.
Toistaiseksi vaan ei ole laskentanopeus riittänyt reaaliaikaiseen säteenjäljitykseen, mutta nyt alkaa riittää. Vaikka mooren laki vähän alkaakin jo yskiä, jatkuu silti laskentetehon kasvu vielä pitkän aikaa, ja kun nyt ollaan vasta raapaistu pintaa näissä säteenjäljityskiihdyttimissä, niistä saadaan helposti selvästi nopeampia vaikka mooren laki ei toisikaan enää ilmaisia lisätransistoreita.
Peligrafiikka on aina seurannut reilut kymmenisen vuotta perässä sitä, mitä elokuvissa tehdään. Elokuvat on jo kymmenisen vuotta tehty säteenjäljittämällä.
Laitatko vielä mistä pelistä tämä on ja millä pelimoottorilla tässä sitä peliä pyöritetään? Toivottavasti nyt ymmärrät sen pienen vihjeen tässä takana.
Meinaatko vakavissasi että jos tuohon näkymään lisätään NPC ja pelaaja hahmoja (jotka muuten osaltaan aiheuttaa myös varjoja yms) ja sitten kun lisäät nilile hahmoille esim. käytössä olevia aseita jotka tietenkin vaatii valo/partikeli yms efektejä se ei vaadi GPU:lta yhtää lisää työtä … ?
Ratracingin käytännössä ainoa, mutta hyvin suuri huono puoli on sen vaativa laskennantarve.
Yksi temppu, millä tätä voisi helpottaa huomattavasti olisi silmänseuranta eli "foveated rendering", rendataan suurella samplemäärällä/pikseli (tai ylipäätään edes täydellä resoluutiolla) vain ne kohdat ruudusta, johon silmä kullakin hetkellä katsoo. Tämä toki vaatisi silmänseurannan sisältävien VR-lasien käyttöä.
Olin "testiapinana" kun työkaverit teki paperin aiheesen liittyen. Tuntui toimivan ihan hyvin.
https://tutcris.tut.fi/portal/files/15295883/10.1007_s41095_018_0113_0.pdf
Empähän tiennyt että tuokin Nvidia RTX demo oli Remedyn Northlight:illa tekemä.
Ne varjot tulee säteenjäljityksessä käytännössä ilmaiseksi. Rasteroinnissa ne sen sijaan tulee hyvin kalliiksi.
Samoin monet muut efektivit on säteenjäljityksessä vain yksi törmäys lisää, siinä missä rasteteoinnissa ne vaatii hirveän määrän purkkaa ja sen purkan toteuttavaa laskentaa.
Ja säteenjäljityksessä vaadittava laskentateho kasvaa logaritmisesti kolmiomäärään nähden. ELi siis scenen suurentaminen on melkein ilmaista.
Ah nyt ymmärsin missä meidän puheet meni ristiin.
Minä puhuin koko yhden peliruudun laskeentaa tarvittavasta työstä kun sinä puhuit vain valaistuksen osasta.
Minä tarkoitin sitä että jos tuo Northlight demo muutettaisiin peliksi (ts siihen tulisi ne NPC ja pelaajahahmot yms) niin nykyinen RTX näyttissukupolvi ei pysty tuohon 60 FPS nopeutaan siitähuolimatta että tuossa pelkässä demossakin niitä säteenseuranta ominaisuuksia käytettiin hyvin rajoitetuissa tarkoituksissa.
Onhan tämä säteenjäljitys ollut se graalin malja jo niin kauan kuin peligrafiikkaa on tehty. Hienoushan siinä on se että se matkii oikeaa fysiikkaa mitä pelit nyt lähtökohtaisesti yrittävätkin. Ja niin kuin @hkultala tuossa jo mainitsikin, säteenseurannan tärkeimpänä etuna on sen kehittäjien elämää helpottava vaikutus kun iso osa kaikesta nykykikkailusta voidaan jättää pois.
Ongelmana tietysti on se, että tehot ei tahdo riittää vielä pitkään aikaan jos nyt 100% säteenjäljitystä haetaan. Samanaikaisten kappaleiden määrä ruudulla vaikuttanee myös melkoisesti säteenjäljityksen vaatimaan laskentatehoon. Suunta on kyllä oikea eli näinhän se kuuluukin tehdä, mutta hieman mietityttää minkälaisia järkyttävän kokoisia kiukaita noista näytönohjaimista tulee tätä päämäärää tavoitellessa. Prosessitekniikan kehitys lähinäköpiirissä ei ole sen suhteen kyllä synkassa että merkittäviä säteenjäljitysteholisäyksiä saataisiin jo nyt isolle kasvaneelle piirikoolle mahtumaan karsimatta jotain pois. Piirien koon kasvaessa saannot huononee ja kustannukset kasvaa. Pystäänköhän tälläkin puolella tekemään Zenit ja siirtymään monoliittisista piireistä modulaariseen rakenteeseen jossa pienempiä laskentayksiköitä niputetaan tarpeen mukaan kortille. Onhan näitä X2-kortteja ollut toki aikaisemminkin ja toki tehovaatimusdilemma ei sillä korjaannu, mutta silti…
Säteenjäljityksessä (melkein) KAIKKI rendaaminen on valaistusta. Sen muun osan osuus on merkityksettömän pieni. Tai no BVH-puun uudelleenrakentaminen/päivittäminen voi olla merkittävä homma, JOS scene muuttuu.
Ainoa asia, mikä siinä muuttuisi oleellisesti olisi että BVH-puu (tai sen haara) pitäisi päivittää framejen välissä, jos siellä olisi liikkuvia asioita.
Ei siellä "muussa" osassa ole merkittävästi asioita, jotka sitä GPUta merkittävästi kuormittaa. Ne hahmot olisi vain lisää kolmioita mitä vastaan tehdän törmäystarkasteluita. Ja ne lisäkolmiot ei tuntuisi suorituskyvyssä kuin joitain prosentteja, koska ne vaan lisäisivät yhden tason lisää ehkä n. 18-tasoiseen BVH-puuhun. Valoefektit aseista… no, lisää valoja joihin säde voi osua.
NPC-hahmojen tekoäly… vielä toistaiseksi lasketaan CPUlla. Fysiikat. Voi kiihdyttää GPUlla mutta aika harvassa pelissä fysiikkarutiinit ovat niin raskaita että tuntuisi missään tehokkaala GPUlla.
Näin sitä tyhmä ja mitääntietämätönkin saa uutta tietoa,kiitos.
Tarkoitatko sinä nyt että peleissä ei mihinkään muuhun mene GPU tehoa, kuin pelkästään valaistusten laskemiseen? Koska siltä tuo vähän nyt kuulostaa.
Kaikenlainen vääristyminenhän on se missä tuo on erinomainen. Tai siis se tulee samoin kuin muukin heijastuminen tai läpäiseminen siinä pinnassa. Noh, varjojen reunojen sumentuminen on myös sinänsä vääristymistä joka taas tarkoittaa luonnollista eli juuri tuotahan koko jutulla haetaan 🙂
Tuossahan oli puhe että ensin tehdään se kuva jonka jälkeen annetaan se puolivalmis paketti säteenjäljitykselle.
Käsittääkseni kylläkin @IcePen puhui nimen omaan yhdestä ruudusta peliä. Mihin @hkultala vastasi ettei siellä mitään muuta oikein laskeskella GPU:lla. Tai tämän käsityksen tuosta nyt sain. Eihän tuossa mitään ongelmaa olisikaan jos sitä ei tarvitsisi puskea 16.6ms ihmisen silmille, lennosta. Pitkään on jo voitu laskeskella etukäteen renderoituihin juttuihin raytracinkiä, kun ei ole kiire ja aikaa on ns. "rajattomasti". Kyllä se sieltä tulee, mutta kun se sama pitäisi tehdä muuttuvassa ympäristössä missä esim. pelaaja liikkuu jatkuvasti, niin.