Datos Identificativos 2020/21
Asignatura (*) Rendemento e Optimización de Videoxogos Código 730529018
Titulación
Máster Universitario en Deseño, Desenvolvemento e Comercialización de Videoxogos
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 2º cuadrimestre
Primeiro Optativa 3
Idioma
Castelán
Galego
Modalidade docente Híbrida
Prerrequisitos
Departamento Electrónica e Sistemas
Enxeñaría de Computadores
Coordinación
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
Descrición xeral 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 continxencia 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 do título
Código Competencias do título
A8 CE08 - Coñecer os fundamentos da xeración de gráficos por computador
A24 CE24 - Coñecer a arquitectura e o funcionamento interno de motores de videoxogos e ter a capacidade de programalos
A25 CE25 - Analizar, avaliar e optimizar o rendemento dun videoxogo
B1 CB6 - Posuír e comprender coñecementos que acheguen unha base ou oportunidade de ser orixinais no desenvolvemento e/ou aplicación de ideas, a miúdo nun contexto de investigación
B2 CB7 - Que os estudantes saiban aplicar os coñecementos adquiridos e a súa capacidade de resolución de problemas en contornas novas ou pouco coñecidos dentro de contextos máis amplos (ou multidisciplinares) relacionados coa súa área de estudo
B3 CB8 - Que os estudantes sexan capaces de integrar coñecementos e enfrontarse á complexidade de formular xuízos a partir dunha información que, sendo incompleta ou limitada, inclúa reflexións sobre as responsabilidades sociais e éticas vinculadas á aplicación dos seus coñecementos e xuízos
B4 CB9 - Que os estudantes saiban comunicar as súas conclusións e os coñecementos e razóns últimas que as sustentan a públicos especializados e non especializados dun modo claro e sen ambigüidades
B5 CB10 - Que os estudantes posúan as habilidades de aprendizaxe que lles permitan continuar estudando dun modo que haberá de ser en gran medida autodirigido ou autónomo
B6 CG1 - Capacidade de organización e planificación, especialmente na formulación de traballos conducentes á creación dos contidos audiovisuais dixitais que compoñen un videoxogo
B7 CG2 - Capacidade de resolver problemas de forma efectiva, principalmente de carácter tecnolóxico e no campo da creación de contidos dixitais interactivos
B8 CG3 - Coñecementos informáticos, en especial os relativos ao uso de tecnoloxías e programas de última xeración no campo de estudo
B10 CG5 - Valorar críticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas con que deben enfrontarse
B13 CG8 - Capacidade de aplicar os coñecementos na práctica, integrando as diferentes partes do programa, relacionándoas e agrupándoas no desenvolvemento de produtos complexos
C3 CT3 - Habilidade para a xestión da información
C4 CT4 - Capacidade de abstracción, análise, síntese e estruturación da información e as ideas
C7 CT7 - Comprender e valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico na profesión e no avance socioeconómico e cultural da sociedade
C8 CT8 - Coñecemento e utilización das novas tecnoloxías necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias do título
Coñecer as principais características da plataforma hardware sobre a que se executa un videoxogo AP8
BP8
BP10
CP3
CP4
CP8
Coñecer a estrutura software dun videoxogo e dun motor de videoxogos AP8
AP24
BP6
BP8
BP10
BP13
CP3
CP4
CP8
Coñecer os aspectos máis importantes á hora de analizar o rendemento dun videoxogo e como detectar os seus principais colos de botella AP8
AP24
AP25
BP1
BP2
BP3
BP4
BP5
BP6
BP7
BP13
CP3
CP4
CP7
Aprender a optimizar un videoxogo para mellorar o seu rendemento nunha determinada plataforma AP8
AP24
AP25
BP6
BP7
BP10
BP13
CP3
CP4

Contidos
Temas Subtemas
Introdución: Motivación e perspectiva global 1. Motivación
2. Rendemento dun videoxogo: introdución
3. Rendemento en Unreal Engine: Profiling
Arquitectura dun motor de videoxogos 1. Introdución
2. Estrutura e funcionamento básico dun videoxogo
3. O bucle principal do xogo (game loop)
CPU Profiling 1. Introdución á optimización en CPU
2. Profiling da CPU en Unreal Engine
3. Optimizando o rendemento da CPU
4. Profiling con Intel Vtune Amplifier
5. Rendemento do sistema de almacenamento secundario (disco)
Gráficos 3D Interactivos. Fundamentos 1. Introdución
2. Real-time rendering: conceptos básicos
3. Instanciación
4. Culling
5. Luces e sombras
6. Pases de render
GPU Profiling 1. Introdución á optimización en GPU
2. Profiling da GPU en Unreal Engine
3. Optimizando o rendemento da GPU
4. Vista de optimización en Unreal Engine (optimization view modes)

Planificación
Metodoloxías / probas Competencias Horas presenciais Horas non presenciais / traballo autónomo Horas totais
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
Proba mixta A8 A24 A25 B3 B4 B7 B8 B10 C3 1.5 0 1.5
Sesión maxistral A8 A25 B1 B3 B8 B10 C7 9 4 13
 
Atención personalizada 1 0 1
 
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado

Metodoloxías
Metodoloxías Descrición
Prácticas de laboratorio Sesións experimentais que permitan ao alumno familiarizarse desde un punto de vista práctico cos contidos expostos nas clases teóricas. Inclúe tanto tarefas dirixidas como outras orientadas a ser resoltas de forma autónoma polo estudante.
Proba mixta Proba na que o alumno ten que amosar que adquiriu as competencias propias da materia a través da resposta a preguntas teóricas e da resolución de problemas.
Sesión maxistral Clases teóricas, nas que se expón o contido de cada tema. O alumno disporá de todo o material preciso con anterioridade á clase e o profesor promoverá unha actitude activa, realizando preguntas que permitan clarexar aspectos concretos e deixando cuestións abertas para a reflexión do alumno.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Descrición
A atención personalizada estará garantida na realización das prácticas de laboratorio, sendo imprescindible para dirixir ao estudante no desenvolvemento do seu traballo. Esta atención personalizada serve, ademais, para validar e avaliar o traballo realizado polo estudante nas distintas fases do seu desenvolvemento, ata a súa finalización.

Estudantes con matrícula a tempo parcial e con dispensa académica de exención de docencia: deberanse poñer en contacto cos profesores da materia para establecer as medidas de atención personalizada específicas.

Avaliación
Metodoloxías Competencias Descrición Cualificació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, nos que o alumno ten que empregar os coñecementos adquiridos para resolver distintos problemas de forma autónoma. 70
Proba mixta A8 A24 A25 B3 B4 B7 B8 B10 C3 Proba na que o alumno ten que amosar que adquiriu as competencias propias da materia mediante a reposta a preguntas teóricas e a resolución de problemas. 30
 
Observacións avaliación

Estudantes con matrícula a tempo parcial e con dispensa académica de exención de docencia: deberanse poñer en contacto co profesorado da materia para posibilitar a realización das tarefas avaliables fóra da organización habitual da mesma

Os criterios de avaliación para a segunda oportunidade son os mesmos que para a primeira.


Fontes de información
Bibliografía 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
Da documentación en liña oficial de UE4 é relevante especialmente o capítulo adicado a Rendemento e Optimización, pero o resto da documentación tamén é imprescindible para entender moitos dos aspectos implementados no motor e as distintas posibilidades que ofrece.
Bibliografía complementaria 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
Inclúense estes catro libros como bibliografía complementaria.

Os tres primeiros son específicos do desenvolvementos de videoxogos e teñen unha parte do seu contido adicada a aspectos de depuración, profiling e rendemento.

O cuarto libro, Hennessy&Patterson, é un clásico da arquitectura de computadores e pode axudar a profundizar en temas de explotación da xerarquía de memoria, multiproceso, etc.

O libro de Robert Nystrom, Game Programming Patterns, está dispoñible en liña de balde aquí: http://gameprogrammingpatterns.com

Recomendacións
Materias que se recomenda ter cursado previamente
Fundamentos de Gráficos por Computador/730529004
Programación para Videoxogos/730529008

Materias que se recomenda cursar simultaneamente
Programación Avanzada para Videoxogos/730529019

Materias que continúan o temario

Observacións
Aínda que as clases desenvolveranse en galego e/ou castelán, o material da materia estará, practicamente na súa totalidade, en inglés.

Para axudar a conseguir unha contorna inmediata sostible e cumprir co obxectivo da acción número 5, «Docencia e investigación saudable e sustentable ambiental e social», do «Plan de Acción Green Campus Ferrol», a entrega dos traballos documentais que se realicen nesta materia:
  • Solicitaranse en formato virtual e/ou soporte informático
  • Realizarase a través de Moodle e/ou correo electrónico, en formato dixital sen necesidade de imprimilos
  • En caso de precisarse algunha entrega en papel:
    • Non se empregarán plásticos
    • Realizaranse impresións a dobre cara
    • Empregarase papel reciclado.
    • Evitarase a impresión de borradores


  • (*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías