The Ultimate Guide to Video Game Optimisation
- Descrição
- Currículo
- FAQ
- Revisões
What do you think optimisation of a game project is? Do you think it’s writing really efficient code or getting your game to run as fast as possible? Is it a task you do days before release or from the very start? Not sure where to start? Well, this course is for you.
Designed for INTERMEDIATE level Unity and C# students, the content within will forge you into an optimization expert. Without even thinking, you’ll be pulling up the Unity profiler and investigating CPU and GPU bottlenecks like a pro. You’ll find hints and tips on improving the performance of your game starting with the script and moving onto art assets and finally physics. There are plenty of hands-on exercises designed to give you skills in forensic debugging that will be valuable to you far into the future.
This course uses Unity 2020.2 or 2020.3 but is also compatible with Unity 6.
You will learn about:
-
Performance Budgets
-
The Unity Profiler
-
C# Optimisation Tricks for the Unity API
-
Art asset optimisation settings
-
Audio file usage and settings
-
Tips and tricks for getting more from the Unity Physics system
What people are saying about Penny’s courses:
-
A great and engaging course that teaches you a lot about the Unity Profiler which is key to optimising the games. It is a valuable skill that people look for. It’s in a tutorial format which is my preferred method of learning.
-
Allow me to say how hugely important this is for a person who is interested in certain types of game design. Creating games where you can create AI behaviors that support emergent situations.
-
I honestly love Holistic’s teaching approach and I’ve never learned so much within a few hours about coding effectively with such detailed explanations!
This course focuses on developing student skills in identifying and solving performance issues in their game development projects. By the end, they will find the use of the Unity Profiler second nature and be able to identify many CPU and GPU bottlenecks in their’s and other’s Unity projects.
-
1IntroductionVídeo Aula
In this video students will gain an overview of the course contents.
-
2Join the H3D Student CommunityVídeo Aula
H3D has a bustling online student community. Here's how to get involved.
-
3Contacting H3DTexto
How to contact us
-
4FAQsTexto
Here's how to get the best experience from studying this course and answers to some popular student questions.
-
5Updating to Unity 6Vídeo Aula
While this course was developed in a previous version of Unity, we've tested the projects and they work with Unity 6. This video is a guide to help you adjust your learning in this course to use Unity 6.
-
6The Deep EndVídeo Aula
In this lecture the teacher will challenge the students to a optimisation task.
-
7What do you think optimisation is?Vídeo Aula
In this lecture students will be asked to consider how they approached the exercise in the last lecture and reflect on what they came up with as a solution.
-
8What is Optimisation?Vídeo Aula
In this lecture students will gain an understanding of what optimisation is and how important it is to always be considered part of a project.
-
9What is a Frame?Vídeo Aula
In this video students will learn how a frame is defined and how to work with frames per second and milliseconds to define them. They will also discover the role that the CPU, GPU and VSync play in determining frame rate.
-
10The Performance BudgetVídeo Aula
In this video students will learn what goes into the creation of a performance budget and the items they must consider right from the start of their game project.
-
11Introducing The Unity ProfilerVídeo Aula
In this lecture students will be introduced to the Unity Profiler and taught how to connect it with development builds as well as how to get it up and running.
-
12Profiler MarkersVídeo Aula
In this lecture students will take a closer look at the hierarchy view in the profiler to identify where their code is running.
-
13GPU Performance ProfileVídeo Aula
In this lecture students will learn where to find the performance markers for the GPU.
-
14How to Get a ComponentVídeo Aula
In this lecture students will develop a strategy to test different versions of API calls to determine the one that gives the best performance.
-
15Experimenting with Method Performance AssignmentVídeo Aula
In this lecture students will be challenged to use the skills they've learnt thus far to test the performance of other lines of code.
-
16Caching instead of Dynamic FindsVídeo Aula
In this lecture students will learn what it means to cache values at the beginning of code to use later in updates to reduce expensive method calls.
-
17Cache Optimising ChallengeVídeo Aula
In this lecture students will be challenged to test their understanding of caching.
-
18Update Script ExperimentationVídeo Aula
In this lecture students will learn how to question if one method of coding is more optimised than another and trial the code out to check for performance metrics.
-
19Using Coroutines for AI BehaviourVídeo Aula
In this lecture students will learn how to use Coroutines to increase performance when running AI behaviour script.
-
20Taking Out the GarbageVídeo Aula
In this lecture students will gain an understanding of what garbage collection is and how it affects the performance of their projects.
-
21Making GarbageVídeo Aula
In this lecture students will force the creation of garbage to see how it effects memory cleanup.
-
22Null TestingVídeo Aula
In this lecture students will learn that even testing for a null game object can effect performance.
-
23Avoiding Strings as IDsVídeo Aula
In this lecture students will learn about the costs in performance incurred by using strings.
-
24Strings With Animators and ShadersVídeo Aula
In this lecture students will examine two specific cases in the Unity API that allow the use of integer values over strings and how to implement these for the best performance.
-
25Is a String Better than a Shader Property ID?Vídeo Aula
In this lecture students will discover if the performance optimisation strategies they applied to the challenge were correct.
-
26Tag or CompareTagVídeo Aula
In this lecture students will discover which method of comparing a game object's tag is more efficient and why.
-
27Singletons and Statics Part 1Vídeo Aula
In this lecture students will learn how to create a static class and use it in place of an actual singleton.
-
28Singletons and Statics Part 2Vídeo Aula
In this lecture students will learn how to turn a global management class into a pure singleton.
-
29Use Appropriate Data Structures Part 1Vídeo Aula
In this lecture students will begin performance testing with Arrays, Dictionaries, Lists and HashSets in order to determine which one is better based on their use.
-
30Use Appropriate Data Structures Part 2Vídeo Aula
In this lecture students will discover how different container data structures perform in searching and removing items.
-
31Object PoolingVídeo Aula
In this lecture students will learn how to create a very simple object pool.
-
32Object Pool ChallengeVídeo Aula
In this lecture students will learn how to repurpose the object pool for different game objects.
-
33Structs Versus Classes Part 1Vídeo Aula
In this lecture students will discover the difference in performance between using structures and classes.
-
34Structs Versus Classes Part 2Vídeo Aula
In this lecture students will investigate uses of structures that don't help improve performance.
-
35Disabling Scripts by Visibility and DistanceVídeo Aula
In this lecture students will learn how to use visibility and distance to enable and disable scripts to optimise performance when many NPCs are in the game world.
-
36The Frame DebuggerVídeo Aula
In this lecture we will take a quick look at the frame debugger in the profiler and how you can quickly identify one common performance affecting setting.
-
37The Rendering PipelineVídeo Aula
In this lecture students will get an overview of the render pipeline and the processes that occur within it.
-
38Unity's Render PipelinesVídeo Aula
In this video Unity's different rendering pipelines will be explained and the difference between forward and deferred lighting discussed.
-
39DrawcallsVídeo Aula
In this lecture students will learn about drawcalls and begin investigating the things that game objects and properties that cause them.
-
40Improving Drawcalls Through BatchingVídeo Aula
In this lecture students will learn how GPU Instancing and Batching can improve on a games graphics performance.
-
41Texture AtlasesVídeo Aula
In this lecture students will learn how UV values and texture atlases work and try them out with respect to a cube filled world.
-
42Combining MeshesVídeo Aula
In this lecture students will learn how to combine meshes at runtime to provide better performance.
-
43Dynamic, Static, Combined or Separate?Vídeo Aula
In this lecture students will revisit all the methods covered concerning drawcalls and batching and consider what could be best for their project.
-
44Sprite AtlasesVídeo Aula
In this lecture students will learn how to use the tools in Unity to optimise the use of sprites.
-
45Texels & Mip MapsVídeo Aula
In this lecture students will learn the best way to use mipmaps in their games.
-
46Level of DetailVídeo Aula
In this lecture students will learn how level of detail works and how to set it up in Unity.
-
47LOD Performance TestingVídeo Aula
In this lecture students will test out the performance between using LODs over a single model for rendering at distances.
-
48User Interface Optimisation TricksVídeo Aula
In this lecture students will learn how to optimise the user interface of their game project through understanding how canvases batch and redraw.
-
49The Power of TwoVídeo Aula
In this lecture students will learn why it is important to work with image files with sizes that are powers of 2.
-
50Loading Audio FilesVídeo Aula
In this lecture students will learn about how audio files are loaded, how to control this process and how the size of audio files effects memory usage.
-
51Audio File Tips for PerformanceVídeo Aula
In this lecture students will learn some extra tips for enhancing the performance of audio in their game projects.
-
52Collider TypesVídeo Aula
In this lecture students will learn why different collider types are more efficient than others and experiment with their profiling.
-
53RagdollsVídeo Aula
In this lecture students will learn how to use less colliders in a rag doll to optimise performances as well as a way to introduce layers for even more performance.
-
54Other Physics OptimisationsVídeo Aula
In this lecture students will learn about some extra tweaks they can make to speed up the physics effects in their game projects.
