¿Es posible crear motores de juego basados ​​casi por completo en GPU? En caso afirmativo, pros y contras por favor. ¿Qué distribución entre CPU y GPU tenemos hoy?

Esta es una pregunta interesante, porque AMD y Nvidia están un poco en desacuerdo con los desarrolladores de juegos en este caso. Todo está en los motores de física . Se han creado una serie de motores de física general para GPU, pero los desarrolladores de juegos generalmente prefieren construir los suyos, personalizados para su juego. Y esos dependen en gran medida de la CPU, no de la GPU.

El factor decisivo parece ser lo que hace el trabajo con un mínimo esfuerzo de programación y es portátil, no necesariamente cuál es el mejor rendimiento o tiene más sentido para la arquitectura. El ejemplo que generalmente les digo a las personas que ilustren esto es Angry Birds. Angry Birds está construido con Box3D, un motor de física con una precisión de una parte en 16 millones (datos de coma flotante de 32 bits). Ahora, cuando tira de la honda hacia atrás y la suelta, ¿cuál cree que es su precisión? ¿Una parte en 200? ¿Una parte en 1000? Reconocer que la falta de necesidad de una precisión tan fantástica podría haber hecho que la batería de su teléfono celular o tableta juegue más tiempo con Angry Birds, pero bueno, Box3D funciona. El juego es jugable.

Cuando se anuncian nuevas GPU con más ancho de banda, más operaciones máximas por segundo, circuitos más especializados para mapas de textura o teselación o lo que sea, siempre se ejecutan a través de los puntos de referencia utilizando los videojuegos populares actuales. Aproximadamente la mitad del tiempo, no importa que la GPU sea más poderosa, o casi no hay diferencia … porque el juego está limitado por la CPU de todos modos, y la GPU ya es lo suficientemente rápida como para procesar fotogramas por segundo.

El juego interesante se basa en pruebas condicionales : operaciones de computadora de la forma “Si esto, entonces haz eso”. Si los polígonos para la espada se cruzan con los polígonos para la pared del castillo, genera chispas y haz que la espada rebote en la pared del castillo, por ejemplo. Hacer eso a 60 cuadros por segundo es muy desafiante, porque significa verificar cada posible colisión de objetos del conjunto de objetos en movimiento. Las GPU no hacen bien las pruebas condicionales. Son ideales para la operación paralela en línea de montaje. Las pruebas condicionales son lo que las CPU comen en el desayuno, con predicción de ramas y subprocesos de exploración y ranuras de retraso y otros trucos para que sean rápidos en tales cosas.

Por lo tanto, siempre necesitaremos una CPU para hacer mucho trabajo para un motor de juego. La buena noticia es que los proveedores como AMD (esto puede sonar como un enchufe descarado pero no lo es; no tengo vínculos financieros con ellos en este momento) tienen chips que integran la GPU en la CPU con tanta fuerza que realmente no importa mucho qué tipo de arquitectura hace el trabajo. Si ha usado una PlayStation 4, una Wii U o una Xbox 1, ha usado un chip de juego AMD que tiene la GPU integrada con una CPU de tipo x86, cada uno haciendo lo que es mejor.

Una mejor pregunta es: ¿por qué tenemos tanto GPU como CPU? o: ¿por qué las GPU no se pueden programar de la misma manera que las CPU?

La mayoría del sistema operativo y el código de la aplicación son elementos seriales antiguos que necesitan una ejecución lineal rápida, lo que hacen las CPU, pero las CPU no son lo suficientemente rápidas para los gráficos; Las GPU son motores canalizados de procesamiento en paralelo que lo hacen mucho mejor. Las arquitecturas de GPU no tienen soporte para memoria virtual o grandes cachés que son (generalmente) necesarios para el sistema operativo y el código de la aplicación.

Si soluciona el problema de programación, es mucho más fácil mezclar los tipos de procesadores que tiene y simplemente asignarlos a las tareas según sea necesario.

More Interesting

¿Cuáles son 10 cosas básicas que todos los usuarios de computadoras deberían saber y que normalmente no saben?

¿Debo comprar una computadora ahora o esperar a Windows 8?

Cómo forzar al juego a usar una tarjeta gráfica dedicada

Cómo escribir una solicitud para una supercomputadora

¿Qué servidores son los mejores para diferentes propósitos?

Cómo hacer tu propio 'motor' para un navegador como en Gecko es Firefox, Opera solía ser Presto pero ahora parpadea como Chrome, entonces, ¿cómo se crean ya que nadie crea uno solo? Solo existen tres ahora a menos que cuentes con Opera viejo presto sigue trabajando

No se detecta batería en mi computadora portátil. Tengo dos computadoras portátiles idénticas con dos baterías separadas, una computadora portátil no reconoce ninguna batería (incluso en la configuración del BIOS) mientras que la otra computadora portátil reconoce ambas baterías. ¿Algunas ideas?

¿Vale la pena comprar el portátil Asus X541UA-DM 846D?

¿Qué es una carcasa de torre súper completa ATX?

¿Cuánta diferencia hay entre las diferentes versiones del procesador Core i7?

¿Cuál es la mejor computadora portátil que podría comprar por debajo de 50000?

Soy estudiante de primer año de ingeniería informática. ¿Vale la pena comprar una computadora portátil Dell Inspiron 15R 5521 (tercera generación Ci7 / 8GB / 1TB / Windows 8 / 2GB graph / touch)?

¿Qué sucede cuando tengo monitores conectados a la GPU e iGPU al mismo tiempo?

¿Qué cosas hay en la placa base?

¿Por qué las computadoras usan código binario en lugar de morse? ¿No serían más rápidos ya que habría menos código?