Kyllä sen voi nyös aika varmasti sanoa, että jos shadereita käytetään RT-laskelmiin, niin se vaikuttaa siihen normi rasterointipuoleen.
Ja tämän hetken tietojen valossa AMD:n RT toteutus tulee pohjautumaan osittain Shadereiden käyttöön.
Kyllä, mutta vain osittain.
Shadereita ei RDNA2ssa käytetä varsinaiseen RT-
laskentaan yhtään sen enempää kuin nVidiallakaan; Itse
laskenta tehdään TMUihin integroiduilla RT-yksiköillä.
Sen sijaan rajapinta RT-yksiköille on AMDllä hienojakoisempi ja shaderien vastuulla on ilmeisesti jotain puskurointia/puun läpikäyntiä ja niiden RT-yksiköiden käskyttämistä useammin.
Ja toisaalta, vaikka tehdään puhdasta säteenjäljitystä, niillä shadereilla pitää ihan yhtä lailla nVidiankin toteutuksella laskea vaikka mitä, esim sitä, mihin suuntiin toisiosäteitä lauotaan ja miten eri toisiosäteistä saatava valo yhdistetään valoksi joka pinnasta annetaan ulos pääsäteelle. "Shader-prosessoreissa" ei ole mitään rasterointispesifistä.
Lainaus TPU:n artikkelista: Without taking names, NVIDIA pointed out that a minimalist approach toward raytracing (possibly what AMD is up to with RDNA2) has a performance impact due to overreliance on SIMD stream processors.
NVIDIA's new Ampere architecture brings many interesting improvements, especially for raytracing and DLSS. In this special article we're going into all the technical details: how the shader counts are doubled and what makes GeForce 3000 RTX so much faster. We also take a closer look at the...
www.techpowerup.com
Ei tietenkään kukaan voi varmaksi sanoa mitään, mutta se on todennäköisin skenaario tämän hetken tietojen perusteella.
Tuo artikkeli lähinnä toistaa nVidian propagandaa ilman mitään kriittistä suhtautumista siihen.
techpowerup/nVidia sanoi:
Typical raytracing workloads in a raster+raytracing hybrid rendering path involve calculating steps of traversal and intersection across the BVH and bounding-box/triangle intersections, which is a very unsuitable workload for typical GPUs because of the nature of memory accesses involved.
This kind of pointer chasing doesn't scale well with SIMD architectures (read: programmable shaders) and is better suited to special fixed-function hardware, like the MIMD RT cores
Joo, siinä puurakenteen kelaamisessa tulee pointer-chasingiä. Mutta:
1) Ne muistiaccessit jolla puurakenteen nodet haetaan RDNA2ssa tekee käsittääkseni TMU, ei SIMD-ytimien vektori-LSUt. Ja ne TMUt on jo selvästi paremmin soveltuvia tuontyyliseen.
2) Ne viiveet voi aina piilottaa monisäikeistyksellä, käytännössä "barrel processor"-tyyppisellä ratkaisulla jossa joka kellojaksoa lauotaan operaatio eri säikeestä. Ja sitten jos muistiaccessissa kestää esim. 4 kellojaksoa, sama säie palaa ajoon neljän kellojakson päästä.
Ja jos ruudulla on vaikka 2 miljoonaa pikseliä ja jokaisesta lauotaan yksi primäärisäde, jotka voi kaikki laukoa rinnakkain, se että yhden säteenjäljitysoperaation latenssi ei ole supernopea ei ole ongelma kun voidaan jäljittää vaikka tuhansia säteitä yhtä aikaa. Haittapuolio tästä on lähinnä vain se, että tarvitaan suuremmat puskurit jonoille, jossa on laatikot odottavat tarkastamistaan (tai siis enemmän näitä jonoja, kun jokainen säden tarvii oman jononsa).
Jos mietitään, että missä tilanteissa AMDn rakenne hidastaa sitä nVidiaan verrattuna niin se tyypillisesti hidastuva tilanne EI ole se, että rasterointia ja säteenjäljitystä tehdään yhtä aikaa, vaan ihan se, että kun säteenjäljityksessäkin pitää käyttää teksturointia että saadaan pinnoille niille halutut värikuviot, se teksturointi ja itse törmäystarkastukset kilpailevat samoista teksturointiyksiköistä.
Ja mitä monimutkaisempia teksturointimoodeja käytetään, sitä enemmän tällä on merktystä suorituskykyyn,
Säteenjäljitys kuitenkin käytännössä vähentää sitä teksturoinnin tarvetta, koska usein riittää vaan itse pinnanväritekstuurit (sekä ehkä joku pinnan hienojakoisia muotoja tai yleistä rosoisuutta mallintava tekstuuri) siinä missä rasteroinnin yhteydessä käytetään ties mitä light map-tekstuureita yms. purkkaamaan valaistusta joka säteenjäljityksellä tulee "automaattisesti" vain laukomalla pari sekundäärisädettä.