Quanta energia extra é necessária para um jogo 3D estereoscópico?

12

Se usarmos o Cryengine 3 para o desenvolvimento de jogos e tornar o jogo compatível com 3D. Como o 3D envia duas fotos, isso significa que você precisa de um computador com o dobro da "potência"? Então, se você conseguir 30 qps ao jogar normalmente, precisará de 60 qps para jogar em 3D?

Tourrent
fonte

Respostas:

1

Em resumo, sim, você precisará gerar 60fps para ter o efeito de 30fps.

SD021
fonte
1
Estou confuso sobre esta resposta ser a resposta "aceita", dadas as duas respostas aparentemente contraditórias também aqui.
precisa saber é o seguinte
2
Não sei por que essa é a resposta aceita, pois é factualmente incorreta.
precisa
16

Você não perde metade do seu desempenho ao ativar o 3D estéreo. A lógica dos jogos, IA, física e tudo o que a CPU faz ainda é executada apenas uma vez. Somente a renderização é feita duas vezes, e isso é eficiente, porque a placa possui tudo na memória para o que cada segundo quadro será, portanto, não usa largura de banda adicional.

A única situação em que isso será verdade é se você tiver uma cena 3D estática realmente complicada com a GPU fazendo tudo e a CPU parada. E mesmo assim duvido que seja uma queda de 50% no desempenho

Eu testei muitos jogos com a nvidia 3d stereo e nenhum jogo caiu quase 50% do desempenho.

AttackingHobo
fonte
9

Especialmente com o CryEngine 3, isso não é verdade. Sim, reduz pela metade a taxa de quadros, mas ativar o 3D não custa metade dos seus quadros (ou você precisa de energia dobrada no hardware). Eles usam um cache de reprojeção e o buffer de profundidade disponível para obter a segunda imagem; portanto, a queda de desempenho é de 5 a 10% ao ativar o 3D. Eles chamam isso de "Estéreo de re-projeção de espaço na tela".

Enrico
fonte
1
Sim, mas não é estéreo completo.
Samboush 28/08/10
Eles mencionam isso em um comentário de desenvolvedor de jogos em algum lugar, mas não conseguem encontrar o link no momento.
David Young
@samboush: Por que isso não é "estéreo completo"? Funciona com a Nvidia 3D Vision e os óculos estéreo comuns.
Enrico
@Enrico: Se você possui uma tela com profundidade, conhece as coordenadas reais de cada pixel. Então você pode contar o deslocamento da cena normal para o olho esquerdo e direito. Mas o estéreo 3D real é que você desenha duas cenas - primeiro para o olho esquerdo e o segundo para o olho direito. Duas cenas completas. Depois, leva 2 vezes mais tempo para desenhar.
Samboush
Por que você deseja recriar completamente cada um deles com um pequeno deslocamento para a Renderização estéreo, quando você já possui essas informações? A maioria dos pixels calculados estará correta no cache de reprojeção, sem necessidade de recalculá-los. Aqueles que mudam são naturalmente recalculados - e pronto, você tem estéreo completo.
Enrico
1

Eu diria que não é insignificante. É um problema de recursos de hardware e um desafio de desenvolvimento.

Na maioria das vezes você não pode dividir a taxa de quadros entre os dois olhos; se o seu jogo costuma rodar a 60fps, você precisa rodar a 120fps para o mesmo conforto visual.

No entanto, muitas coisas podem ser feitas apenas uma vez por par estéreo: seleção de frustum - ao custo de um frustum um pouco maior (consulte Configuração das câmeras 3D na otimização para criar jogos 3D estereoscópicos no PlayStation® ), seleção de oclusão e vértice e carregamentos de matriz de índice, capturas de cenas e renderizações para texturizar ...

Partes da cena podem ser renderizadas apenas uma vez: por exemplo, um céu complexo com nuvens, estrelas etc. geralmente estará no infinito; portanto, o custo do pixel shader é necessário apenas uma vez e a segunda renderização pode ser uma simples pesquisa de textura no o primeiro destino de renderização. Na verdade, alguns jogos estéreo usam um método chamado reprojeção que se baseia nessa abordagem para torná-la viável para toda a cena: veja este tópico no beyond3d para obter dicas sobre essa técnica.

Para lidar com o poder de processamento extra necessário, você pode reduzir a resolução. Pela minha experiência pessoal, é muito mais aceitável fazê-lo do que reduzir a taxa de quadros. Porém, não tente desativar o anti-aliasing: como dizem os engenheiros da Sony no documento acima, a renderização para buffers de baixa resolução com AA parece melhor do que buffers de alta resolução sem AA .

Observe que existem outras abordagens para a estereovisão em jogos que não precisam de uma TV 3D, como o Trioviz . Porém, não posso entrar em detalhes aqui (questões da NDA).

sam hocevar
fonte