Module Descriptors
LOW-LEVEL PLATFORM OPTIMISATION
GDEV60024
Key Facts
Digital, Technology, Innovation and Business
Level 6
20 credits
Contact
Leader: David White
Hours of Study
Scheduled Learning and Teaching Activities: 48
Independent Study Hours: 152
Total Learning Hours: 200
Pattern of Delivery
  • Occurrence A, Stoke Campus, UG Semester 1
Sites
  • Stoke Campus
Assessment
  • BASE PLATFORM APPLICATION weighted at 70%
  • PORTING EXERCISE weighted at 30%
Module Details
INDICATIVE CONTENT
Optimisation and Profiling of programs

Low-level memory monitoring and budgeting

Low-level memory allocation

Memory Pools

Generic parallel processing techniques for C++ (threading)

Parallel processing for Linux

User Level Threading

Game Console Architectures

Parallel processing algorithms

Understanding CPU Caching

Case Studies on optimisation in games

ADDITIONAL ASSESSMENT DETAILS
Assessment Component 1 – (Learning Outcomes 1, 2 and 3)

Base platform application weighted at 70% consisting of:



Continued development of a pre-existing codebase that focuses on optimsation techniques. Specifically centred on memory management (allocation and deallocation), multi-threading and low-level CPU techniques.

Evidence of techniques in relation to optimisation of the codebase in a forum thread.



Assessment Component 2 – (Learning Outcomes 2 and 4)

Porting exercise weighted at 30% consisting of:



In a team, plan and port a pre-existing codebase to an alternative platform and game console. Platform specific optimisation and parallel processing techniques will be used to improve the performance of the application.

Evidence of techniques in relation to optimisation of the codebase in a forum thread.
LEARNING STRATEGIES
2 x 1 hour lectures per week

2 x 2-hour tutorial workshops week

LEARNING OUTCOMES

Module Learning Outcome

1. Demonstrate a systematic understanding of the architecture and characteristics of a range of typical development platforms relevant to the problem of performance and optimisation of code.

University Learning Outcome

Knowledge and Understanding

2. Choose appropriate designs and techniques which optimise and enhance the performance of games-related code.

University Learning Outcome

Application

3. Assess the challenges of developing software suitable for multiple platforms.

University Learning Outcome

Analysis

4. Critically evaluate the techniques used to port software to other platforms.

University Learning Outcome

Communication
RESOURCES
Microsoft Visual Studio

Linux

VMWare (for Linux)

University provided games console development kit (e.g. PS4 SDK)
REFERENCE TEXTS
Video Game Optimization, Eric Preisz and Ben Garney (2010), Course Technology, ISBN: 1598634356

C++ High Performance: Master the art of optimizing the functioning of your C++ code, ISBN 978-1839216541
WEB DESCRIPTOR

Low-level Platform Optimisation provides the essential C++ low-level programming skills required for industry. Although the module is game-oriented, the knowledge applied is fundamental to any C++ programming project which requires optimisation and a fundamental knowledge of the underlying performance. The assessment will also test the ability to search for and apply platform specific techniques when porting an application.