NVIDIA DLSS do jeito certo

Source: Deep Learning on Medium

NVIDIA DLSS do jeito certo

Entenda! Fazer um conteúdo elogioso é difícil para gente. Não apenas na questão da raridade de casos em que realmente haja algo para elogiar, como também porque estabelecemos diversos critérios objetivos e subjetivos para trazer material de qualidade para vocês.

Subjetivamente, consideramos sempre que as pessoas têm percepções diferentes, realidades financeiras múltiplas e inclusive foco em interesses distintos. Objetivamente, criamos alicerces que são um padrão entre os critérios subjetivos, permitindo que consigamos estabelecer situações que quaisquer pessoas, dentro dos espectros subjetivos mais variados consigam perceber a mesma coisa como vantajosa.

Quer um exemplo para descomplicar? Imagine que você tem uma técnica que permita melhorar ligeiramente a imagem, acrescentando nitidez e luminosidade, ao mesmo tempo que maximiza a performance em um valor comparado a um salto geracional. Mesmo considerando os muitos interesses, realidades financeiras e percepções das pessoas, ninguém — absolutamente ninguém — vai reclamar de mais performance com melhora de imagem, né? E quando isso acontece, descobrimos aí um critério objetivo, que tem como principal característica não ser alterado conforme muda a pessoa que vê. Você pode perceber ou não a melhoria de imagem (critério subjetivo) mas vai perceber a melhoria de performance (critério objetivo).

E baseado nessa análise objetiva do DLSS implementado pela NVIDIA no Wolfenstein Youngblood, basicamente de maneira inédita, iremos ter que elogiar, com vigor, essa nova fase da técnica de super sampling pioneira da NVIDIA.

DLSS

Fomos a mídia mais combativa e crítica ao DLSS. Mostramos, pontuamos, criticamos e até zoamos, dissemos que era algo que a NVIDIA deveria esquecer. E hoje, cá estamos para fazer o devido reparo diante do que vimos no jogo da Bethesda. Demorou para ser implementado. Era uma promessa desde o seu lançamento e só chegou agora, seis meses após o lançamento do game. Mas a espera foi valiosa.

Para quem não sabe, o DLSS é uma técnica que visa aprimorar a qualidade de imagem com uso de inteligência artificial. Num pipeline normal, a sua placa de vídeo teria que fazer uso de técnicas para suavização de bordas das mais variadas formas e, portanto, sempre com perda de performance, já que parte do tempo da GPU seria usada para essa suavização em vez de outras coisas ou em vez de entregar logo o frame. Com o DLSS, os Tensor Cores auxiliam a GPU a fazer o trabalho de suavização, baseado nas inferências que foram feitas nos computadores da NVIDIA e que são processadas via Tensor Cores.

O jogo passa a ser renderizado numa resolução mais baixa e os pixels que faltavam para recompor a resolução são preenchidos pelos tensor cores. Se a resolução é mais baixa, a placa rende mais, porém, como os tensor cores vão saber quais pixels colocar para que você não perca qualidade de imagem baixando a resolução?! Baseando-se no aprendizado que os supercomputadores da NVIDIA fazem.

Afinal, nós, seres humanos, conseguimos estabelecer padrões em comportamentos inicialmente aleatórios e depois de um tempo, usamos isso em nosso favor para economizar tempo, certo? Conseguimos olhar para uma obra de Pablo Picasso e reconhecer seu estilo, mesmo às vezes sem saber exatamente o que o torna único, mas obviamente conseguimos reconhecê-lo. É até estranho, mas é.

Um exemplo interessante são as fórmulas matemáticas para determinar áreas de diversas geometrias. Essas fórmulas foram descobertas porque alguém reconheceu um padrão em uma geometria e resumiu os cálculos a uma sentença. Isso economiza tempo.

Para todos os efeitos, o que acontece é que agora, as placas da NVIDIA têm um segmento separado na GPU exclusivamente para fazer isso. Enquanto que numa situação normal, a GPU teria que fazer o frame e o AA, deixando os tensor desligados, agora pode fazer só o frame e os Tensor Cores ajudam no AA, reconhecendo os padrões dos frames dos jogos e inserindo pixels onde não tem sem perda na qualidade de imagem.

E o mais interessante! Como toda inteligência, artificial ou não (rs), ela aprende cada vez mais com o tempo. E hoje, o NVIDIA DLSS sequer precisa aprender um jogo específico. Já houve tanta informação passada dentro dos computadores da NVIDIA, com tantos jogos diferentes que a IA sequer precisa aprender as características peculiares de cada jogo. Ela já sabe, basicamente como que um frame se comporta de maneira padrão. Como?! Acho que nem a NVIDIA sabe responder. Afinal, quem aprendeu isso foi a IA.

O avanço ao longo do tempo dessa IA é demonstrada pelas diferentes qualidades que o DLSS apresentou ao longo dessa geração. Em BFV, logo no início, era terrível! Imagem borrada, artefatos, evidenciando uma “incompetência” da IA em replicar os pixels corretos. Em Metro, melhorou, mas aparentemente adiciona nitidez demais e descaracterizava a imagem. Em Control, já fica bem semelhante a imagem original, com rendimento bem melhor, o que acaba já se caracterizando uma puta evolução. Hoje, em Wolfenstein Youngblood, não apenas temos o maior ganho de performance que já vi em uma implementação de DLSS como a imagem com DLSS no modo QUALIDADE reproduz uma imagem melhor que a imagem original do game.

Pensa comigo: melhor imagem com ganhos de 30%?! Parece propaganda enganosa né?! Mas felizmente não é.