¿Cuáles son los mejores recursos en el diseño y desarrollo de juegos o motores de juegos multiproceso?

44

¿Cuáles son los mejores recursos en el diseño y desarrollo de juegos o motores de juegos multiproceso? Como esto es obviamente hacia dónde se dirigen las computadoras, tengo la intención de estudiar este tema y me gustaría saber qué recursos y ejemplos existen.

Ricket
fuente
Estoy votando para cerrar esta pregunta como fuera de tema porque no admitimos preguntas que soliciten recursos.
Gnemlock
@Gnemlock Me alegra que lo hayas atrapado a tiempo. No quisiera una pregunta fuera de tema persistente aquí.
Ricket

Respuestas:

24

La serie Don't Dread Threads de Intel es bastante buena. Tiene 3 partes, los conceptos básicos están cubiertos en los primeros 1.5 de ellos.

Resumen de lo que se cubrió en el primer 1.5:

Evitar la descomposición funcional

ingrese la descripción de la imagen aquí

En primer lugar, desalientan el uso de la descomposición funcional. La descomposición funcional es solo "poner la IA en un hilo, poner el audio en otro hilo, poner los gráficos en el 3er hilo"

Así que ese tipo de aspecto es así

ingrese la descripción de la imagen aquí

Entonces eso es malo ™. En su lugar, desea utilizar la descomposición de datos .

Usar descomposición de datos

La descomposición de datos significa que cortas todo en tu juego en pequeñas tareas alcanzables. Generas x hilos, digamos 4, y luego para cada uno de esos 4 hilos continuamente toman una tarea de la pila de tareas y trabajan en ella hasta que terminan.

ingrese la descripción de la imagen aquí

Es como un grupo de personas comiendo una pizza. Todos toman una rebanada hasta que la pizza esté lista.

ingrese la descripción de la imagen aquí

Por supuesto, ahora tengo hambre.

bobobobo
fuente
5

Aquí hay una publicación de blog que proporciona un ejemplo práctico en la gestión de tareas . Asume algunos conocimientos sobre el diseño de motores paralelos de su parte, pero aún puede encontrarlo útil como 'lectura avanzada'.

Koarl
fuente
1

Creo que debería considerar un enfoque basado en tareas o trabajos.

Game Engine Gems tiene 2 o 3 artículos sobre el tema.

Ha habido un par de presentaciones sobre el tema en diferentes conferencias, etc.

Por ejemplo, "Futuros paralelos de un motor de juego" de Johan Andersson

También eche un vistazo a la Bóveda de GDC: hay una serie de presentaciones y videos completos sobre el tema en la sección gratuita. http://www.gdcvault.com/

PD. No se pudieron publicar más enlaces directos por ser un nuevo usuario. ds.

Andreas
fuente
0

El libro Game Engine Architecture también tiene algunas informaciones sobre cómo diseñar un motor de juego con soporte para subprocesos múltiples.

Quonux
fuente