what does it mean for a video game to be optimised to run on a particular set of hardware?

122 views

The question comes from comments I’ve read regarding games like ‘Gotham Knights’ and ‘Plague Tale Requiem’ where people are saying the game could have run at higher FPS than it does on PS5 or XBX if it was properly optimised for the consoles.

In: 15

5 Answers

Anonymous 0 Comments

#ELI5

*(This is an analogy, not precise!)*

Every platform has an instruction set. The instruction set includes things like:

* Draw a box
* Draw a circle
* Draw a line
* Change the color of this dot, etc….

The game itself (ex: Gotham Knights) knows each platform, and each platform’s instruction set. The game tells the platform “Draw a Line” to draw a line from one point to another.

So different platforms have different instructions that do the same thing (draw a line), and a single game knows how to call those instructions on each platform.

But let’s say that the Nintendo Switch has an extra instruction, called “Draw A Line Super Duper Fast”.

Some games don’t bother with that instruction. The game says, “Just call the normal Draw-a-Line function, the same way you do it on all other platforms”.

That game doesn’t even bother to check if there’s a “Draw a Line Super Duper Fast” instruction in the first place!

So the line still gets drawn, but more slowly than it could have been drawn.

**OPTIMIZING for a specific platform means the game designer took extra special care to look for platform-specific ways to make the game run faster or look better.**

Does that help?

Anonymous 0 Comments

It means they should tweak the game so it runs well on that hardware. This could include things like reducing the number of unnecessary background objects, or the quality of the objects, or changing the screen resolution.

It *can* also mean internal changes to process data in a way that’s more efficient on that CPU, but that’s less common. Most commonly it does mean turning down the graphics quality.

It means they think the developers made the game do more intense stuff than what the hardware can actually do well.

Anonymous 0 Comments

A lot of hardware has advanced feature sets, I will use a non-gaming example. If you want to compress a video file from one format to another, you can submit that job to the CPU and wait many hours. Or, you could use an NVIDIA card (or an intel one) that has specific hardware for encoding/decoding .265 format. The CPU can do the job, but it wasn’t designed to do it. It is general purpose. The NVIDIA card has hardware that will do that specific job, hardware is always faster than software.

What these people are saying is that the consoles might have hardware technologies that those games could utilize had they been designed to take advantage of them. I am not sure if it is total BS for those games but that is the general idea behind those statements. PS5 has made an interface specifically to do *something* the game could take advantage of, but they weren’t programmed that way so you are leaving performance on the table.

It can be a cheap argument because it isn’t just quite that simple. Hardware and software are often released with walled off capabilities because they haven’t fully tested it. So from the game developer they know they can run the game one way, but they may not be confident that they can run the game taking advantage of new PS5 *whatevertechnology*.

We see this in MS flight sim, they enabled a different (supposedly better) anti-aliasing technology that takes advantage of some advanced features of the video card and in VR it looks like poop smear.

Anonymous 0 Comments

Analogy:

How do people multiply two numbers? Well there’s a bunch of different methods you can use. You might have that particular multiplication problem memorized, so you just remember the answer. You might do the long multiplication method. You might do repeated addition. You might turn the problem into a difference of squares problem and do it that way instead (for very specific problems where that’s easier).

They all get the right answer, but may take different amounts of time depending on the method and person, and some people (like kids who haven’t learned long multiplication) might not be able to do some methods. Additionally, some multiplications (like pi times e) can’t be done with some methods (like repeated addition).

Computer hardware has a similar thing where different actions may have different ways to accomplish them that may be more or less general and take more or less time, and different sets of hardware may be able to do only some methods.

End of analogy.

When writing a program, you usually ignore all of this and just tell the hardware what tasks to do to get the job done and let another program worry about the details of interacting with the hardware. But if you really care about speed and know what hardware you have, you can look at all of the different ways the hardware can do what you want to do and see what is fastest on that hardware. Sometimes you can come up with weird tricks that use specific quirks of the hardware to get more speed, too. If you do these for a lot of things your program does, the small speed differences can really add up.

Video games in particular have a few more broad things that can be adjusted based on the hardware like frame rate and resolution. If a specific console can only ever output at a certain resolution, then there’s no point doing all of the work to render the game at a higher resolution only to throw most of that work out. Instead you could simplify the process right from the start and do a fraction of the work for the same result. A similar process applies to frame rate: why rush to process a frame in a 120th of a second if you can only output a frame every 30th of a second? Take your time and make those fewer frames look good.

Anonymous 0 Comments

this is not really an answer to your question, but more of an explanation as to why they are frame capped (I didn’t know that a plagues tale was though!)

The Gothham knight developers decided to apply ray tracing on consoles with no option to turn it off. This is extremely intensive, even for high end desktop gpus

They found that 60fps was not reachable at 4k on the PS5 and Xbox series X, so just locked the frames to 30fps instead

IMHO they should have had the option for performance mode to turn off ray tracing

To answer your question, developers know the exact hardware that is in a console so know what it is good at and not so good at e.g it might have a faster cpu but slower memory for example

They can program their game to use the hardware strengths and mitigate the Weaknesses. It is more complex than this but this is the simple version

An interesting example was the original crash bandicoot on the playstation one. The developers managed to more memory than was originally intended for developers to use(or this is how I understand it anyway. I am no developer)

https://arstechnica.com/gaming/2021/09/war-stories-how-crash-bandicoot-hacked-the-original-playstation/