Osobně jsem s DLSS v Controlu spokojený. Kdo pozná kde je DLSS a kde ne? http://download.jirikocman.cz/dlss_on_off.png obrázek je zvětšený výřez...
"Referenční experimentální model, na kterém je temporální DLSS založeno, má mnohem vyšší kvalitu, ale asi při tom vyžaduje vyrazně vyšší hardwarové prostředky a nefungoval by v reálném čase. Ovšem se zvyšujícím se výkonem by se mu postupně příští generace mohlo trochu přibližovat."
V originálním článku [1] ale píšou trochu něco jiného:
"Our next step is optimizing our AI research model to run at higher FPS. Turing’s 110 Tensor teraflops are ready and waiting for this next round of innovation. When it arrives, we’ll deploy the latest enhancements to gamers via our Game Ready Drivers."
Oni ten lepší model plánují nasadit už na současnou generaci. Tím se v podstatě zvyšuje hodnota Turingu během životního cyklu. To je celkem zajímavé... ????
[1] https://www.nvidia.com/en-us/geforce/news/dlss-control-and-beyond/
To video je dost nefér - ukazuje pouze jednu stránku věci. Nebere vůbec v potaz to, že DLSS bere nějaký výkon - správné by bylo, dát proti sobě např. 900p (přesné rozlišení se doladí podle toho, aby výkon byl stejný jako u DLSS) standardní upscaling na 1080p a proti tomu 720p DLSS upscaling na 1080p - v tu chvíli mají obě metody stejný dopad na výkon a je možné porovnávat kvalitu.
Zkrátka aby se mohlo objektivně porovnávat, musí být buď stejná kvalita obrazu a porovnáváme výkon, nebo musí být shodný výkon a porovnáváme kvalitu obrazu.
Ono DLSS je vidět úplně všude i v téhle hře. Kort,když to z měho 2560x1440 renderuje pod 1080P:
Zde je moje srovnávací video na nativní rozlišení a DLSS a nějaké screeny ukazující,jak hnusné to s tím je.
Video: https://www.youtube.com/watch?v=qOQ10D40TfU
Screny:
1) https://imgur.com/4vaAbFk
2) https://imgur.com/v5846WE
3) https://imgur.com/C2MnD07
Ono je v originalnim clanku mnohem vic veci "jinak". Treba se tam nikde nemluvi o tom, ze se najednou z DLSS stava temporalni sit. DLSS uz temporalni davno je. Pouze ze zjistili, ze diky nekterym temporalnim artefaktum, ktere by jinak odstranili jako chybu (doslova "bug") dokazou stavajici obraz vylepsit. Ostatne, udelejte si obrazek sami (dporocuju precist puvodni clanek cely):
"During our research, we found that certain temporal artifacts can be used to infer details in an image. Imagine, an artifact we’d normally classify as a “bug,” actually being used to fill in lost image details. With this insight, we started working on a new AI research model that used these artifacts to recreate details that would otherwise be lost from the final frame."
https://www.nvidia.com/en-us/geforce/news/dlss-control-and-beyond/
Ne, ten experimetnální model nemůžou nasadit do DLSS, protože by potřeboval mnohem víc výkonu. Proto právě vznikla ta zjednodušená verze, o které tam mluví jako "image processsing algorithm".
Ono nedává smysl se u pokusné věci, na které se snažíte zjistit, jak dobré by to až mohlo být, omezovat výkonem, který je dusupný realtime na aktuálních GPU. Tam se budous nažit překonat state-of-the-art v oboru, najít nové triky, jak tu kvalitu vylepšit, a počítat se to bude na serverech při klidně mnohem nižších rychlostech, protože záleží na výsledku, ne na to, jestli to teď TU102 někde utáhne ve hře.
Ale metody z toho se pak můžou adaptovat - přidají se do nich zkratky, omezí se počet neuronů, trochu se slví z té kvality, a může z toho pak být něco realtime. Ale určitě to nebude ten samý model.
Tady je ta relevantní část:
"Leveraging this AI research, we developed a new image processing algorithm that approximated our AI research model and fit within our performance budget. This image processing approach to DLSS is integrated into Control, and it delivers up to 75% faster frame rates."
DLSS nebere zadny vykon. Vyuziva Tensor Cores. Je to ale krok, ktery se aplikuje po renderingu aktualniho snimku a to stoji cas v render pipeline. Pokud je cas aplikace neuronove site kratsi, nez by byla doba renderovani v plnem rozliseni, zveda se pocet snimku za vterinu. Proto taky neni DLSS podporovane pro mala rozliseni a vyssi FPS - zadne zlepseni by neprineslo.
Kdyz to uvedu v prikladu - rekneme, ze snimek v plnem rozliseni trva vyrenderovat 50ms (20 fps). Snimek v nizsim rozsliseni se renderuje 20ms (50fps) a aplikace neuralni site trva 10ms (20 + 10 = 30ms, ~33fps). Tim se vylepsi framerate z 20 fps na 33 fps pri stejnem vystupnim rozliseni.
Kdyz by ale byl cil ten snimek v nizsim rozliseni - 20ms/50fps a renderoval se jeste z nisiho treba za 12ms (83 fps), byl by vysledek nezadouci - 12 + 20 = 32ms / ~31fps - coz je horsi nez renderovat v nativnim rozliseni. Tady by se framerate dokonce zhorsil z 50 fps na 31 fps.
Správná otázka není kde je DLSS, ale který obrázek je hezčí :) a pak odkrýt a zjistit reálný názor lidí bez zaujetí.
Snímek vlevo je víc rozmazaný, ale má lepší vyhlazování hran. Osobně bych se nespokojil s ani jedním obrazem a vyzkoušel bych použít SMAA (režim depth detection, pokud hra podporuje) na vyhlazování hran a CAS (možná i Clarity) jako sharpening filter (všechno dostupné v Reshade) - a na základě toho, zda CAS zvládne obnovit ostrost levého snímku nebo zda SMAA zvládne vyhladit hrany pravého snímku, bych se pak rozhodnul.
Jinak až odkryjete který snímek je který, zajímalo by mě použité rozlišení obou snímků (z jakého na jaké rozlišení se upscalovalo) a jaký výkon obě metody podávají).
V originálním článku není řečeno prakticky nic konkrétního, proto se musím domýšlet, o co tam jde. Tady ten citát říká co o technickém fungování? Prakticky nic, teda pokud nechcete dělat závěr, že je to nějaká magie, které smrtelník nerozumí...
Čekal bych, že vám trošku srazí hřebínek, že se v tom videu doslova říká, že při DLSS na 1920 × 1080 vykresluje grafika při rozlišení 1280 × 720 bodů a pak se toupscaluje. Teda přesně to, co jste tu v debatách pod předchozíma článkama za Boha tvrdil, že se rozhodně neděje a někde ve videu z keynote se v básnickém obrazu tam a tam rozhodně říká něco úplně jiného. Takže velká záruka toho, že teď určitě přesně víte, o čem mluvíte :)
Ten váš citát je něco podobného - 1. marketing to nějak podává, přičemž se snaží být netechnický pro běžné publikum (a asi zároveň chce, aby to znělo zajímavě), ale je to naprosto nekonkrétní. Z toho, jak to v Controlu funguje proti shimmeringu (a téhle zmínce o temporálním fungování) se ale dá dovodit, jak to asi funguje, což jsem v tomhle článku udělal. Je to částečně na základě zkušeností z oblasti filtrování videa, což ale nakonec je přesně to, co se tu dělá.
2. Pozor na to, že ten citát je o tom AI experimentálním modelu, ne o DLSS.
Jinak tahle vlastnost, kdy "Super Resolution" upscalovací algoritmy mají být schopné získat nějaké spatiální detaily navíc díky temporální analýze (tedy že se při upscalování snímku N dívají třeba i na N-1 a N+1) není nová věc, to se normálně zkoumá/provádí už několik let. Jen dřív se to vztahovalo k upscalování videa - třeba z Full HD na 4K v televizích, ne her.
Pracuje se při tom třeba se sub-pixel pohybem ve videu, tím jak snímek od snímku je objekt zabraný trošku jinak a můžou na něm být vidět trošku jiné detaily, takže když to obojí zkombinuju, tak můžu dodat ty detaily ze sousedních snímků do snímků, kde zrovna kvůli rozlišení nebo kompresi vidět nejsou. A podobný efekt může být i když to "video" jsou vykreslené snímky ze hry.
V tom mojem článku je to zmíněné tady:
"Toto zprůměrování se při filtrování videa často používá k potlačení šumu, ale zde by paradoxně mohlo obnovovat detaily, které spatiální DLSS rozmazávalo. A to díky tomu, že temporální algoritmus je může najít v po sobě následujících snímcích, a tím je zachovat coby detail, zatímco spatiální algoritmus je může považovat za šum a odstranit je."
Nvidia ovšem úplně neříká, že tahle vlastnost se projevuje v Control, jak už bylo řečeno. Zmiňují ji v kontextu toho AI research modelu, ale ponechávají stranou, jak moc se jí podařilo zachovat v té zjednodučšené verzi. Ale IMHO by by mohla, jen to bude dost záviset na tom, jak je přesně to temporální filtrování/analýza nastavené. Jestli používají další snímky přímo jako vstup pro tu neuronovou síť, tak tam bude minimálně potenciál, aby se to tak mohlo chovat. Ale zase jako pořád je to interpolace odhadující chybějící pixely, takže je třeba pamatovat na to, že to nebude úplná magie, stejně jako to nikdy nebyla magie v těch televizích. Nativní obraz by pořá měl být nepřekonatelný (i když paradoxně může mít ten efekt shimmeringu z vykreslování, protože neprošel tou temporální stabilizací jako ten filtrovaný upscale... podobný paradox/kompromis jako to, že nativní obraz bez DLSS má víc detailů, ale může mít aliasing protože DLSS kromě upscalování má taky efekt anti-aliasingu).
A pak na konci o tom mluvi, ze ten research model chteji optimalizovat a nasadit:
"Our next step is optimizing our AI research model to run at higher FPS. Turing’s 110 Tensor teraflops are ready and waiting for this next round of innovation. When it arrives, we’ll deploy the latest enhancements to gamers via our Game Ready Drivers."
Predposledni odstavec celyho clanku. Jasne mluvi o AI research modelu. Ten "Image Processing Algorithm" je v Control uz ted.
https://www.nvidia.com/en-us/geforce/news/dlss-control-and-beyond/
Špatně. Nepochopil jste o čem píšu.
DLSS ve videu upscaluje ze 720p na FullHD. V tom se shodneme. Použijme tedy Váš příklad, kdy 720p + DLSS trvá 30ms, 720p 20ms a FullHD 50ms.
Háček je v tom, že já jsem nic nepsal o renderování v plném rozlišení (FullHD, což je těch 50ms). Já jsem naopak psal, že aby bylo možné udělat relevantní porovnání, měli najít rozlišení, při kterém rendering snímku trvá stejně, jako při 720p DLSS - dejme tomu, že je to 900p.
Takže si to schrňme. Máme:
720p - 20ms (50FPS)
720P DLSS - 30ms (33FPS)
900p - 30ms (33FPS)
1080p - 50ms (20FPS)
V momentě kdy se na ty hodnoty podíváte, je jasné, že správné je udělat porovnání mezi 720p DLSS a 900p, protože tyto nastavení mají naprosto stejný výkon (30ms). Jenže nVidia zvolila porovnání 720p a 720p DLSS, kdy více vynikne schopnost DLSS (protože je porovnání nefér). Ještě bych uznal, kdyby v tom videu byly ukázány FPS - bylo by jasně vidět, že DLSS má sice vyšší kvalitu oproti 720p, ale taky stojí výkon (viz těch 50FPS versus 33FPS z Vašeho porovnání - jsou to vyloženě Vaše čísla, pouze jsem je zkopíroval, takže si nestěžujte, že jsou špatná nebo závádějící).
Vlevo je nativní 2560x1080, zvětšený výřez na 150%
Vpravo je DLSS 1707x720 do nativního, opět zvětšeno.
Při zapnutí DLSS se vypíná MSAA, vlevo je 4xMSAA, v pravo jen DLSS.
Vlevo hra běží v průměru řekněme 45 FPS - rasterizace i RT na max. Vpravo běží typicky 65-70 FPS, opět plná rasterizace+RT, tady ale chybí MSAA který se automaticky vypne a nejde zapnout.
S RTX2080Ti bych myslím mohl. 2070S je dost pod 60FPS, což je ale má cílová hodnota na kterou se chci dostat za každých okolností. 45-50FPS byť HW synchronizované mi nesedí, poznám že se frametime mění, jsem zvyklý hrát na konstantních FPS, tzn. těch 60 nahoře je ideálně minimim, průměr i maximum.
Po optimalizaci nastavení bych se na těch 60FPS bez DLSS dostal, ale nebudu si kazit herní zážitek. DLSS možná není 100% ale pro 60FPS native bych potřeboval vypnout contact shadows a indirect lighting nebo oba typy odrazů. Při hraní rozdíl DLSS vs native nepoznám, rozdíl mezi chybějícím RT a rasterizací ano.
V originalnim clanku neni slovo "spatial" ani jednou jedinkrat.
https://www.nvidia.com/en-us/geforce/news/dlss-control-and-beyond/
"že se v tom videu doslova říká, že při DLSS na 1920 × 1080 vykresluje grafika při rozlišení 1280 × 720 bodů a pak se toupscaluje"
Kde se tam rika neco u upscalovani? V zadnem z tech videi v clanku nic takoveho neni. Tam se jen uvadi zakladni rozdliseni a vystupni po zpracovani DLSS.
Ten citat je o experimentalni modelu, ktery zacali stavet, kdyz zjistili, ze jiste temporalni artefakty se daji vyuzit k vylepseni obrazu. Je tam podstatna ta cast "temporalni artefakty, ktere by normalne klasifikovali jako chybu". Normalne = DLSS.
Vymlouvat se opet na marketing a pak to zavrsit: "proto se musím domýšlet, o co tam jde." je opravdu usmevne. Vsechno co rikaji zdroje Nvidie je jen marketing. Huangova keynote je marketing, nescetne Nvidia blogy jsou marketing, Nvidia whitepaper je marketing. Jen Jan Olsan vi, jak to funguje.
Ja jsem ale nereagoval na vas zamer, ten je zajimavy. Jen na to domenku, ze DLSS bere vykon. Nebere, protoze vyuziva Tensor Cores. Jde ciste jen o tu delky vypoctu. GPU muze v te dobe s klasickymi shader units delat neco jineho. Pokud se napriklad do offscreen bufferu renderuje nejaky odraz a na nej se pak aplikuje DLSS, muzou se klasicke shader units pouzit na renderovani treba shadow mapy.
Tak radši nedomýšlej, to je cesta do pekla.
DLSS by nevyhlazovalo to, co vyhlazuje, kdyby to bralo data jen z jednoho snímku. Ve starších implementacích by to neredukovalo shimmering, ale ono ho to redukovalo i tam. A taky by to tolik nemazalo obraz, kdyby to bralo data jen z jednoho snímku. V dnešní době, kdy je nejpoužívanější metoda vyhlazování TAA, by bylo od Nvidie na palici, kdyby se u algoritmu vyhlazování rok omezovala jen na jediný snímek.
Mrkni na video z F1 2019, kde byla ta implementace DLSS zmršená. Ten obraz by se takto nemazal, kdyby to dělalo DLSS jen na jednom snímku.
https://www.youtube.com/watch?v=m5jTStG0HwA
Však oni píšou o optimalizacích. A pod optimalizacemi si (aspoň teda já) představuju změny. Ale pořád to bude ten AI research model na rozdíl od toho "algoritmu" [1], co teď mají v Control. Já to teda chápu tak, že v Control to snad ani není AI – jen něco, co napodobuje/blíží se tomu jejich AI modelu.
[1] "Leveraging this AI research, we developed a new image processing algorithm that approximated our AI research model and fit within our performance budget."
DLSS využívá z drtivé většiny Tensor cores, ale vsadím se, že minimálně pár instrukcí musí zpracovat normálně shadery. Nikdy nVidia netvrdila, že DLSS využívá jen a pouze Tensor cores.
DLSS sice je aplikováno paralelně se zbytkem výpočtů, ale i tak ve výsledku způsobuje pokles ve výkonu - sám jste to napsal, když jste psal, že 720p se renderuje 20ms a 720p DLSS 30ms - ten propad ve výkonu 10ms zde jde jasně vidět.
@Adam
Na to F1 jsem se před psaním tohohle článku nedíval, chyba.
Ovšem to původní DLSS by spatialní mělo být, přesně tak to Nvidia popisovala v tom whitepaperu.
Stáhl jsem si to video z F1, abych se mohl dívat snímek po snímku, a vypadá, že tam je to opravdu taky už temporální, protože je to mázlý opravdu zjevně - ale je zajímavý, že proti tomu není současně mázlej ten TAA. (Takže jo, uznávám, že to Control patrně není první s temporálním filtrováním.)
Protože na začátku v tom Final Fantasy XV Demu (IIRC) tohle bylo přesně naopak, tam se dalo ukazovat na místa, která TAA rozmazalo tím temporálním zprůměrováním se sousedníma snímkama, ale DLSS je mělo čisté díky tomu, že temporální nebylo. (Tohle asi hrozně záleží na tom, jestli se správně kompenzuj pohyb pohybovýma vektorama - u toho FFXV asi vektory špatně používalo TAA, tady u toho F1 je zřejmě TAA používá efektivně, ale DLSS... vůbec? Není to nějakej bug, kterej už spravili? Třeba že dělají separátně temporální denoising nad tím výstupem s DLSS úplně bez kompenzace pohybu? Holt by to chtělo vědět víc o tom, jak to funguje...)
Jinak ne až takhle šíleně, ale třeba jako v Battlefieldu může klidně rozmazávat i čistě spatiální filtr, když ho tak někdo natrénuje ,případně to prostě může být efekt té interpolace. Nějaká míra mazání textur je asi obecnej problém danej tím, jak ta interpolace pracuje. Když se různé komplexní vzory/"textury" (ve smyslu určité detailní plochy, i kdy by to byl jen náhodně vypadající šum nebo tak něco, prostě takový ty detaily v rámci nějaké plochy), na kterých se ta síť učí, downscalujou, tak ten downscaled výstup vypadá často hodně podobně pro různé takové "textury". Takže když pak při inferenci síť postupuje opačně od toho downscalovaného obrazu k tomu vyššímu/původnímu rozlišení, tak vlastně moc nemůže poznat, který z tamtěch původních vzorů, které po downscalingu vypadají stejně, má vybrat. A z tohohle důvodu to může právě nakonec produkovat takový mázlý vzhled, který rozhodování pomocí PSNR vyhodnotilo jako "podobný originálu". Takhle mi to vysvětloval jeden člověk, co se různýma algoritmama na zpracování obrazu zabývá a docela mi to vysvětlení sedí.
Při tom upscalingu je jeden problém interpolace hran a vedle toho je zase problém těch ploch. Jsou zase postupy tzv. texture synthesis, které se zaměřují na tohle, ale asi to taky není moc snadný udělat tak, aby to fungoval fakt realisticky a bez problémů (a rychle).
Ono u DLSS je pak samozřejmě i problém s tím, že když se do toho v jednu chvíli vrazí už příliš mnoho výkonu/komplexity (mimo to, co běží na tensor jádrech, i když ty taky mají určitou spotřebu energie), tak bylo lepší to nedělat a rovnou zvýšit rozlišení. Takže nemá smysl používat něco ultra komplexního, když je cílem ušetřit výkon.
"Tak radši nedomýšlej, to je cesta do pekla."
Kdybych nemohl, tak bych nemohl prakticky napsat nic ani k té temporální stabilizaci, protože to Nvidia holt moc nevysvětluje.
No kde se vzalo:
1) "ale zde by paradoxně mohlo obnovovat detaily, které spatiální DLSS rozmazávalo"
2) "zatímco spatiální algoritmus je může považovat za šum a odstranit je"
Aneb to, ze Nvidia na mnoha mistech zminuje temporalni vlastnostni a efekty je marketing. Zatimco spatial filter/dlss, ktery tam neni ani jednou, je pravda. Chapu to spravne?
Ne jen mi připadá divné když jeden redaktor chodí poučovat redaktory na konkurenční weby. Třeba bych čekal něco jako slušnou kolegialitu mezi redaktory. Napsat kolegovi z konkurenčního webu email... hele mi se to nezdá a nesouhlasím. Než to vlastně vpálit na web. Si tak říkám kolik cizích redaktorů chodí poučovat na PCT... Já za pravdu, kterou sám Adam přiznal dostal na PCT BAN. :-) Z tohodle hlediska mi to přijde směšné. O to víc, že Adam kdysi pracoval tady...
Teď neřeším kdo má pravdu zda Adam a nebo Jan.
Hoši, vy si furt neuvědomujete, že s obrem jsem toho udělal víc než kdokoliv jiný v téhle republice. :D
Podívejte se, jak vypadal PCT předtím, než jsem tam šel, a jak vypadá teď.
Ano, konečné řešení nemám, protože když něco podělá, tak se stejně dozvím jenom "no jo, ale lidi to čtou".
A tohle už není ani tak můj problém, jako problém těch, kteří čtenost tomu, co napíše.
Když udělá nějakou trollovací novinku, nabouchá desetkrát víc prokliků než všechno široko daleko kolem.
Myslím, že si nerozumíme, jaký propad výkonu myslím.
Vy máte na mysli nárůst výkonu, kdy 4K dá 60FPS a 4K DLSS dá 80FPS (zde je 4K u DLSS myšleno jako cílové rozlišení, vstupní může být něco jako 1600p).
Já mám na mysli "teoretický" pokles výkonu 720p DLSS (720p je vstupní rozlišení, FullHD je výstupní) proti čistě 720p (identická hodnota jako vstupní rozlišení DLSS).
Tudíž mluvím čistě o tomto:
720p (upscale na FullHD) - 20ms
720p DLSS (cílové rozlišení FullHD) - 30ms
Zde dochází k poklesu výkonu (a ano, souhlasím s vámi, DLSS v tomto případě přináší vyšší kvalitu, ale taky snižuje výkon).
Díky tomu je to video co nVidia ukázala missleading - vůbec se nezmiňuje o tom, že levá strana (čistě 720p) má vyšší FPS než DLSS se vstupním rozlišením 720p a výstupním FullHD.
To porovnání mělo být 900p (nebo jiné rozlišení, které podá stejné FPS jako DLSS varianta) proti 720p DLSS s cílovým rozlišením FullHD. Zkrátka aby obě varianty měly stejné FPS a lišila se pouze kvalita.
"A tohle už není ani tak můj problém, jako problém těch, kteří čtenost tomu, co napíše."
aha takže máme být ticho a on bude moct lhát a podvádět? A Ty tam pod jeho článek napíšeš sám ža podvýděl? Ano měl jsi ty koule mi přiznat že podváděl. I pro to Tě beru, ale sám jsi napsla že s ním nic nemůžeš udělat, že tam má větší moc než Ty... A protože tam je déle jak Ty tak může... Protože bulvár funguje on tam zalže nebo zapodvádí v testech a lidi se to snaží uvést že lhal a podváděl. A to zvedá čtenost a o to jde že? Nejde o solidní práci, ale o to mít i špinavými praktikami co nejvyšší návštěvnost. No co k tomu dodat...
Jen mi to přijde úsměvné... půjdeš poučit i kluky na SHW.cz pokud napíší něco s čím nesouhlasíš?
To ale neni ciste 720p. Je to 720p s in-engine scalingem na 1080p proti 720p s DLSS na 1080p. My nevime, co je in-engine scaling. Nevime ani jaky performance hit ma ten in-engine scaling. Muze mit kratsi dobu vypoctu nez DLSS, ale nemusi (zalezi, co dela interne). Navic bude pravdepodobne vyuzivat klasicke jednotky, tzn. muze byt kratsi na vypocet, ale po tu dobu bude jednotky blokovat.
Ta demonstrace byla hlavne ale o potencionalni kvalite.
Jako když mluvím o konceptu filtrování v rámci jednoho snímku, tak pro to potřebuju nějaký termín. Moh jsem použít intraframe/interframe nebo 2D/3D (což by tady bylo zavádějící), ale když použiju "spatial", tak doufám, že to zrovna lidi přes video budou znát a tím to pro ně bude hned přístupnější.
Aha :-) takže není chyba mu to dovolit ale je chyba čtenářů, že PCT vůbec navštěvují a nad jeho chováním diskutují :-) Tomu se říká pokrytectví :-) Tohle mi připomnělo, jak do mě jeden magor naboural, ale policistům uváděl, že jsem vinný já. PROTOŽE JSEM TAM STÁL kdybych tam nestál tak do mě nenaboural :-D
No, jenže když je ten potřebnej výkon v jednu chvíli příliš vysokej, tak už pak nestačí jenom optimalizace ve smyslu "napišme to chytřeji", které nemění výsledek. Při zrychlování takových náročných filtrů (nebo třeba enkodérů videa) prakticky vždycky jde o to, přiblížit se co nejvíc tomu výsledku, zatímco se co nejvíc zlepší výkon, ne zachovat 1:1 ten původní výsledek a zlepšti výkon tak jak to jde pod touto podmínkou. Protože na tom špičkovém/ideálním výsledku se většinou podílejí i věci, které mají příliš velkou náročnost. Pokud ten research model byl dělaný na to, aby byl co nejlepší, tak tam nejspíš bude rozdíl mnoha řádů ve výkonu (= náročnosti) proti něčemu, co běží realtime.
Kdyby ne, tak to znamená, že ten research model má rezervy a mohlo se v něm zajít dál...
Jako tohle neříkám jako jistotu, je to jenom můj odhad na základě toho, jak to tak nějak vypadá a nějakých zkušeností. Mylsím, že je prostě pravděpodobnější, že to bude ta aproximace, nebo možná lépe řečeno port, kde nějaké vlastnosti bude převedené, někde se sníží komplexita (počet neuronů), některé prvky se třeba budou muset vynechat. A můžu se v tomhle plést, ale jako je to realističtější, než že by to na Turingu běhalo bez zásadnějších funkčních změn.
"Ono u DLSS je pak samozřejmě i problém s tím, že když se do toho v jednu chvíli vrazí už příliš mnoho výkonu/komplexity, tak bylo lepší to nedělat a rovnou zvýšit rozlišení."
Ono v 90% případů je lepší DLSS vypnout a renderovat rovnou ve vyšším rozlišení. Proto taky nVidia "zfixlovala" to Control video. DLSS bere tolik výkonu, že se levá strana videa neměla renderovat v 720p, ale např. v 900p (zkrátka tak, aby obě verze měly stejný framrate) - ale to by DLSS nevypadalo tak dobře...
Na tom se shodneme, ale to co jsi napsal, je jen teorie - v praxi má ten in engine scaling zanedbatelný vliv na výkon a je vždy podstatně rychlejší než DLSS.
Hardware Unboxed se tímto dost zajímali u Metra Exodus nebo BF V. Zjistili že 4K DLSS má vstupní rozlišení tuším 1600p nebo 1500p (tohle možná někde uváděla i nVidia/EA), a když manuálně nastavili rozlišení na 1800p-1900p (nevím teď přesně) a použili in engine scaling, tak měli naprosto stejný výkon jako u DLSS.
Proto je to demo video prostě špatně. 720p dosahuje vyšších FPS než 720p DLSS s cílovým rozlišením 1080p. Správně by to porovnání mělo být 900p (nebo jiné rozlišení) proti 720p DLSS, tak aby obě metody dosáhly stejného výkonu.
U F1 bylo DLSS rozbity. Proto byl videt ten temporalni charakter - kvuli chybe. U FF neznamena absence rozmazani absenci temporalniho prvnku. Znamena absenci ty chyby, ktera byla v F1. DLSS bylo a je temporalni od zacatku. Uz v prni prezentaci Huanga to bylo, v blog postech to bylo. Vsechno si oznacil za marketingovy reci.
V tom whitepaperu to taky je, hned na zacatku:
"DEEP LEARNING SUPER-SAMPLING (DLSS)
In modern games, rendered frames are not displayed directly, rather they go through a post processing image enhancement step that combines input from multiple rendered frames, trying to remove visual artifacts such as aliasing while preserving detail. For example, Temporal Anti-Aliasing (TAA), a shader-based algorithm that combines two frames using motion vectors to determine where to sample the previous frame, is one of the most common image enhancement algorithms in use today. However, this image enhancement process is fundamentally very difficult to get right.
NVIDIA’s researchers recognized that this type of problem - an image analysis and optimization problem with no clean algorithmic solution - would be a perfect application for AI."
https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/technologies/turing-architecture/NVIDIA-Turing-Architecture-Whitepaper.pdf
(strana 34)
Jasne tam definujou problem - moderni algoritmy pouzivaji temporalni pristup. A ted pozor - jako problem definujou schopnost spravne kombinovat data z vic snimku. A v zapeti mluvi o tom, ze na jeho reseni je idealni pouzit AI. Nikde se tam nepise ani slovo o tom, ze DLSS je spatial technika.
Já o tom nevím o moc víc než ty. Je to pro mě stejný blackbox. A obecně o neuronových sítích vím v podstatě jen to, že existují.
Ale už od uvedení žiju v tom, že to DLSS využívá i okolní snímky, nedohledám, kde jsem na to byl, nedohledám, kdy jsem na to byl, protože už jsem k tomu nějaká videa a texty nakoukal, mám to tak zafixováno, ale nejsem schopný to odcitovat. Možná to byl právě ten whitepaper výše. :)
U DLSS v F1 2019 o tom vím proto, že jsem to chtěl testovat a narazil jsem (a pak to řešil s Nvidií). Patch zatím není, nějaké interní buildy, kde to bylo opravené, měla Nvidia už před pár týdny, ale asi to teď testují trojnásob, než to znovu vypustí ven. A nejspíš se to snaží i dotlačit do maximální kvality.
@Maudit
Tvůj citát mluví o TAA, temporal antialiasing, ne o DLSS.
A z toho whitepaperu vychází můj článek o DLSS, proti kterými jsi vždycky tak horlivě flamoval. Je to na stránce 34 a už mě fakt štve, že jsem ji četl snad 30x, abych se přesvědčil, že tam to, co tvrdíš není. Tahle šaskárna mě stála možná už i desítky? (desítku bych řekl že určitě, lol...) hodin, který jsem moh věnovat něčemu smysluplnějšími. I teď jsem si to přečet a zase si myslím, že prost úproně tvrdíš něco, so není pravda, a já se můžu jenom dohadovat, jestli ti něco nedochází, nebo jestli je to jedno, nebo kde je problém. Já o sobě pochybuju a zamýšlím se, jestli jsem se třeba dřív nespletl. Docela by mě zajímalo, jestli si to někdy zkusil ty.
Jako v případě DLSS se většina tvejch domněnek nakonec ukázala jako blbost. Tvrdil si leccos, od toho, že to bude zlepšovat kvalitu nad úroveň nativního vykreslování, hádal ses o to, že je to supersampling a ne rendering naopak na nižším rozlišení a pak upscale (což už je teď doufám nesporný)... Taky si spoustu těch věcí tvrdil dřív, než o nich byly k dispozici nějaký informace, což znamená, že buď máš ty nejlepší zákulisní informace, nebo si někdy cucáš věci z prstu.
Ech, ok. Kluci ze SHW z mého omezeného úhlu pohledu píší podle mě celkem normálně, proto nemám potřebu jejich vyjádření nějak rozporovat. Spokojenost?
Dokud má obr čtenosti, jako má, nikdo nebude mít zájem řešit, jestli píše něco, co by psát neměl. To není pokrytectví, to je konstatování faktu. Kolik lidí kvůli němu přestalo na PCT chodit a nakolik to srazilo čtenost ostatních autorů, se na statistikách nepozná. Pozná se jen to, že se jeho články čtou.
Ale jinak mě už celkem unavuje, že se cokoliv, co napíšu, stočí na ultimátní argument "ty si neumíš udělat pořádek s obrem, tak drž hubu a krok". :D Zrovna v téhle diskuzi bych to nečekal.
Muj citat jasne mluvi o TAA, tzn. temporal aliasingu. Ale v zapeti mluvi o tom, ze stejnej problem se oni snazi resit pomoci AI, tzn. DLSS. A ja ti nevim, ty mi tu porad tvrdis, jak to v tom nevidis, i kdyz jek je videt nejen podle me je to ocividny.
Zatimco kdyz ja se zeptam, kde je v tom whitepaperu cokoliv, byt jedina zminka, o tom, ze DLSS je spatial technika, nebo o tom ze DLSS je upscaling, nikdy nedostanu odpoved. Zadna zminka o upscalingu nebo spatial filtru tam u DLSS neni. Ani jednou tam ty slova nejsou. Doporucuju zkusit full text search.
A tak se ptam, kdyz co tvrdim ja, ma byt jen "mozna" (z tvyho pohledu) zaklad v tom whitepaperu a mluvi o tom i ty blogposty a Huang v keynote (coz opet podle tebe je marketing), zatimco o tve alternative nikde v materialech Nvidie neni ani slovo - na zaklade ceho je tvoje vysvetleni spavne a moje spatny, "což už je teď doufám nesporný" podle tebe?
@Maudit
"Zatimco kdyz ja se zeptam, kde je v tom whitepaperu cokoliv, byt jedina zminka, o tom, ze DLSS je spatial technika, nebo o tom ze DLSS je upscaling, nikdy nedostanu odpoved."
Jenže to tam nemusí být zmíněné, protože spatiální upscaler je to, co by to mělo být ve výchozí sitauci, to je základ - protože co jinýho by to jako mělo být? Naopak temporální fungování je pak něco extra nad tenhle základ, a tudíž by to potřebovalo nějakej doklad*. Kterej tam ale není. Ale v tomhle případě ti to najednou nevadí, a jako důkaz ti tam stačí, že se řekne, že TAA je temporální. Z toho podle tebe vyplývá, že DLSS je temporální taky, protože... tvoje přání. No fakt sranda.
* Když přijdeš k řece a jeden člověk ti bude tvrdit, že tam teče voda a druhej, že je to blbost, že tam teče líh... na kterým bude břemeno důkazu? Možná to tad není tak vyhraněný, ale IMHO tady je břemeno důkazu na tom, kdo tvrdí, že je to temporální processing. To v tom whitepaperu není a kdyby ten filtr tehdy temporální byl, tak by se tím pochlubili. Oni ho tam ale naopak dávají s temporálním TAA do protikladu a ukazujou, že to nemá typické artefakty pro temporální fungování (tehdy, nemluvíme teď o tom F1 , kde to už temporální podle všeho je).
"byt jedina zminka, o tom, ze DLSS je spatial technika, nebo o tom ze DLSS je upscaling, nikdy nedostanu odpoved."
Tohle je prokazatelně nepravda, že to je upscaling je zrovna věc, která je tam řečená jasně: "DLSS allows faster rendering *at a lower input sample count*, and then infers a result that at target resolution "
Kromě toho to dokázalo v podstatě všechno - to, jak to vizuálně funguje ve hrách a ani Nvidia to nijak nezastírá, jak už se tu diskutovalo, takž tady se fakt jenom kroutíš, že ti hanba není.
"Uz sem davno chtel bejt pryc, at si to tu uzijes klidne. Diskuze pod timhle clankem uz je z my strany ciste jen proto, abych mel nejakou closure u tematu, ktery tu resime dlouho. Pak uz si pis co chces a me tu neuvidis."
Jo, to by bylo pro můj klid super, kéžby a doufám, že v tomhle záměru budeš mít co nejvíc úspěchů :)
Ale mám teda takovou neblahou předtuchu, aby se to nepokazilo :( Ne že bych tě chtěl hecovat, ale asi "too good to be true..." jak říkají angličáci.
part 1) ohledne dukazniho bremene
"Naopak temporální fungování je pak něco extra nad tenhle základ, a tudíž by to potřebovalo nějakej doklad*."
Jenze dukazni bremeno je na tom, kdo neco tvrdi. Ja cituju prezentace Huanga. Moc dobre vis, ze on v keynote o temporaly stable network mluvi. Moc dobre vis, ze mluvi o DLSS jako o autoencoderu. Ja odkazuju na neco konkretniho. Ty tvrdis, ze to je marketing. Budiz. Ale dukazni bremeno je tim padem na tobe. Kde mas nejaky dukaz, ze je to jen marketingova omacka, ktera nema s realitou nic spolecnyho?
Ty taky tvrdis, ze DLSS neni temporalni, ze je to jen jakejsi spatial filter a upscaler. Opet to je tvoje tvrzeni, proti kterymu stoji fakta - treba ta F1, nebo technika, o ktery mluvi Nvidia v blogu. Pokud tvrdis, ze to je jen spatial filter a ne temporalni sit, a ze to neni autoencoder, ale jen bezny upscaler, na zaklade ceho? Dukazni bremeno je opet na tobe - mel bys dokazat, ze zdroje z Nvidie jsou opravdu jen marketing a dokazat, ze to je jen spatial filter a jen upscaler. Co ja vim, treba Nvidia nevi, co rika. Treba zazracne netusi, jak jejich vlastni technologie funguje a ty jo. Ale na zaklade ceho to tvrdis? A nech si nejaky pohadky o rece. Tady je zcela jasny, kdo musi co dokazovat.
Nestaci to jen tvrdit. A neni mozny selektivne si vybirat, kdo ma co dokazovat.
part 2) ohledne samplu
“DLSS allows faster rendering *at a lower input sample count*, and then infers a result that at target resolution ”
Co je to inference u neuralni site prece vis. Tak proc predstiras, ze to v ty vete jako neni? Inference pouzije jednak externi vstupy (to jsou ty lower input sample count) a pak vyuzije informaci, obsazenych v te samotne siti (neboli co se naucila). To je ta super-sampling cast. Porad mi neni jasny, co na tom nechapes. Matematickej upscaling pracuje jen se vstupnima datama. DLSS pracuje jak se vstupem, tak se znalostma ty site o danym prostredi (proto se taky trenuje pro kazdou hru specificky).
Neboli kdyz pred tebe dam roztrhany kusy americky vlajky (nebo treba cesky, to je fuk), dokazes zbytek dokreslit. Vstupy pro celou vlajku nemas. Ale videl si ji tisickrat v ruznejch verzich - pouzijes svoje nauceny znalosti.
"Kromě toho to dokázalo v podstatě všechno – to, jak to vizuálně funguje ve hrách a ani Nvidia to nijak nezastírá, jak už se tu diskutovalo, takž tady se fakt jenom kroutíš, že ti hanba není."
Jako co bylo dokazany ve hrach? Ze kdyz to nasadi predcasne a ta sit neni poradne natrenovana, ze to vypada hnusne? Naopak treba zrovna u Metra byl krasnej priklad toho, jak kdyz se sit delsi dobu trenuje, dosahne mnohem lepsich vysledku - viz ta prvni verze DLSS v Metru, ktera byla dost rozmazana a pak ta novejsi, ktera uz funguje dost slusne, lip nez TAA treba. Nejak tomu nerozumim, co tim chces rict.
Ja sem pro, abychom sepsali nejaky otazky a kdyz to Adam Vagner dokaze dostat pres Stanka, sem s tim. Vubec se toho nebojim. Aspon to budeme vedet jiste. Vymlouvat se na to, ze to zas bude nejaka marketingova omacka vyzniva dost jako ze si pripravujes unikovou cestu. Tak bud si si jistej tim co tvrdis, protoze to trvrdis dost vehementne (vsak v kolika clancich jsi mluvil o DLSS zcela schvalne pejorativne jako o upscaleru a spatial filtru), nebo si jistej nejsi, pak ale nechapu ten zeal, se kterym ty clanky a posty pises.
@dom324
udělal jsem krátké video... Bohužel rozlišení pro upscaling a dlss jsou trošku omezená, není tam rendering resolution v procentech jak v jiných hrách.
Hraju v 2560x1080, pro upscaling můžu použít 810p nebo 540p, pro DLSS 720p a 540p
Na videu je prve výkon v 810p upscaling, pak 720p DLSS a nakonec 540p upscaling.
810p upscaling mi přijde o něco kvalitnější a FPS 54-61
720p DLSS je nepatrně víc blurry, FPS mezi 64-72. 540p pak nabízí výborné FPS ale kvalita už je velice špatná, pixeluje to
https://youtu.be/xERrZYV3SbE
Maudite, opravdu si myslíš, že nVidia používá nějakou skrytou magii? Že nevychází z toho, co se kolem neuronových sítí a jejich použití na zpracování/vylepšení obrazových informací událo v posledních letech? Najdi si prosím nějaké odborné publikace k tématu, často stačí i abstrakty, nebo případové studie (po netu se toho válí hromada), zjistíš, že se v nich v souvislosti s autoenkodéry a se zpracováním obvykle skloňuje upscaling jako jedna z metod mixu technik k získání výsledku.
Já beru jako hlavní pramen ne casual marekting, ale whitepaper, v kterým to je popsaný. Ten s tebou nesouhlasí, ať to překrucuješ jak chceš a okecáváš jak dlouhým příspěvkem chceš.
F1 je novější než ten whitepaper, a už jsem výš napsal/uznal, že tam to temporální je. Ale to neplatí pro ty hry a implementace, o kterých píše ten whitepaper a kterých jsme se bavili mnohokrát předtím.
"Co je to inference u neuralni site prece vis. Tak proc predstiras, ze to v ty vete jako neni? "
Protože fakt není.
"Inference pouzije jednak externi vstupy (to jsou ty lower input sample count) a pak vyuzije informaci, obsazenych v te samotne siti (neboli co se naucila)."
Ano, popsal si upscaling pomocí neuronální sítě. To, že se používá neuronální síť, na věci nic nemění. V té neuronální síti nejsou bezeztrátově uložené snímky v nižším rozlišení, jen natrénovaný interpoátor, který provádí UPSCALING určitým způsobem. Koho tu chceš oblbovat?
Plácáš úplný irelevantní nesmysly, já o koze on o voze atd. Myslím, že ti to zase začnu mazat, protože to je irelevantní spam, kterej se tváří jako vyvracení mýho příspěvku, a já kvůli tomu musím reagovat, ale přitom je to úplně prázdná blbost, která nedává smysl. A debata půjde zase kolem dokola, furt budeš postovat čím dál větší blbiny skákat sem a tam, a nikdy neuznáš, že se můžeš (a tady to IMHO fakt nastalo) mýlit. A kvůli tomuhle jsem vzhůru skoro ve tři ráno, ježkovy zraky.
"Protože fakt není."
“DLSS allows faster rendering at a lower input sample count, and then *INFERS* a result that at target resolution ”
"V té neuronální síti nejsou bezeztrátově uložené snímky v nižším rozlišení"
To mi vkladas do pusy, ale nic takovyho jsem nikdy netvrdil. Jak funguje autoencoder, ze se uci features, jsem tu psal uz mockrat.
Vzhledem k tomu, ze vyhrozujes mazanim, tak se podme domluvit, jak Adam Vagner navrhnul, a zkusime poslat otazky Igoru Stankovi. At to dopadne tak nebo onak, bude to dobrej material pro clanek, ne snad? Ty se me zbavis, budeme vedet jak to je - pohoda :) Ja se pokusim Adama kontaktovat kazdopadne, at uz se chces pridat nebo ne, protoze mi to prijde jako dobrej napad. Je to na tobe.