Datos Identificativos 2020/21
Asignatura (*) Rendimiento y Optimización de Videojuegos Código 730529018
Titulación
Máster Universitario en Deseño, Desenvolvemento e Comercialización de Videoxogos
Descriptores Ciclo Periodo Curso Tipo Créditos
Máster Oficial 2º cuatrimestre
Primero Optativa 3
Idioma
Castellano
Gallego
Modalidad docente Híbrida
Prerrequisitos
Departamento Electrónica e Sistemas
Enxeñaría de Computadores
Coordinador/a
Padron Gonzalez, Emilio Jose
Correo electrónico
emilio.padron@udc.es
Profesorado
Andrade Canosa, Diego
Padron Gonzalez, Emilio Jose
Correo electrónico
diego.andrade@udc.es
emilio.padron@udc.es
Web
Descripción general O obxectivo desta matera é familiarizar ao alumnado cos aspectos relacionados co rendemento dun videoxogo, e coas principais tarefas de «profiling» e optimización necesarias para acadalo.
Plan de contingencia 1. Modificacións nos contidos

- Non

2. Metodoloxías
*Metodoloxías docentes que se manteñen

- As tres metodoloxías docentes que se empregan nesta materia se manteñen, pero pasando dunha modalidade docente «híbrida» a unha modalidade «Non presencial»

*Metodoloxías docentes que se modifican

- Ningunha, só se modifica a modalidade docente na que se imparten: híbrida -> non presencial.

3. Mecanismos de atención personalizada ao alumnado

- Os mesmos, simplemente restrinxindo a comunicacións co alumnado ao correo electrónico e a ferramenta Teams da UDC.

4. Modificacións na avaliación

- Ningunha, a avaliación desta materia xa se está a facer en liña para as probas síncronas.

*Observacións de avaliación:

5. Modificacións da bibliografía ou webgrafía

- Ningunha

Competencias del título
Código Competencias del título
A8 CE08 - Conocer los fundamentos de la generación de gráficos por computador
A24 CE24 - Conocer la arquitectura y el funcionamiento interno de motores de videojuegos y tener la capacidad de programarlos
A25 CE25 - Analizar, evaluar y optimizar el rendimiento de un videojuego
B1 CB6 - Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación
B2 CB7 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio
B3 CB8 - Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios
B4 CB9 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades
B5 CB10 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo
B6 CG1 - Capacidad de organización y planificación, especialmente en el planteamiento de trabajos conducentes a la creación de los contenidos audiovisuales digitales que componen un videojuego
B7 CG2 - Capacidad de resolver problemas de forma efectiva, principalmente de carácter tecnológico y en el campo de la creación de contenidos digitales interactivos
B8 CG3 - Conocimientos informáticos, en especial los relativos al uso de tecnologías y programas de última generación en el campo de estudio
B10 CG5 - Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con que deben enfrentarse
B13 CG8 - Capacidad de aplicar los conocimientos en la práctica, integrando las diferentes partes del programa, relacionándolas y agrupándolas en el desarrollo de productos complejos
C3 CT3 - Habilidad para a gestión de la información
C4 CT4 - Capacidad de abstracción, análisis, síntesis y estructuración de la información y las ideas
C7 CT7 - Comprender y valorar la importancia que tiene la investigación, la innovación y el desarrollo tecnológico en la profesión y en el avance socioeconómico y cultural de la sociedad
C8 CT8 - Conocimiento y utilización de las nuevas tecnologías necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida

Resultados de aprendizaje
Resultados de aprendizaje Competencias del título
Conocer las principales características de la plataforma hardware sobre la que se ejecuta un videojuego AP8
BP8
BP10
CP3
CP4
CP8
Conocer la estructura software de un videojuego y de un motor de videojuegos AP8
AP24
BP6
BP8
BP10
BP13
CP3
CP4
CP8
Conocer los aspectos más importantes a la hora de analizar el rendimiento de un videojuego y cómo detectar sus principales cuellos de botella AP8
AP24
AP25
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP13
CP3
CP4
CP7
Aprender a optimizar un videojuego para mejorar su rendimiento en una determinada plataforma AP8
AP24
AP25
BP6
BP7
BP10
BP13
CP3
CP4

Contenidos
Tema Subtema
Introducción: Motivación y perspectiva global 1. Motivación
2. Rendimiento de un videojuego: introducción
3. Rendimiento en Unreal Engine: Profiling
Arquitectura de un motor de videojuegos 1. Introducción
2. Estructura y funcionamiento básico de un videojuego
3. El bucle principal del juego (game loop)
CPU Profiling 1. Introducción a la optimización en CPU
2. Profiling de la CPU en Unreal Engine
3. Optimizando el rendimiento de la CPU
4. Profiling con Intel Vtune Amplifier
5. Rendimiento del sistema de almacenamiento secundario (disco)
Gráficos 3D Interactivos. Fundamentos 1. Introducción
2. Real-time rendering: conceptos básicos
3. Instanciación
4. Culling
5. Luces y sombras
6. Pases de render
GPU Profiling 1. Introducción a la optimización en GPU
2. Profiling de la GPU en Unreal Engine
3. Optimizando el rendimiento de la GPU
4. Vista de optimización en Unreal Engine (optimization view modes)

Planificación
Metodologías / pruebas Competéncias Horas presenciales Horas no presenciales / trabajo autónomo Horas totales
Prácticas de laboratorio A8 A24 A25 B1 B2 B3 B4 B5 B6 B7 B8 B10 B13 C3 C4 C7 C8 9.5 50 59.5
Prueba mixta A8 A24 A25 B3 B4 B7 B8 B10 C3 1.5 0 1.5
Sesión magistral A8 A25 B1 B3 B8 B10 C7 9 4 13
 
Atención personalizada 1 0 1
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Prácticas de laboratorio Sesiones experimentales que permitan al alumno familiarizarse desde un punto de vista práctico cn los contenidos expuestos en las clases teóricas. Incluye tanto tareas dirigidas como otras orientadas a ser resueltas de forma autónoma por el estudiante.
Prueba mixta Prueba en la que el alumno tiene que mostrar haber adquirido las competencias propias de la asignatura a través de la respuesta a preguntas teóricas y de la resolución de problemas.
Sesión magistral Clases teóricas, en las que se expone el contenido de cada tema. El alumno dispondrá de todo el material necesario con anterioridad a la clase, y el profesor promoverá una actitud activa, realizando preguntas que permitan aclarar aspectos concretos y dejando cuestiones abiertas para la reflexión del estudiante.

Atención personalizada
Metodologías
Prácticas de laboratorio
Descripción
La atención personalizada estará garantizada en la realización de las prácticas de laboratorio, siendo imprescindible para dirigir al estudiante en el desarrollo de su trabajo. Esta atención personalizada sirve, además, para validar y evaluar el trabajo realizado por el estudiante en las distintas fases de su desarrollo, hasta su finalización.

Estudiantes con matrícula a tiempo parcial y con dispensa académica de exención de docencia: deberán ponerse en contacto con los profesores de la asignatura para establecer las medidas de atención personalizada específicas.

Evaluación
Metodologías Competéncias Descripción Calificación
Prácticas de laboratorio A8 A24 A25 B1 B2 B3 B4 B5 B6 B7 B8 B10 B13 C3 C4 C7 C8 Realización de prácticas, en las que el alumno tiene que emplear los conocimientos adquiridos para resolver distintos problemas de forma autónoma. 70
Prueba mixta A8 A24 A25 B3 B4 B7 B8 B10 C3 Prueba en la que el alumno tiene que mostrar haber adquirido las competencias propias de la asignatura mediante la repuesta a preguntas teóricas y la resolución de problemas. 30
 
Observaciones evaluación

Estudiantes con matrícula a tiempo parcial y con dispensa académica de exención de docencia: deberan ponerse en contacto con el profesorado de la materia para posibilitar la realización de las tareas evaluables fuera de la organización habitual de la misma


Fuentes de información
Básica Joey de Vries (Kendall & Welling, 2020). Learn OpenGL: Learn modern OpenGL graphics programming in a step-by-step fashion. https://learnopengl.com
T. Akenine-Möller, E. Haines, N. Hoffman, A. Pesce, M. Iwanicki, and S. Hillaire (A K Peters/CRC Press, 2018). Real-Time Rendering (4th Ed.). http://www.realtimerendering.com
Oscar Swierad (Self publishing, 2018). Unreal Art Optimization. https://unrealartoptimization.github.io
Documentación en liña do motor Unreal Engine (). Unreal Engine doc: Engine Features->Performance and Profiling. https://docs.unrealengine.com/en-US/Engine/Performance

De la documentación en línea oficial de UE4 es relevante especialmente el capítulo dedicado a Rendimiento y Optimización, pero el resto de la documentación también es imprescindible para entender muchos de los aspectos implementados en el motor y sus distintas posibilidades.

Complementária John L. Hennessy, David A. Patterson (2017). Computer Architecture: A Quantitative Approach (6th Edition). Morgan Kaufmann
Mike McShaffry, David Graham (2012). Game Coding Complete (4th Edition). Cengage Learning PTR
Jason Gregory (2014). Game Engine Architecture (2nd Edition). A K Peters/CRC Press
Robert Nystrom (2014). Game Programming Patterns. Genever Benning
Se incluyen estos cuatro libros como bibliografía complementaria.

Los tres primeros son específicos del desarrollo de videojuegos y tienen una parte de su contenido dedicada a aspectos de depuración, profiling y rendemento.

El cuarto libro, Hennessy&Patterson, es un clásico de la arquitectura de computadores y puede ayudar a profundizar en temas de explotación de la jerarquía de memoria, multiproceso, etc.

El libro de Robert Nystrom, Game Programming Patterns, está disponible en línea de forma gratuita aquí: http://gameprogrammingpatterns.com

Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Fundamentos de Gráficos por Computador/730529004
Programación para Videojuegos/730529008

Asignaturas que se recomienda cursar simultáneamente
Programación Avanzada para Videojuegos/730529019

Asignaturas que continúan el temario

Otros comentarios

Aunque las clases se desarrollarán en gallego y/o castellano, el material de la asignatura estará, prácticamente en su totalidad, en inglés.


Para ayudar a conseguir un entorno inmediato sostenible y cumplir con el objetivo de la acción número 5, «Docencia e investigación saludable y sustentable ambiental y social», del «Plan de Acción Green Campus Ferrol», la entrega de los trabajos documentales que se realicen en esta materia:
  • Se solicitarán en formato virtual y/o soporte informático
  • Se realizará a través de Moodle y/o correo electrónico, en formato digital sin necesidad de imprimirlos
  • En caso de ser necesaria alguna entrega en papel:
    • No se emplearán plásticos
    • Se realizarán impresiones a doble cara
    • Se empleará papel reciclado.
    • Se evitará la impresión de borradores

    Se debe de hacer un uso sostenible de los recursos e impulsar la prevención de impactos negativos sobre el medio natural.



  • (*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías