¿Cuánta potencia adicional se requiere para un juego 3D estereoscópico?

12

Si usamos Cryengine 3 para el desarrollo del juego y hacemos que el juego sea compatible con 3D. Debido a que 3D envía dos imágenes, ¿significará que necesita una computadora con el doble de "potencia"? Entonces, si obtienes 30 fps cuando juegas normalmente, ¿necesitarás 60 fps para jugar con 3D?

Tourrent
fuente

Respuestas:

1

En resumen, sí, tendrá que generar 60 fps para tener el efecto de 30 fps.

SD021
fuente
1
Estoy confundido acerca de que esta respuesta sea la respuesta "aceptada", dadas las dos respuestas aparentemente contradictorias también aquí.
jcurrie33
2
No sé por qué esta es la respuesta aceptada, ya que es objetivamente incorrecta.
AttackingHobo
16

No pierde la mitad de su rendimiento al encender el estéreo 3D. La lógica de los juegos, la IA, la física y todo lo que hace la CPU solo se ejecuta una vez. Solo el renderizado se realiza dos veces, y eso es eficiente, porque la tarjeta tiene todo en memoria para lo que será cada segundo cuadro, por lo que no utiliza ningún ancho de banda adicional.

La única situación en la que esto será cierto es si tuviera una escena 3D estática que fuera realmente complicada con la GPU haciendo todo y la CPU inactiva. E incluso entonces dudo que sea una caída del 50% en el rendimiento

He probado muchos juegos con nvidia 3d stereo, y ningún juego ha caído cerca del 50% de rendimiento.

AttackingHobo
fuente
9

Especialmente con CryEngine 3 esto no es cierto. Sí, reduce a la mitad la velocidad de fotogramas, pero activar 3D no le cuesta la mitad de sus fotogramas (o necesita una potencia de hardware duplicada). Utilizan un caché de reproyección y el búfer de profundidad disponible para obtener la segunda imagen, por lo tanto, la caída del rendimiento es del 5-10% al encender 3D. Ellos llaman a esto "Screen Space Re-Projection Stereo".

Enrico
fuente
1
Sí, pero no es estéreo completo.
samboush
Mencionan esto en un comentario de desarrollador de juegos en alguna parte, no puedo encontrar el enlace en este momento.
David Young el
@samboush: ¿Por qué esto no es "estéreo completo"? Funciona con Nvidia 3D Vision y las gafas estéreo habituales.
Enrico
@Enrico: Si tiene Pantalla con profundidad, conoce las coordenadas reales de cada píxel. Entonces U puede contar el desplazamiento de la escena normal para el ojo izquierdo y derecho. Pero el estéreo 3D real es que dibujas dos escenas: la primera para el ojo izquierdo y la segunda para el ojo derecho. Dos escenas completas. Luego toma 2 veces más tiempo de dibujo.
samboush
¿Por qué desea volver a dibujar completamente cada uno con un ligero desplazamiento para la representación estéreo, cuando ya tiene esta información? La mayoría de los píxeles calculados serán correctos en la memoria caché de reproyección, no es necesario volver a calcularlos. Los que cambian son, por supuesto, recalculados, y listo, tiene estéreo completo.
Enrico
1

Yo diría que no es despreciable en absoluto. Es tanto un problema de recursos de hardware como un desafío de desarrollo.

La mayoría de las veces no puede dividir la velocidad de fotogramas entre los dos ojos; Si su juego generalmente se ejecuta a 60 fps, debe ejecutar a 120 fps para la misma comodidad visual.

Sin embargo, se pueden hacer muchas cosas solo una vez por par estéreo: eliminación del frustum, a costa de un impulso ligeramente mayor (consulte Configuración de cámaras 3D en Optimización para hacer juegos 3D estereoscópicos en PlayStation® ), eliminación de oclusión, vértice e indexar cargas de matrices, capturas de escenas y renderizaciones para texturizar ...

Las partes de la escena se pueden representar solo una vez: por ejemplo, un cielo complejo con nubes, estrellas, etc. generalmente estará en el infinito, por lo que el costo del sombreador de píxeles solo se necesita una vez, y la segunda representación puede ser una simple búsqueda de textura en El primer objetivo de renderizado. En realidad, algunos juegos estéreo utilizan un método llamado reproyección que se basa en este enfoque para que sea viable para toda la escena: vea este hilo en beyond3d para obtener consejos sobre esta técnica.

Para hacer frente a la potencia de procesamiento adicional requerida, puede reducir la resolución. Desde mi experiencia personal, es mucho más aceptable hacerlo que reducir la velocidad de fotogramas. Sin embargo, no intente deshabilitar el suavizado: como dicen los ingenieros de Sony en el documento anterior, renderizar a búferes de baja resolución con AA se ve mejor que los búferes de alta resolución sin AA .

Tenga en cuenta que hay otros enfoques para la estereovisión en juegos que no necesitan un televisor 3D, como Trioviz . Sin embargo, no puedo entrar en detalles aquí (problemas de NDA).

sam hocevar
fuente