Skocz do zawartości

Techniki rekonstrukcji obrazu w grach - NVIDIA DLSS, AMD FSR, Intel XeSS, Sony PSSR oraz inne


Rekomendowane odpowiedzi

Opublikowano

@tomcug, mam dla ciebie bardzo proste wyjaśnienie skąd taka różnica między RTX 2080 Ti i RTX 3080 Ti. Obliczenia wykonywane przez rdzenie Tensor to tylko połowa pracy. W najnowszym DLSS wykonywanych jest też bardzo dużo obliczeń na zwykłych jednostkach, a tutaj już jest duża różnica w wydajności.

  • Upvote 2
Opublikowano (edytowane)
26 minut temu, tomcug napisał(a):

RTX 2080 Ti dwa razy dłużej przetwarza w 4K przy modelu L od RTX 3080 Ti, a oba GPU mają praktycznie tyle samo cache. Pamięć cache to nie jest magiczne pudełko, że dosypujesz więcej i więcej i pomaga w nieskończoność

Nie no Tomcug, ty też. :E
Przecież ja nie mówię że zwiększenie cache to rozwiązanie na wszystko i boost wydajności, tylko że gdy zabraknie cache na zamieszczenie konkretnych, potrzebnych danych w konkretnym momencie to powstanie przestój. 
Nawet wyżej podałem funkcję, która może przyczynić się do lepszego zarządzania cache przez Ampere -  L2 Cache Residency Control.
W tym co podałeś nie ma nic o tym, ile zajmują elementy z bufora poprzedniej klatki itp. 

Na dodatek Ampere wprowadziło sprawniejsze "asynchronous compute" co m.in. trochę odciążyło cache.
To wszystko właśnie służy minimalizowaniu przestojów...

Edytowane przez musichunter1x
Opublikowano
7 minut temu, SebastianFM napisał(a):

@tomcug, mam dla ciebie bardzo proste wyjaśnienie skąd taka różnica między RTX 2080 Ti i RTX 3080 Ti. Obliczenia wykonywane przez rdzenie Tensor to tylko połowa pracy. W najnowszym DLSS wykonywanych jest też bardzo dużo obliczeń na zwykłych jednostkach, a tutaj już jest duża różnica w wydajności.

Ok, wszystko jasne.

20 minut temu, musichunter1x napisał(a):

Nie no Tomcug, ty też. :E

Gdybyś miał jakieś sensowne argumenty, a nie teorię pisaną patykiem po wodzie, to można by to było traktować poważnie ;) Wracając jeszcze do tabelek NVIDII, RTX 4070 Ti vs RTX 3080 Ti to kolejny ciekawy przykład. RTX 4070 Ti ma 8x więcej cache L2, a w 4K z profilem L przewaga to tylko 67%. Coś się nie spinają te "keszowe" rewelacje.

  • Like 1
  • Upvote 1
Opublikowano

Mogli by bardziej ogarnąć te opisy ustawień a nie np. L,K,M. Jak ktoś nie jest w temacie to guano to mówi. Mają tyle miejsca, że bez problemu zmieściły by się opisy czy to jest jakaś ultra wydajność czy coś innego. O wyskakujących dymkach to już nie wspomnę gdzie był by jeszcze rozszerzony opis na jakich kartach czy tam rozdzielczościach najlepiej się to sprawdza.

Zrzut ekranu 2026-02-08 151305.png

Opublikowano (edytowane)

Dobra, sam zmęczyłem się tą rozmową, a uciekło już meritum... Więc powtórzę sedno:

Skupiam się na kwestii opóźnienia wywołania danych z Vram, gdy akurat nie ma potrzebnych danych w cache, bo nie zdążyło ich przerzucić lub całość nie mieści się na raz. Dawniej karty skupiały się na intensywnym mieleniu danych, szybko zastępując cache następną porcją, aby jak najszybciej wykarmić rdzenie.
Teraz mogą zarezerwować fragment cache pod daną strukturę danych, aby zawsze była na miejscu, gdy jest potrzebna, bez czekania na wywołanie Vramu i przesłanie tego dalej... Dlatego wspominam L2 Cache Residency Control.
Również więcej elementów może być wywołanych "bezpośrednio" z Vramu, co zrobiło miejsce na inne elementy..., a raczej zwiększyło skuteczność upakowania danych bez przestoi. Dlatego wspomniałem o usprawnionym asynchronous compute w Ampere, które pozwala pominąć rejestr, kopiując dane w tle.

 

Rzucając tymi szacunkami użycia cache przez DLSS chciałem, aby ktoś zweryfikował w jakim stopniu zużycie pokrywa się z rzeczywistością... Nie dostałem żadnych informacji ile danych ładują katy do cache na rzecz DLSS, tylko ciągle przypomnienia "jak działa cache", gdy cały czas chodzi mi o redukcje przestojów przez umieszczenie danych w cache na czas...

Edytowane przez musichunter1x
Opublikowano
6 minut temu, musichunter1x napisał(a):

Teraz mogą zarezerwować fragment cache pod daną strukturę danych, aby zawsze była na miejscu, gdy jest potrzebna, bez czekania na wywołanie Vramu i przesłanie tego dalej... Dlatego wspominam L2 Cache Residency Control.
Również więcej elementów może być wywołanych "bezpośrednio" z Vramu, co zrobiło miejsce na inne elementy..., a raczej zwiększyło skuteczność upakowania danych bez przestoi.

Ale to jest tylko Twoja teoria, że to przynosi poprawę, na co nie ma żadnych praktycznych przesłanek, że karty z mało pojemną cache mają jakieś przestoje w obliczeniach i więcej cache dałoby poprawę. Nie ma dowodów, nie ma sprawy.

7 minut temu, musichunter1x napisał(a):

Nie dostałem żadnych informacji ile danych ładują katy do cache na rzecz DLSS

Nie wydaje mi się, żeby dało się to sprawdzić. Ale tę kwestię na pewno rozjaśni @SebastianFM, bo on się bawi profilerem od NVIDII.

Opublikowano (edytowane)
12 minut temu, tomcug napisał(a):

że karty z mało pojemną cache mają jakieś przestoje w obliczeniach i więcej cache dałoby poprawę. Nie ma dowodów, nie ma sprawy.
Nie wydaje mi się, żeby dało się to sprawdzić. 

Nvidia niby chwali się, że skutecznie upycha pewne dane do cache... Deweloperzy od czasów Ampere mogę wydzielać fragment L2, aby był "trwalszy" choćby dla jakiś kluczowych danych DLSS. Rozchodzi mi się o wielkość takich danych, które są tam upychane przy pomocy L2 Persistence, dodanym w Residency Control.
Stąd mój logiczny wniosek, że jeśli karta nie zmieści elementów, które skorzystałyby z trwałego L2 to musi być jakiś przestój. Mogę mylić się co do wielkości tych danych, bo to próbowałem oszacować przy pomocy AI.

 

Szkoda że dopiero teraz doprecyzowałem swoją tezę :E 

Edytowane przez musichunter1x
Opublikowano
25 minut temu, skypan napisał(a):

Mogli by bardziej ogarnąć te opisy ustawień a nie np. L,K,M. Jak ktoś nie jest w temacie to guano to mówi. Mają tyle miejsca, że bez problemu zmieściły by się opisy czy to jest jakaś ultra wydajność czy coś innego. O wyskakujących dymkach to już nie wspomnę gdzie był by jeszcze rozszerzony opis na jakich kartach czy tam rozdzielczościach najlepiej się to sprawdza.

Jak ktoś nie jest w temacie nie powinien w ogóle tego ruszać.

Opublikowano
6 minut temu, musichunter1x napisał(a):

Deweloperzy od czasów Ampere mogę wydzielać fragment L2, aby był "trwalszy" choćby dla jakiś kluczowych danych DLSS. Rozchodzi mi się o wielkość takich danych, które są tam upychane przy pomocy L2 Persistence, dodanym w Residency Control.

Nigdy się nie interesowałem tą funkcjonalnością, ale gwarantuję Ci, że nawet jeżeli jest taka możliwość, to nikt DLSS tak nie implementuje :)

Opublikowano (edytowane)
35 minut temu, tomcug napisał(a):

 to nikt DLSS tak nie implementuje :)

Mogę głównie przy pomocy AI próbować coś wygrzebać, bo z pamięci to niewiele wygrzebię.
Na pewno wagi modelu i parametry sieci są zapisane jako "Persisting", jedno to 2-4MB drugie ~1MB.
Wektory ruchu itp. rzeczy z bufora klatki ciągle zmieniają się, więc tego należałoby nie liczyć, ale nadal musi przejść przez cache w odpowiednim momencie...
ALE, właśnie CNN miało ponoć "wagi statyczne", Transformer posiada jeszcze "mapy uwagi" - Attention Maps,  a same wagi są większe. Najlepiej, aby oba miały przypisany, trwały L2, gdzie AI szacuje to na 18-24MB + 6-10MB = 24-34MB, dla samych Model Weights oraz Attention Maps.
Użycie RR trochę dodaje MB do obu.

Wystarczy mi tematu na dziś. :boink:
Edit. Tylko  dodam, że FP8 powinno zmniejszyć to o połowę lub coś zbliżonego.
Edit.2 Jeszcze wróciłem sprawdzić co powie w przypadku gddr6x rtx3060ti, bo przepustowość powinna trochę nadrobić braki cache. Wypluła coś takiego względem CNN, szacunki dla 1440p, chyba quality... Dla Performance wypluło już 1-3% dla gddr6x, względem gddr6 5-8%.
image.png.6fa442513a001ab224bf5dff5b6de238.png

Edytowane przez musichunter1x
Opublikowano
1 godzinę temu, skypan napisał(a):

Dlaczego ?

Zalecane ustawienia są optymalne.

Jak sobie wyobrażasz taki opis ?

Techniczne aspekty tych presetow sa skomplikowane i nie ma w sumie "jednego najlepszego", obejrzyj jakieś testy, chociażby ostatni Digital Foundry.

Tego się nie da opisać w dwóch zdaniach i założę się, że te opisy by więcej ludziom namieszały w głowach niż pomogły.

Presety mają różne optymalizację które nie koniecznie muszą być optymalne dla danej gry, jeśli je wymusisz co może powodować błędy w grafice.

Poza tym presety są ułożone od najstarszego do najnowszego wiec łatwo się i tak połapać. Ale jeszcze raz najnowszy nie musi oznaczać że dla danej gry będzie najlepszy.

Dlatego jeszcze raz napisze, zalecane ustawienia Nvidii są w tym przypadku naprawdę ok i nie ma większego sensu ich ruszać, chyba że dla zabawy.

Opublikowano
4 godziny temu, musichunter1x napisał(a):



@sidebandMógłbyś odnieść się do L2 Cache Residency Control? Na dodatek powtórzę - nie zrozumieliśmy się w przypadku "wspólnego L2".
Przecież nie chodzi o fizyczne położenie L2, lecz o wspólne adresowanie danych dla "wszystkich rdzeni". W CPU są oddzielne dla każdego rdzenia, w GPU tak nie jest.

To dotyczy przecież tylko CUDA i nie ma żadnego zastosowania w grach ;) 

Czy jest to wykorzystane przy DLSS tego nie wiem poza tym patrząc na benchmarki często ta opcja nie przynosi żadnego kopa ;)

Poza tym dużo istotniejsza jest L0/L1 i rejestry na dane w samych SM-ach. Przykładowo w Turingu L1 nie tylko jest 2x szybsza względem Pascala, ale też posiada 2.5x niższe opóźnienia. Od Ampere są spore zmiany L1 o czym można poczytać w specyfikacji.

 

Przykładowo Hopper 2x pojemniejszą L1 niż Blackwell, ale w Blackwellu skompensowano to wydajniejszą i pojemniejszą L2. Istotne też jest by ładowanie dodatkowych tranzystorów miał sens i przynosił chociażby wzrost wydajności na wat.

 

Specyfika L1 jest taka, że ta pamięć nie może być pojemna i stąd wynika jej duża szybkość. Za to można stworzyć więcej mniejszych SM-ów tylko czy to ma sens tego nie wiem ;) 

Dodatkowy spadek wydajności w Turingu z DLSS + RT wynika z tego, że nie może liczyć jednocześnie DLSS + RT, a Ampere już tak ;)

 

GPU projektuje się na emulatorach to można sprawdzać wiele scenariuszy w przybliżeniu ;) Poza tym widać architektura NV zaczyna witać się ze ścianą prędzej czy później dojdzie do dużych zmian w architekturze.

 

  • Like 1
Opublikowano
39 minut temu, sideband napisał(a):

Specyfika L1 jest taka, 

Tylko że mówię typowo o L2, a ta funkcja jest używa właśnie przy DLSS. 

 

Jedynie wcześniej przesadziłem z szacunkami użycia cache, bo malo co korzysta z "trwałego" trybu L2 i prawie wszystko działa tak, jak argumentowaliście w tym wątku.

Opublikowano

Zrobiłem takie porównanie, DLSS 4.5 (v310.5.2), DLAA, Preset M, 1080p vs 4K. Celowo użyłem DLAA, żeby rozmiar danych wchodzących był większy. Z całego przetwarzania DLSS zaznaczyłem w obydwu przypadkach te same 5 etapów. Statystyki po prawej stronie dotyczą tylko zaznaczonego fragmentu.

 

1080p.

01080p.thumb.png.868af9e69bae6e2b63a1a4ddc1183e4e.png

 

4K.

14K.thumb.png.11fc2d5698ec314713ae94a3cb3b381c.png

 

Widać, że w wyższej rozdzielczości jest odczytywanych i zapisywanych w pamięci VRAM więcej danych jednak nie wpływa to negatywnie na wydajność.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Popularne tematy

  • Najnowsze posty

    • Co innego postacie poboczne, a co innego główne. Aktorka grająca Ellie robi największy kontrast, bo wygląda całkiem inaczej. Tu nie chodzi o to że nie jest taka sama, ale różnica wizualna jest nie do akceptacji. Natomiast aktor grający Joela już tak bardzo nie wyróżnia się negatywnie. Do tego to był jeden z głównych powodów dlaczego I sezon był dużo lepszy niż II. Głównym bohaterem I sezonu był aktor grający Joela, a drugiego aktorka grająca Ellie. Jak zrozumiesz moją opinię i setek tysięcy zawiedzionych fanów The Last of US, to będzie sukces w twoim przypadku.   Mówili ze dobrze grała tą scenkę i tyle. Gdyby im zależało to by znaleźli bardziej podobną. Co takiego? Wcześniej sądziłem, że tylko piszesz jak idiota, ale teraz niestety podejrzewam że to coś poważniejszego.
    • Nie ten temat, ale... Ani bieżnia, ani rowerek. Tylko micha. Kardio nie zaszkodzi. Ale nie zdziała wiele, jak miska kuleje IMO.
    • To akurat prawda. W skrócie podobnie ten fabularny gniot oceniam, mimo że pierwsza gra była arcydziełem jak dla mnie. W tym przypadku akurat nie do końca dobrze piszesz. Ellie wybaczyła A sceny odnośnie Tommiego i Diny w teatrze są idiotyczne, bo to typowe zmyłki dla widza żeby go nabrać. W ogóle już samo to, że Abby z tym transem ich pokonują jest absurdalne. Do tego kretyn od scenariusza kazał grać Abby i walczyć z Ellie. Raczej odwrotnie. Wątek Abby zbędny, tak samo jak cała jej banda, bo gracze mieli ich zazwyczaj gdzieś i im nie współczuli. To wszystko powinno być poprowadzone bez śmierci głównego bohatera pierwszej gry. A jeśli już miała być jego śmierć to Ellie powinna ją po prostu zabić i tyle. Nie po to przemierza cały kraj żeby na końcu powiedzieć "odpuszczam". To tak idiotyczne i bajkowe że trudno to usprawiedliwić jak na chłodno podejdziesz do tej produkcji. Najważniejszy problem tego świata to zarażanie się ludzi bez możliwości wyleczenia czy odporności. Gdyby scenarzysta nie był debilem, to bym tym się zajął, zamiast robić całą grę o zemście, która tak naprawdę niczego nie zmienia w tym świecie.      
  • Aktywni użytkownicy

×
×
  • Dodaj nową pozycję...