In regards to gaming, what is “optimization”?

274 views

If consoles are just glorified PCs now, how is it that a game designed for PS5 or X-Box Series X alone better than one that is designed to be cross platform?

In: 19

14 Answers

Anonymous 0 Comments

They aren’t just glorified PCs. They are very similar to PCs in some ways, but each console has different hardware and graphics chips that have unique features.

One that is designed to be cross platform only uses the features that are either common to all platforms, or ones that the compiler (the software that turns their text based code into a program to run) can automatically figure out how to use effectively.

If the game is optimized with a particular piece of hardware in mind it can use it to its full potential (if the programmers are good). But the downside is porting it to another platform becomes a lot more work.

Anonymous 0 Comments

It is a process used to make sure the software (game) will run in its environment (hardware/operating system/etc.) in an optimal fashion.

Consoles aren’t just glorified PCs. There are substantial differences between PCs and consoles, and between the different consoles. The user will get the best performance from games optimized for a particular system.

Anonymous 0 Comments

Multiple ways:

* Every time you draw a different object with different “settings,” (reflectivity amount, textures, etc.) you have to do something called a “draw call.” The more draw calls, the slower things run, so 3D artists will merge multiple objects into one, and programmers will figure out ways to “batch,” things together so you can draw a scene using fewer draw calls. This usually makes things messy (especially on the 3D art side) so it’s done as late as possible in development.
* In the middle of development things are very fluid, so you often don’t know what objects are going to be seen from what angles, and the player’s intended path through a level might change on a whim. As the game starts to solidify towards the end however, developers can go in and remove unseen detail, as well as put loading and level transitions in certain areas where you won’t notice them which helps cut down on memory since smaller chunks are loaded at once.
* There’s also the basic programming stuff, such as processing data once and then caching it (once again, easier later in development once you know exactly when and where data will be needed) and trying to balance memory VS. performance based on what you need more of in that moment. Like 3D art, this can sometime mean making the code messier and less modifiable for the sake of saving a few operations here and there.

In short though, optimization is basically just “whatever needs to be done,” and can be be millions of different things.

Anonymous 0 Comments

Games need to do a few things very quickly:

* Determine where the player is
* Fetch the world state from the network, if required
* Determine if any physics objects or other objects have been impacted
* Determine if any AI behaviors or game code needs to run
* Load and play sounds
* Load and draw textures and models

Years ago you had the game running all of this in a simple loop. In the age of multi core processors, you write individual small programs, called threads, and have each core run one thread at a time. This requires precise timing, because if something doesn’t finish when it’s time to draw the next frame (in 16 milliseconds for 60 fps) you get stuttering.

When developers are optimizing their games, they use a tool known as a profiler to analyze how long code takes to run and what, if anything, is causing it to run slowly.

It’s much easier to do this on a console where the hardware is always exactly the same and there’s nothing running in the background taking up precious time. There are also a few optimizations – for example the PS5 has decompression hardware built into the storage. PCs don’t have that hardware, which is why The Last of Us’s PC port had poor performance and was maxing out CPUs, they can’t decompress as quickly or efficiently as dedicated hardware.

Here’s a great talk on Spider-Man and how tight some of that timing is: https://youtu.be/KDhKyIZd3O8

Anonymous 0 Comments

More efficient hardware calls and software blocks to reduce latency, more modular coding and resource priority to reduce ram, etc

Anonymous 0 Comments

Optimizing just means doing things in the most efficient or effective way.

A PC, an XBOX, and a Playstation have a lot in common, and also a lot of differences. The more work the developers put into making optimal differences for each platform, the more well suited the final result will be for the platform.

Think about how the graphic settings you use to run an intense PC game on your PC may be different than the ones I use on my PC. We have both separately found an optimal solution for our hardware. Conceptually this is what it means when a game is optimized for different platforms. They’re making similar changes with a very high degree of complexity and intricacy.

Anonymous 0 Comments

A PC is designed to do many different things from search the internet to watch movies to play games to do work. A console is designed to play games and that’s it. Modern consoles have some bonus features like watching movies, but those are afterthoughts. Thus, consoles are better suited for games because that’s their main purpose, just like a Uhaul is better suited for moving personal belongings than your average car.

Another thing that’s particularly important here is that the games themselves are developed specifically to run on the console’s hardware. This allows them to optimize for performance much more than on PC, because they know exactly what hardware they will be running on, and so they can write all of the code for their game in a way that best takes advantage of the strengths and features of that hardware. Compare this to PC games, which need to contend with such questions as: “What operating system am I running on?” “How much RAM do I have?” “Do I have access to a graphics card and what model?” It makes it way harder to design the code to run well in every possible environment.

Anonymous 0 Comments

Generally optimising simply means trying to get the same result with less resources, in computing those resources will mostly be compute time or memory storage.

But if you’re specifically talking about optimisation of consoles vs PC’s then what’s happening is that the overall optimisation problem for a console is simpler than the one for PC’s.

Any given PC could be built with a wide variety of different components, of varying capabilities and ages, so when trying to optimise a PC game you need to consider all those possibilities, whereas on a console you know exactly what the hardware it will have, and what resources are going to be available, so you can focus more on optimising the game and less on optimising the compatibility.

Anonymous 0 Comments

Optimization is the process in which a game is made to run more smoothly. It is an umbrella terms but in general, it means to improve loading times, frames per seconds. Responses to input and rendering output of other sources in game.

This could be via clever coding or simply having more ram. Reducing textures quality or having less models on screen at any given time. It is a very long and difficult process since most gains are marginal and it takes many Optimizations to make it run significantly better

A bit beyond the questions but There is no way ps5 or Xbox is anywhere near a glorified PC. PCs are significantly different. U can not do office work on a ps5 for example.
If anything consoles are specialized gaming devices. But due to one console being more or less exactly the same they can optimize easier because they know the system limits. Pc are harder because each pc could be very different

Anonymous 0 Comments

There’s a famous saying in software engineering: “Make it work, make it right, make it fast”. Optimisation is, basically, the “make it fast” step. Get all the performance you can out of it.

Some of the optimisation work is more or less universal: Do the least work possible (don’t repeat work, don’t do work you don’t need to), and be as efficient as possible with the work you do end up doing.

When you talk about “optimised for XBox/PS5” stuff, it’s a bit different. PCs come in a wide variety of hardware configurations (all sorts of graphics cards, processors, memory) so you account for all of those things. On the console front, you have only two versions of the Xbox Series X/S, and one version of the PS5. That means you can account for their precise performance characteristics.

Is your CPU sitting idle while the GPU is going full throttle while struggling to keep up? Perhaps you can move some of the work from the GPU to the CPU. Is your CPU working hard while your RAM is unused? Maybe pre-calculate a bunch of stuff and store it in RAM so you can reuse it instead of recalculating it every frame. That sort of thing.

[This talk](https://www.youtube.com/watch?v=KDhKyIZd3O8) by one of the guys at Insomniac talks _a lot_ about optimisation in the Spiderman game for the PS4. It’s pretty technical, but it should still give you a good idea of what optimisation work looks like.