01-08-2017, 10:24 PM
O stutter acontece mais quando o jogo fica abusando da TEV.
Pra explicar essa jossa direito, os ""Shaders"" do gamecube e Wii são uma lista de 16 comandos fixos bem primitivos que são aplicados em cada pixel desenhado pelo aparelho, e isso apesar de limitar o que dá pra fazer por passada no gamecube/Wii, permite que você troque BEM rapidamente o shader.
O que o dolphin normalmente fazia era pegar essa combinação de 16 comandos que o jogo usou, converter pra um programa de pixel shader moderno, colocar um id unico nele e bem, ficar usando o codigo moderno toda vez que o jogo pede.
Mas enquanto a maioria dos jogos não usa uma tonelada deles rapidamente a ponto de fazer o compilador engasgar, metroid prime não é "a maioria deles".
Metroid prime é cruel, terrível e gera MUITAS combinações de TEV.
Agora o que esses ubershaders é, é um shader gigantesco que emula a TEV inteira ao invés de emular uma combinação especifica, e é por isso que é bem pesadão.
Mas no modo hibrido, o dolphin só usa os ubershaders pra renderizar as combinações de TEV que ainda não foram compiladas pra shader moderno, e o compilador roda numa thread separada que não bloqueia a emulação.
Pra explicar essa jossa direito, os ""Shaders"" do gamecube e Wii são uma lista de 16 comandos fixos bem primitivos que são aplicados em cada pixel desenhado pelo aparelho, e isso apesar de limitar o que dá pra fazer por passada no gamecube/Wii, permite que você troque BEM rapidamente o shader.
O que o dolphin normalmente fazia era pegar essa combinação de 16 comandos que o jogo usou, converter pra um programa de pixel shader moderno, colocar um id unico nele e bem, ficar usando o codigo moderno toda vez que o jogo pede.
Mas enquanto a maioria dos jogos não usa uma tonelada deles rapidamente a ponto de fazer o compilador engasgar, metroid prime não é "a maioria deles".
Metroid prime é cruel, terrível e gera MUITAS combinações de TEV.
Agora o que esses ubershaders é, é um shader gigantesco que emula a TEV inteira ao invés de emular uma combinação especifica, e é por isso que é bem pesadão.
Mas no modo hibrido, o dolphin só usa os ubershaders pra renderizar as combinações de TEV que ainda não foram compiladas pra shader moderno, e o compilador roda numa thread separada que não bloqueia a emulação.