13-04-2018, 08:37 PM
DK TF parece que está bem jogável, mas não está 100%. Se der uma configurada específica para ele, pelo visto melhora bastante.
Thx! Valeu pela explicação. Ninja Gaiden por exemplo não compensa a queda de quadros, quanto maior a queda, vai ficando em slowmotion. Tem jogo com fps bem menor que não desacelera.
Agora o Demon's Souls acho que já começa estranho por ser bem lento mesmo, vi uns vídeos no PS3 e ele é lentão, mas de fato aconteceram alguns slowdowns aqui e ali que não observei queda de quadros, mas no último teste que fiz me pareceu praticamente 100% e só vai melhorando conforme o shader cache é construído. No início trava bastante mas depois vai ficando tranquilo.
Z80a escreveu: (10-04-2018, 05:30 AM)Esse é um assunto chato de simplificar, mas vejamos :3
Geralmente o que acontece num console é que tem essa "interrupção" que sempre ocorre 60 vezes por segundo (o tal do vsync/vblank).
Isso é, a CPU para de executar o que tava executando, e salta pra um ponto do programa pra avisar seu jogo de que a televisão terminou de desenhar a imagem e esta "rebobinando pro alto".
Um jogo geralmente usa esse timing pra "construir o próximo quadro", isso é, calcular a física, capturar o controle, trocar as notas da musica, desenhar os gráficos etc..
Idealmente o jogo vai lá, faz tudo que ele tem pra fazer relevante a aquele quadro e ai bota a CPU pra dormir, esperando o próximo "trem" vir.
Mas se tudo leva tempo demais, a "CPU perde o trem" e você tem queda de frame, e até slowdown se o jogo não compensar de alguma forma.
O Cell executa 53 milhões de ciclos por segundo, rodando muitas, muitas instruções a cada um desses ciclos, mas apenas dando o numero pra explicar as intrincarias de se emular.
Geralmente o que o emulador faz é vai lá, executa os 53 milhões de ciclos, e ai desenha a imagem e calcula um trecho do audio, mas se ele não consegue executar os 53 milhões de ciclos a tempo, o audio quebra, porque não tem dados suficiente pra manter musica continua.
Jogos 2D emulados geralmente pedem uma CPU mais leve porque se o emulador tem se quer um pingo de inteligencia, ele é capaz de detectar que a CPU "dormiu", e simplesmente pular a execução de todos os outros ciclos já que nada acontece feijoada mesmo durante eles, então mesmo que o seu PC leve o dobro do tempo pra executar as poucas instruções que o jogo 2D usa, ele ainda pega o onibus a tempo :3
Agora no seu exemplo de 150% da velocidade sem quebra, o que acontece, é que no console real, o jogo fica "perdendo o onibus do vblank" por causa do codigo exigir mais do que os 53 milhões de ciclos ou mais comumente ficar sendo atrasado pela GPU e perdendo o onibus no processo, mas a GPU do seu PC é bem mais rapida, ai o jogo não se atrasa :3
E por fim, no caso do "slowdown mesmo com o jogo rodando a 30 FPS", é que o emulador por alguma razão esta rodando menos do que 53 milhões de instruções por quadro, fazendo a CPU emulada ser mais lenta do que a real, e o jogo emulado "perder o onibus" mais frequentemente do que no hardware real.
Nesse caso não dá pau no audio porque no PS3 tem um monte de CPUs e a CPU que esta se atrasando não é a mesma que toca o audio.
Thx! Valeu pela explicação. Ninja Gaiden por exemplo não compensa a queda de quadros, quanto maior a queda, vai ficando em slowmotion. Tem jogo com fps bem menor que não desacelera.
Agora o Demon's Souls acho que já começa estranho por ser bem lento mesmo, vi uns vídeos no PS3 e ele é lentão, mas de fato aconteceram alguns slowdowns aqui e ali que não observei queda de quadros, mas no último teste que fiz me pareceu praticamente 100% e só vai melhorando conforme o shader cache é construído. No início trava bastante mas depois vai ficando tranquilo.