There’s always that game that’s hesitant to perform as expected on newer hardware, whether it’s resolution, frame rate, or a mix of the two. And not because it’s a technical marvel, but because it has a terrible optimization when it comes to the use of hardware resources, especially the GPU.
Why are there poorly optimized games?
There are many reasons why some video games are poorly optimized and GPU overused, although it is not more a hardware issue but a software issue and the way it uses the hardware. Often times, just because a program’s code works does not mean that it is well written and therefore correct, resulting in performance issues although it does not work.
In other words, there are games that seemingly work perfectly, but use hardware resources very poorly. The most common causes that lead to it? Mainly three, which we’ll tell you about below.
Lack of use of optimization tools
Performance indicators are a type of tool used in development. These programs indicate the level of hardware usage while the game is running. Allow optimization by reducing the workload in the parts of the GPU where they are saturated on the one hand, and on the other hand by giving the possibility of using even more parts with less load.
When AMD and NVIDIA release new drivers with optimized profiles, what they are actually doing is adjusting the in-game graphics options to the most appropriate options for each of the graphics cards for optimization. But this is not done with the old games but with the newer ones. The reason is easily understood, they want to take advantage of the “Momentum” of each game to sell their graphics cards today.
Using optimization tools is important to get the most out of your games, but in some cases they’re relatively new and we can find older games without these optimizations and with bottlenecks in parts of the graphics pipeline that prevent them from scaling properly.
Games originally optimized for console, not PC
Current consoles, with the exception of the Nintendo Switch, are based on the same technology as the PC, so unlike what happened years ago when a conversion to PC required a lot of code rewriting. . To date, a good chunk of PC games are ported from the console with almost no optimization.
The thing is made worse when you consider that Microsoft with its consoles, Xbox Series S and Xbox Series X, uses the same API as on PC, DirectX 12 Ultimate. Which means none of the three platforms benefit from hardware at the same level, as it doesn’t allow specific code optimizations on PCs and consoles.
On the other hand, we have cases in which games, being direct ports of the console version, optimized for AMD, end up performing worse than expected on graphics cards with NVIDIA GPUs. Especially for optimizing the code of shader programs that the GPU runs.
Prizes, another cause of poorly optimized games
One of the factors common to many poorly optimized games has to do with CPU ↔ GPU communication, for this we must specify that these are “bundles”. You have to understand that a GPU really does more than follow the orders that the CPU generates through a series of command lists. All graphics engines used by games generate these screen lists, which tell the GPU how to render things on screen.
For better optimization, it is better to minimize the amount of sending to the GPU, this is done by creating lists of screens with a sufficient number of things to do. If the screen lists are short and therefore the number of “batches” sent is very small, then the GPU will spend a good deal of waiting for new things to be done, which will lead to downtime and poor use of resources. of this material.
The “batches” are also not the lists of screens, but also the data which is copied from storage to RAM and from RAM to VRAM. While copying, VRAM cannot be used by GPU unless there are multiple memory channels, thus limiting performance.