Identifying Data 2018/19
Subject (*) Video Game Performance and Optimization Code 730529018
Study programme
Máster Universitario en Deseño, Desenvolvemento e Comercialización de Videoxogos
Descriptors Cycle Period Year Type Credits
Official Master's Degree 2nd four-month period
First Optional 3
Language
Spanish
Galician
Teaching method Face-to-face
Prerequisites
Department Electrónica e Sistemas
Enxeñaría de Computadores
Coordinador
Padron Gonzalez, Emilio Jose
E-mail
emilio.padron@udc.es
Lecturers
Andrade Canosa, Diego
Padron Gonzalez, Emilio Jose
E-mail
diego.andrade@udc.es
emilio.padron@udc.es
Web
General description 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.

Study programme competencies
Code Study programme competences
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

Learning aims
Learning outcomes Study programme competences
Coñecer as principais características da plataforma hardware sobre a que se executa un videoxogo AJ8
BJ8
BJ10
CJ3
CJ4
CJ8
Coñecer a estrutura software dun videoxogo e dun motor de videoxogos AJ8
AJ24
BJ6
BJ8
BJ10
BJ13
CJ3
CJ4
CJ8
Coñecer os aspectos máis importantes á hora de analizar o rendemento dun videoxogo e como detectar os seus principais colos de botella AJ8
AJ24
AJ25
BJ1
BJ2
BJ3
BJ4
BJ5
BJ6
BJ7
BJ13
CJ3
CJ4
CJ7
Aprender a optimizar un videoxogo para mellorar o seu rendemento nunha determinada plataforma AJ8
AJ24
AJ25
BJ6
BJ7
BJ10
BJ13
CJ3
CJ4

Contents
Topic Sub-topic
Introdución 1. Fundamentos da organización e arquitectura dun computador
2. Estrutura e funcionamento básico dun videoxogo
3. Caracterización do rendemento dun videoxogo e principais métricas de rendemento
Análise e optimización do rendemento dun videoxogo 1. CPU
1.1 Explotación eficiente da xerarquía de memoria
1.2 Explotación eficiente das arquitecturas multinúcleo
2. GPU
2.1 Uso eficiente do pipeline de rendering
2.2 Uso eficiente da memoria da tarxeta gráfica
2.3 As transferencias CPU-GPU
2.4 Costes de efectos visuais
3. Profiling con Unreal Engine
4. Optimizando en Unreal Engine
5. Outras optimizacións software

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Laboratory practice A8 A24 A25 B1 B2 B3 B4 B5 B6 B7 B8 B10 B13 C3 C4 C7 C8 12.5 50 62.5
Mixed objective/subjective test A8 A24 A25 B3 B4 B7 B8 B10 C3 1.5 0 1.5
Guest lecture / keynote speech A25 A8 B1 B3 B8 B10 C7 10 0 10
 
Personalized attention 1 0 1
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Laboratory practice 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.
Mixed objective/subjective test 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.
Guest lecture / keynote speech 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.

Personalized attention
Methodologies
Laboratory practice
Description
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.

Assessment
Methodologies Competencies Description Qualification
Laboratory practice 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
Mixed objective/subjective test 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
 
Assessment comments

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.


Sources of information
Basic 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

Como bibliografía básica incluímos unicamente a documentación oficial do motor Unreal Engine, na parte adicada a rendemento e profiling.

Complementary 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

Recommendations
Subjects that it is recommended to have taken before
Computer Graphics Fundamentals/730529004
Video Game Programming/730529008

Subjects that are recommended to be taken simultaneously
Advanced Video Game Programming/730529019

Subjects that continue the syllabus

Other comments
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

    Débese facer un uso sostible dos recursos e impulsar a prevención de impactos negativos sobre o medio natural.



  • (*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.