Начало Ревюта hardwareBG ревюта FSR 2.0 – ефективно скалиране на изображения без нужда от ИИ

FSR 2.0 – ефективно скалиране на изображения без нужда от ИИ

Появата на рейтрейсинг технологията във видеокартите и игрите доведе до ситуации, в които дори и най-високия клас графични адаптери се затруднява да се справя дори с 1080p резолюция в някои игри. За това от самото начало, Nvidiа, които първи докараха технологията до пазара, предложиха използването на DLSS за ефективно скалиране на изображението от по-ниска към по-висока резолюция с минимална загуба на качество. Първата версия на технологията беше меко казано невпечатляваща, но с втората ревизия, използваща и данни от предишни кадри (темпорално скалиране) нещата се подобриха рязко, като в редица случаи скалираното изображение може да конкурира стандартното на целевата резолюция. За съжаление обаче тази технология е заключена само до моделите на Nvidiа и то само тези, които разполагат с тензорни блокове за ускоряване на ИИ изчисления.

От страна на AMD, нещата вървяха по-бавно, като може би компанията беше хваната леко изненадана от ситуацията. Първоначално получихме Fidelity FX Contrast Adaptive Sharpening (FFX CAS) – изострящ изображението специално оптимизиран филтър, който може както да се вгражда в игрите, така и да се активира от драйверите и Radeon Boost, предлагаща динамично скалиране на изображението по време на движение. През миналата година получихме и първата версия на Fidelity FX Super Resolution, която вече предлага цялостно решение за скалиране, лесно за вграждане в игрите. Но алгоритъма използване в него беше на базата на „просто“ пространствено скалиране в комбинация с FFX CAS, което при по-големите коефициенти между рендър и целевата резолюция не работи особено добре. Но ето че през миналия месец AMD обяви новата версия FSR 2.0, която също като DLSS 2.х използва темпорално скалиране, но без нуждата от специфичен хардуер за ИИ изчисления.

FSR 1.0 срещу FSR 2.0 – технология

FSR 1.0 се базира на алгоритъма за скалиране Lanczos, който е познат от над 40 години. Той обаче се базира на обикновено пространствено скалиране и въпреки че използва многопасов алгоритъм от по-високо ниво, не може да създаде/добави информация, която не съществува в изображението. Така че с увеличаване на коефициента на скалиране, изображението неизбежно ще губи рязкостта си и ще увеличава разликата си спрямо нескалирано изображение в целевата резолюция. Известна помощ в това отношение добавя използването на филтър за изостряне на изображението, който се прилага след Lanczos във FSR1.0, но отново – това само частично подобрява ситуацията. В добавка на това, FSR не предлага собствена реализация на антиалайзинг, така че резултатите при него много зависят от АА реализацията в играта. А както добре знаем, някои TAA имплементации съвсем не са цвете за мирисане (гледане в случая).

FSR 1.0 при интеграция в игра се разполага в графичния енджин след рендирането на изображението и прилагането на различните постпроцесинг алгоритми и преди добавянето на интерфейса. Което позволява последният да изглежда нормално за целевата резолюция без да има замазвания и прочее. Когато обаче се ползва драйверната реализация Radeon Super Resolution, обработката се извършва след завършване на целия кадър, така че се скалира и интерфейса.

Въпреки недостатъците си, от FSR има някои определени ползи. Преди всичко – не всички енджин имат особено качествени скалиращи алгоритми, ако решите да зададете рендираща резолюция по-малка от целевата, макар че например UA в последните си версии предлага както Lancsoz, така и дори темпорално скалиране. В случай обаче че не се използват някакви особено сложни имплементации, FSR може да предложи по-добро изображение. В добавка, при сравнително ниски нива на скалиране качеството на FSR не е чак толкова лошо. Заедно с това, ръчно оптимизираният алгоритъм се изпълнява много бързо на съвременните графични адаптери, което позволява да се спечели повече производителност.

FSR 2 се опитва да разреши проблема с недостига на данни в изображението, като комбинира информацията от два или повече последователни кадри. Така че за генерирането на новия кадър се използва информацията от цветовия буфер, буфера за дълбочина и векторите за движение (използват за изчисляване на Temporal АА алгоритмите). Това позволява на скалиращият алгоритъм да добави допълнителна информация към текущото изображение, което помага да се допълнят липсващи данни в кадъра. От AMD твърдят че техният ръчно оптимизиран алгоритъм също така разпознава и различни геометрични форми в изображението, което се предполага да помага за по-доброто качество. Заедно с това са положени и усилия да се намали дефектът ghosting при движещите се обекти. Въпреки това, данните от предният кадър не винаги са напълно релевантни спрямо текущият, така при големи нива на скалиране е неизбежно да има загуба на информация и намаляване на рязкостта на изображението. По тази причина все още се прилага и изострящия филтър CAS, силата на който би следвало да може да се регулира.

Недостатъците на FSR 2.0 спрямо FSR 1.0 са, че поради нуждата да се обработват повече и по-разнообразни данни, логично, алгоритъмът, който се използва, е доста по-сложен и съответно заема повече изчислителна мощност, която иначе би могла да отиде за генериране на изображението. Още повече, че от AMD са го реализирали без използването на ИИ алгоритми и независим от наличието на ускорители за тази цел, така че цялата тежест пада върху стандартните изчислителни ресурси на чипа. Заедно с това интегрирането му в графичният енджин не е толкова лесно колкото при FSR 1.0. Но пък този начин на работа, предполага възможност за изпълнение върху широк набор от хардуер, включително и някои от предходните поколения.

Режими на FSR 1.0

Стандартно за FSR 2.0 са налични 3 нива на скалиране – Quality (1,5х скалиране по всяка от осите или ефективно 2,25х повече пиксели), Balanced (1,7х скалиране на ос или 2,89х повече пиксели) и Performance (2х скалиране на ос или 4х повече пиксели). Опционално обаче е наличен и Ultra Performance вариант, който скалира с коефициент 3х (9х пиксели). За сравнение, при FSR 1.0 липсва Ultra Performance, но се предлага опцията Ultra Quality (1,3х скалиране на ос или 1,69х пиксели). По-големият изчислителен разход на новият алгоритъм обаче вероятно прави неефектна тази опция от гледна точна на прираста на производителността.

Режими на FSR 2.0

В голяма степен FSR2.0 повтаря предимствата и недостатъците на DLSS 2.0+ (повече за DLSS може да намерите в тази статия), като основната разлика е, че докато DLSS използва предварително обучена невронна мрежа за реализация технологията, която се ускорява от тензорните процесори в чиповете на NVidia, FSR2.0 използва ръчно оптимизирани алгоритми, работещи върху стандартните шейдерни процесори на графичният чип, което предполага че може да има малко по-ниска ефективност от гледна точка на повишение на производителността, за сметка на драстично по-широка използваемост.

4 КОМЕНТАРИ

  1. TAA+CAS има най-добро качество на картината и без да се замислям го слагам над DLSS2 и FSR2
    DLSS2 има голяма загуба на детайли в текстурите при портата при голям зум, а камиона е някакво размазано петно. FSR2 със сигурност е по-добър от DLSS2, но в различните игри и двете се представят различно. Конкретно в тази FSR2 се справя по-добре.
    Това е моето мнение като гледам само ultra quality за всеки тип скалиране.
    Разбира се FSR2 позволява много по-висока кадрова честота и при TAA+CAS 1080p и FSR2 1440p или 4k резултата ще бъде най-вероятно в полза на FSR2

  2. FSR изглежда като аниме филтър :) Аз личбо не мога да го гледам. Има прекакено много блър + шарпен + блър.

ВАШИЯТ КОМЕНТАР

Моля, въведете коментар!
Моля, въведете името си тук