Hi, I'm Jon Moore, I'm a graphics engineer, Iron Galaxy Studios and
today we're talking about Optimization in 3D Video Games.
The idea being this will just be a quick introduction to get
you pointed in the right direction.
It's actually a topic that can take hours, days, years to really delve
into all of the details of different ways you can make modern software run fast.
And the motivation here is that engine programmers might spend more
than half of their time working on optimizing a video game.
Because it's very important when you work on video game consoles that you're able to
do this.
Or else your video games from year to year are never going to look any better,
because the hardware's not going to get better.
You will make your game run faster in order to keep pushing the limits of what
you can do.
Your artists are going to want to render more trees, more characters,
more explosions, whatever the case might be.
If you want more content, you need Bill to do it.
And the other reason I want to talk about it is that I've seen young developers
struggle with it in the past.
It would be difficult to really start to wrap your head around this topic when
you're first starting out.
And the goal here is that you need your game to be able to run in
16.6 milliseconds for a 60 hertz game.
Or 33.3 milliseconds for a 30 hertz game or
30 frames per second as the case may be.
In order to be what's known as interactive frame rates.
If you go lower than that, your players are going to start to notice
the experience becomes choppy, it'll be harder to have the competitive game.
If it's multiplayer, it's very important that you try to stay interactive
frame times as often as possible.
And before you get started with making your video game run faster,
you need to do some things in preparation.
The first one and possibly the most important, is that you
needed to have performance counters that let you know if you're running slow.
It can be difficult to tell right away if you have a problem and
where the problem is.
So being able to have a display that tells you how long it
takes to run your video game for a given frame.
Can let you hunt down, hey, this box fight is much slower than the rest of
our game and we need to do something about it.
And once you have slowdowns identified,
you need to start taking more detailed captures with some more advanced tools.
That you're probably not going to want content developer or a tester to work on.
Go on and have an engineer take a look and say,
hey animation, or physics or rendering, this is where our slowdown is.
And we need a plan of attack to identify why we're spending half of our
frame time working on this bottleneck.