¿Por qué muchos juegos de simulación están vinculados a la CPU?

AI + Game Mechanics -> CPU

Eye Candy -> GPU + algo de CPU para que funcione.

Ahora, sin jugar o probar el juego, nunca puedes estar muy seguro de lo que acaparará primero.

No tanto lo que hace el juego como la forma en que los programadores decidieron implementarlo. Se puede hacer casi cualquier cosa usando solo CPU o solo GPU (con resultados drásticamente diferentes a veces).

Asumiendo que la asignación óptima de tareas informáticas a la CPU / GPU, los juegos intensivos en gráficos y física serán más intensivos en GPU, todo lo demás tiende a hacerse en la CPU.

La CPU generalmente manejará AI y cualquier otra simulación, incluida la física que no está relacionada con la forma en que colisionan los objetos grandes (es decir, las simulaciones climáticas están vinculadas a la CPU).

En términos generales, si parece que el juego tiene muchas actividades “detrás de escena” (IA compleja, muchos cálculos físicos, grandes cantidades de datos interrelacionados, etc.), es probable que en algunos forma u otra (simple o multiproceso).

Civilization V y MINECRAFT son algunos juegos intensivos de CPU.

TLDR:

GPU = muchos núcleos lentos. CPU = algunos núcleos rápidos. Las simulaciones a menudo no se benefician del paralelismo y, por lo tanto, no se ejecutan en la GPU. Las simulaciones a menudo requieren ejecución secuencial y son más adecuadas para la ejecución en una CPU.

Respuesta un poco más profunda:

Las GPU se destacan en tareas altamente paralelas utilizando sus cientos o miles de núcleos. Las CPU tienen menos núcleos pero cada núcleo realiza muchas más instrucciones por segundo que un núcleo de GPU. Esto hace que las CPU se adapten mejor a las cargas de trabajo secuenciales. Muchos tipos de simulación no son paralelizables y tienen que hacerse secuencialmente.

La razón por la cual las simulaciones a menudo requieren una ejecución secuencial es que a menudo se utilizan para predecir cuál será el estado de algún sistema después de que haya pasado x cantidad de tiempo (predecir el futuro). Esto se realiza tomando ecuaciones que describen el comportamiento del sistema en el mundo real y dándoles de comer el estado actual del sistema como entrada. La razón por la que esta carga de trabajo a menudo no es paralelizable es que estas ecuaciones a menudo dependen unas de otras.

Un ejemplo simple es una colisión entre proyectiles de dos puntos.

  1. Dado el vector de velocidad y la masa de cada proyectil, usa algunas ecuaciones (ecuaciones cinemáticas de movimiento si estamos simulando el mundo real) para determinar el punto en el tiempo en que estos objetos colisionan (establezca sus coordenadas espaciales iguales y resuelva el tiempo).
  2. Debido a que las ecuaciones cinemáticas pueden decirnos la velocidad de nuestro objeto en un momento dado, y ahora sabemos nuestro tiempo de colisión, podemos calcular la velocidad a la que van nuestros objetos cuando chocan.
  3. Dado que la velocidad y la masa determinan la energía cinética, ahora tenemos la información que necesitamos para calcular la energía cinética de nuestros objetos en el momento en que colisionan.
  4. Debido a que la dinámica de colisión depende de la energía cinética de los objetos involucrados, solo ahora tenemos la información necesaria para calcular los resultados de la colisión.

Observe cómo cada paso depende del paso anterior. No puedes hacer estos pasos en paralelo. Si esto no fuera cierto, entonces sería posible conocer el estado futuro de algún sistema casi instantáneamente sin esperar a que cada paso finalice de forma independiente y en orden. Sería mágico Las simulaciones realizan el trabajo que el universo generalmente hace por nosotros. Sin embargo, no importa quién haga el trabajo. Siempre hay que hacerlo.

Estoy bastante seguro de que hay una gran razón: la física.

Mire, las texturas 4K y ultra son geniales, pero una GPU no está destinada a calcular todo tipo de gravedad, trayectorias y otras cosas relacionadas con el espacio. Para eso está la CPU. Son partes especializadas, que sirven para diferentes propósitos. Prueba la multitarea extrema con 4 GB de RAM; lo vas a pasar mal Eso es, efectivamente, lo que los juegos basados ​​en física intentan hacer con una CPU Intel Pentium.

Ahora, ¿puede alguien que realmente hace juegos en lugar de solo jugarlos responder esto? Sé de computadoras, pero no fui a la universidad por Ciencias de la Computación.