View Single Post
Old 31-10-2020, 07:07   #150
HwWizzard
Bannato
 
Iscritto dal: Aug 2016
Messaggi: 1151
Quote:
Originariamente inviato da lucusta Guarda i messaggi
e si, Alessandro, purtroppo ci sono e sono di difficile risoluzione.
il DLSS è un processo di confronto tra matrici, è per questo che le sue risoluzioni sono preimpostate: dividi il quadro in tante tessere e fai il confronto dei vari addendi.
un primo problema è che le matrici di contorno, dei bordi dello schermo, hanno la metà delle tessere adiacenti per il confronto, quindi vedrai sempre artefatti nei bordi; l'altro problema è dovuto alle scie.
di per se il processo non è molto diverso dall'idct (inverse discrete cosine transorm) che si usava e si usa sugli algoritmi di compressione video di foto, JPEG, e video, MPEG, a cui si aggiunge il vettore di movimento.
il lavoro di base è tipicamente questo, anche se alla fine si effettua su altre tipologie di dati, ma gli artefatti sono tipici: bordi, scie e profondità di campo.
sulle scie il vettore di movimento non riesce ad analizzare ottimamente le differenze variabili, lasciando stare quelle statiche da un frame all'altro, ed ecco che compaiono pixel che non ci dovrebbero essere ed il tutto qui, poi, è accentuato dalla variabilità del framerate, perché un conto è farlo su 30fps, un conto su 60 e un conto su una variabilità della durata del frame che va da 10 a 25ms, senza continuità e regolarità perchè dettata proprio dalla difficoltà del singolo frame... ed ecco che ti compaiono artefatti nelle forti variazioni di framerate (anche perchè i parametri che servono sono generati su sistemi del tutto differenti da quelli che poi gli utenti useranno, che a loro volta sono del tutto differenti l'uno dall'altro, quindi a variabilità siamo ai massimi livelli e oltretutto sono parametri medi e fissi).
l'altro tipico artefatto è di azzerare la profondità, il contrasto delle figure.
questo algoritmo lavora naturalmente sul 2D, sul quadro, non sul mondo 3D e quindi per lui le profondità di campo non esistono.
devono quindi poi ripassare un filtro che marca le figure in modo da ridonargli profondità, ma... ci vuole il parametro giusto, perchè se esageri alla fine avviene come al minuto 17:10 in cui le pietre sull'erba accanto al palo sembra che siano 10 metri più avanti, dando una sgradevole sensazione di profondità che assomiglia più ad un cartone animato in bassa grafica che ad una simulazione realistica.
sono questi i difetti più importanti.

nessuno di questi filtri è esente da questi difetti per il semplice fatto che è proprio il modo matematico che ha il suoi limiti intrinsechi di calcolo.
si possono risolvere, in parte, aggirando l'ostacolo:
fare renderizzazione anche fuori dal campo di visione, in modo che ci siano tessere anche oltre il bordo e che quindi puoi avere valori da calcolare... alla fine gli artefatti ci saranno lo stesso, ma non saranno visibili perchè oltre il quadro di visuale (e poi chi ti dice che li devi calcolare proprio? tanto non si vedono!);
il vettore di movimento è il più ostico, perchè il primo problema verte sulla variabilità del framerate, il secondo proprio sul movimento...
ecco, è li che ci vuole una AI che prevede i movimenti del vettore di movimento, in modo da anticipare le scelte di calcolo.
una delle soluzioni sarebbe di calcolare vettori troppo "veloci" a parte, su una renderizzazione non visibile e a risoluzioni maggiori, in modo da prender quei riferimenti dai dati e poi appiccicarli dove servono, ma alla fine, se fai il render di quelle parti a risoluzione maggiore per poi applicare l'algoritmo, tanto vale che elimini il problema e semplicemente cuci il render a risoluzioni elevata nel tuo frame a bassa risoluzione upscalata... ma il problema è che il render è 3D, fatto prima e poi il filtro DLSS opera sul'limagine 2D, quindi devi prevedere che ti serve e farlo alla vecchia maniera.
la questione della profondità di campo si risolve con algoritmi semplicemente migliori; filtri dinamici che cambiano i parametri a seconda della situazione di luce....
queste tecniche sono ben descritte nelle tecnologie che si usano proprio per la compressione video avanzata (H.264, H265 e similari) e si potrebbero applicare al DLSS allo stesso modo; d'altra parte, alla fin fine non sono una cosa molto simile?
non hai uno streaming di immagini da ridurre in risoluzione e comprimere al meglio per riottenere una ottima visione senza perdita di dettagli?
solo che qui lo fai in real time su uno streaming "interattivo" e nel mentre lo rivedi a piena risoluzione...

vabbè, ho divagato...
In pratica hai spiegato con un papiro quello che io ho sintetizzato in una parola
Il DLSS è un trucco ma adesso I fanboy nVidiosi vedendo che in potenza e consumi i loro amati prodotti vengono come minimo raggiunti o anche superati dalla concorrenza e capiscono bene che tutti i giochi verranno ottimizzati per la tecnologia concorrente arrivano a dire che nVidia è meglio perché ti truffa meglio.
Il DLSS non è uno strumento che dimostra le prestazioni di una GPU ma un trucco per poter dire che RT è utilizzabile in 4K cosa assolutamente falsa.
HwWizzard è offline   Rispondi citando il messaggio o parte di esso
 
1