Búcsú a Radeonoktól 10 év után

Mi késztethet egy egyszerű felhasználót arra, hogy bő 10 évnyi piros oldal után átmenjen a zöldekhez? – írta: huskydog17, 3 éve

2. ok: Multimédia

2015 nyarán (augusztus végén) kezdtem el én is foglalkozni gameplay videók készítésével. Akkoriban egy 22 colos 16:10 képarányú monitorom volt, melynek 1680×1050 volt a natív felbontása, így ezen felbontáson vettem fel mindent. Ez azt jelenti, hogy elegendő volt egy olyan enkóder, ami bírja stabilan a 1080p 60 FPS-t.
Szerencsémre a Radeon 7870-ben ugye már volt hardveres enkóder, az első generációs VCE (Video Codec Engine) motor, ez pont FullHD 60 FPS-ig lett kigyúrva, így ezzel a VGA-val kezdtem a gameplay videósdit, nem is volt vele sokáig gond szinte mindent fel tudtam vele venni, de mégse mindent.
A többséggel ellentétben én nem OBS-t használok (2015-ben amúgy is totális katasztrófa volt az OBS AMD enkódere), hanem egy fizetős alkalmazást. Kezdetben csak a tech5 motoros játékoknál, aztán később egyre több és több olyan címmel találkoztam, ahol az AMD VCE motor nem úgy működött, mint kellett volna, mindig találkoztam valami problémával, ami a zöldeknél viszont nem volt jelen. Az elmúlt években ezek a negatív tapasztalatok folyamatosan csak gyűltek, egyre több tervezett videóról kellett lemondjak az AMD enkóder miatt (pontosabban az azt működtető AMF SDK-val voltak/vannak bajok). Szűk két évet vártam, hogy a tech5-ös játékokat fel tudjam venni. Ne feledjük az AMD saját rögzítőszoftvere (Relive) egyáltalán nem működik OGL alatt, így örülök, hogy legalább a Mirillis mérnökei megoldották azt, amire az AMD nem volt hajlandó/képes.

Idén aztán 1080p-ről 1440p-re váltottam. Itt nem a real-time renderingre kell gondolni, hanem a felvételre, azaz a játékokat FullHD-ban játszom, de a korábbi 1080p helyett 1440p-ben veszem fel direkten az anyagokat, mert így YT-on a képminőség sokkal szebb, mintha natív 1080p-ben tölteném fel. Nem tudom, miért van ez, valamiért a YT olyan mértékben leroncsolja a natív 1080p feltöltéseket, hogy az valami borzalom, na mindegy is ez több szót nem is érdemel. A lényeg itt az, hogy korábban nekem jó volt a 1080p felvétel, de ma már 1440p 60 FPS -re van szükségem. Itt jött a következő pofon az AMD-től. A Polaris 10-ben lévő VCE motor elvileg képes 60 fps-en enkódolni 1440p felbontásban AVC (H.264) kodek esetén, legalábbis ezt kommunikálta az AMD. A gyakorlat, ahogy az oly sokszor lenni szokott egy kicsit árnyaltabb ennél. Ahogy ebben a táblázatban látható, az 1440p 60 FPS csak Speed, más nevén performance módban érhető el, Balanced és Quality módban már nem képes stabilan 60 képkockát enkódolni másodpercenként a Polaris10. Ezt saját magam is tapasztaltam, ugyanis ha 1440p 60 FPS-ben vettem fel valamit, akkor a videó erősen rángatózott, mert hiányoztak képkockák.
A rögzítőszoftverben a minőséget a minimumra állítva, azaz sebességet maximumra állítva se lett jobb a helyzet. E miatt nem maradt más, minthogy 1080p60-ban felvenni a nyers gameplay-t és azt még egyszer utólag 1440p-re átkódolni. Így ugyan elértem a célom, de ez brutálisan sok időt vesz igénybe, továbbá itt az kicsit bántotta a csőrömet, hogy ha a vörösök itt nem visszafelé fejlesztették volna az AVC sebességét, akkor eggyel kevesebb okom lett volna a váltásra.

Érdekesség, hogy GCN előző, azaz a harmadik generációja sokkal gyorsabb volt AVC alatt. Itt az AMD kinyírta az AVC sebességet a HEVC oltárán, csakhogy ez nekem nem vigasz, mert a YT nem fogadja el a H.265-ös kodeket. Számomra a mai napig érthetetlen, hogy miért kellett a Tonga kiváló AVC sebességét kinyírni, na mindegy.

Frissítés: A YouTube idő közben már elfogadja a HEVC kodeket hagyományos videófeltöltésnél is.

Szerencsémre az NVIDIA a saját hardveres enkóderüket (NVENC) sose visszafelé, hanem előre felé fejlesztették, mindig növelve a tempót. Egyébként az NVENC a gyakorlatban nem csak sebesség szempontból előnyösebb a VCE-nél.
GTX 1060-nal végre minden gond nélkül megy a 1440p60 felvétel.

Az RX470-et váltó GTX 1060-as.

Másik lényeges különbség, ahol szintén voltak gondok, az a YouTube lejátszás. Rengeteg videót 1440p60-ban nézek, ahol a YT ugye VP9 kodeket használ. Na most a Polaris10 elvileg valamilyen szinten tudja gyorsítani, de a gyakorlatban sajnos itt is elvérzik. Full HD felett rengeteg képkockát dob el, ráadásul úgy, hogy a CPU használat se megy 50% fölé, böngészőtől és videótól függetlenül így rossz volt nézni ezeket. Például egy egyórás videóban több ezer frame-et dobott el. GTX 1060-al ez a probléma megszűnt. A több ezer eldobott frame helyett lett egy-két eldobott frame.

Ekkor pedig még nem is említettem a 4K videólejátszást. Ha 1440p-ben rengeteg képkockát eldob, akkor vajon mi fog történni 4K-ban? Hm… hát persze, hogy diavetítés, a kártya ott fityiszt mutatott és azt mondta „Felejtsd el öregem!”
GTX 1060 mit mond a 4K60-ra? „No problemo, sir!”

Na persze (még) nem 4K-ban nézem a gameplayeket, hanem 1440p-ben, de most már legalább ott a lehetőség is, hogy 4K-ban nézhessem őket, ott is szépen folyékonyan mennek. Van lehetőségem az összehasonlításra. Ezt egyébként az AMD még a GCN 5. generációjánál se oldotta meg (Vega, RadeonVII), a piros oldalnak a Navi-ig kellett várni, hogy működjön a gyorsítás 4K alatt.
Sajnos a multimédia is egy olyan terület, ahol az AMD nagyon hosszú ideje az NV mögött kullog és ebből is elegem lett.

Vega vagy RadeonVII tulajként ennek én nem örülnék.

Frissítés: a cikk megírása és publikálása között eltelt hónapokban rengeteg 4K60 fps gameplay videót néztem meg, szerencsére van egy olyan (külföldi) csatorna, ahol egy ideje mindent ilyen minőségben lehet megnézni, nagyon jó volt így végignézni a Serious Sam 4-et, de más játékvideók is sokkal-sokkal szebbek még az 1440p-nél is. A GTX 1060-nak semmi problémája nincs a 4K60-al YouTube-on, így ahol van, ott ilyen minőségben nézem őket, a DigitalFoundry elemzéseinél is nagyon jól jön ez. RX470-el teljesen esélytelen volt a 4K60 fps, szó szerint diavetítés volt, most tökéletes, azaz a 1060-al a gameplay videókat is sokkal jobb minőségben tudom nézni. Nagyon örülök ennek is.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt