Getting more out of an old GPU

If you have a 70 and above model of GTX 900/ 10 series GPU (or even a 5700 XT or so from AMD), congratulations! You are one of the few old hardware owners who can still run many latest games at 60 fps albeit with a few tweaks or compromises. Here are a few screenshots from a game released in 2022, running at 1440p 60 fps on a GTX 1070 Ti:

Ghostwire: Tokyo (2022), 1440p, 60 fps (GTX 1070 Ti/ Ryzen 5 4500)

Graphics Evolution

Video game graphics have evolved over the years in two distinct directions. One, the old rasterized image rendering way, where most of the improvements have been on shadows, ambient occlusion, and anti-aliasing. Here, shaders must be compiled whether at runtime or pre-compiled (latter more common at least on titles ported to PC from Playstation recently) for every lighting that can occur in the game, then those shaders would be combined with the textures to render the final image on screen. This has been around since the genesis of video games, with some revolutionary improvements over the years in the form of Physx, Hairworks, and Temporal Anti-Aliasing (TAA). It is a heavily parallelised computation that leverages CUDA cores in NVIDIA GPUs (and compute units on AMD).

The second path of evolution is of ray-tracing, introduced by NVIDIA in 2018 focusing on path-traced lighting, shadows, and reflections. This requires dedicated RT cores which are only available on NVIDIA, with AMD trying its best to compute it with the hardware they have but with limited success. RT, in all its wisdom, is still an NVIDIA thing. However, this did not really create a big impact in gaming, except to showcase tech demos and giving a topic of discussion among hardware enthusiasts who are yet to play at a locked 60 fps with this enabled in most games, irrespective of resolution (excluding super-sampling techniques i.e.), as of today. RT needs to have at least a 20 series card from NVIDIA, like RTX 2080 Super.

Gordon Moore of Intel had predicted that every 18-24 months the amount of transistors in a IC chip will double. In retail hardware, that loosely translated to double the computation every 2 years for the same price. So there is an exponential improvement in graphics processing from 10 years ago. However, the improvements in graphics cards are not exactly double with every generation (mostly 2 years apart), more like 30%, but this also included better power efficiency so Moore’s Law has not been too far off. That is what we have seen over the years with every GPU series launch up to RTX 30 series. However, recently the concept of “same price but better performance” has taken a backseat, and we now see 70 series cards priced at $600 compared to $330 (GTX 970, 2014) or $380 (GTX 1070, 2016). Inflation alone does not explain the gap, so we have to factor in the greed of manufacturers as well as impatience of the buyers.

As a result, high priced computer hardware combined with shortages due to COVID or Crypto-mining, has kind of broken the regular practice of upgrading GPUs every 2-3 years when a new series launched. Whether it was for the better performance or efficiency, or gaming at a higher resolution owing to better monitors, gamers would upgrade that GPU without touching other parts of the PC until another couple of years, then the new GPU would remain on a completely new system until it is upgraded a year later to utilise the increased performance of new CPU. Games would also make use of higher sized texture files and increase in CUDA cores to render more life-like images, so it was symbiotic growth between the hardware and software in PC gaming.

All of that went for a toss with higher demand of CUDA cores for crypto mining in 2020, and COVID ensured more people stayed indoors so demand for PC hardware increased manifold. With excess demand in silicon, electronics price would only grow north. So it is not a surprise that cards have surpassed any expected price even after factoring in inflation.

However, fortunately or not, video game graphics have not that much evolved to warrant a price increase. For one, rasterization based rendering does not have anything new to offer other than better shadows and ambient occlusion, and RT is embraced by statistically insignificant number of new games. Rather, the PC industry is now headed to porting of games that were once superhits on consoles, like Spiderman, Uncharted, God of War, and recently Last of Us, which have always made it to the bestseller charts when released on PC. Gamers always wanted “good’ gameplay and story over graphics. Those interested in fast-paced multiplayer titles anyway would not settle for less than 120 fps, which is why multiplayer games have even less requirement in GPU evolution. So unless we enable RT to create a new wallpaper in game, or make amusing charts talking about how current generation hardware is not there yet and RT is ahead of its time, we can still do with old hardware just fine.

Not a single video game is a bestseller today because of it’s ray tracing abilities. Not a single video game was awarded for its visuals due to new hardware.

Bare necessities for immersion

The vast majority of PC gamers need the below 3-4 things for immersion:

  1. 1080p or 1440p, with higher resolution relevant only at close range. So someone playing on a monitor at 2 ft may need 1440p, someone playing on a TV might be ok with 1080p.
  2. 60 fps locked. Some may be ok with 45 or 50 even, provided there is minimal delta between average and 1% framerates.
  3. Anti-aliased image that does not have jagged edges, but image should still be sharp enough and not blurry due to temporal aliasing.
  4. Good draw distance, without texture popping in at 5 feet from an object, including its shadows.

Any of the above if not satisfied may break immersion. But a game that is well optimised to offer these basic necessities, is much more enjoyable and worth playing for a long time.

Far Cry 5, 1440p, 60 fps locked (GTX 1070 Ti/ Ryzen 5 4500)

For #1, we need a capable GPU as resolution scales with number of computation units (or CUDA cores). For #2, we need a CPU with decent enough L3 cache and at least 3.5 GHz clock speed for the fastest core, with 6 cores or 8 threads at least for the new game engines. For #3, part of it can be achieved by the game engine, and part of it by some tweaks in super sampling. The last point also mostly depends on the game engine but can do with higher L3 cache like #2, and a faster IO enabled hard disk, i.e. a SSD drive (not necessarily NVME Gen 4 or such; a normal SATA will also do).

Soft Shadows, Ambient Occlusion, Vegetation, Texture Quality, Volumetric Fog, and Post Processing, etc. are not that much important in my opinion (some shadows will always be there due to the game engine), and evidently do not tax the system more than the settings like resolution, framerate, aliasing, which is why in most games these settings appear on a different menu than the others.

Resolution

Most monitors nowadays are 1080p at least, but the focus has moved from resolution to also the size. The human face has not widened over the years (funnily or not), so the most optimal FOV has remained at around 27 inches when sitting at about 2 ft from the sceen, which is standard distance for any desktop user. This size is larger than the most common widescreen size of 24″, so it already feels bigger. However, for office work if we just port the 1080p resolution to a 27″ monitor, the fonts may not look good enough, so 1440p native resolution is better. So ideally, a 27″ monitor at 1440p is all we need for gaming. Of course, you can have even more screen estate at 32″, and if you have the money, a 4k resolution might be your pick. But 1440p is good enough even on 32″ that too for office work, so it is certainly enough for gaming. Other specific tasks like publishing or photography may need 4k at 32″ or more, but we will restrict this discussion to gaming so 1440p is our target resolution, and on a 27″ display.

If we play on a large screen TV (40″ and above), we can further reduce the resolution to about 1080p as the sweer spot, because the viewing distance is more here so the need for higher resolution (i.e. better pixel density) reduces. Again, our eyes can only see so much, and they have not changed in anatomy over the years.

Framerates

As of this writing, the cheapest CPU that has at least 6 cores and 8 threads is a Ryzen 5 4500, at $75. The only downside of this is just 8 MB L3 cache, but that should be ok if we settle for at most 60 fps with most of the performance relegated to the GPU. This means we should try to play at the highest resolution possible.

If we need more fps, we can consider a Ryzen 5 5500 at $110, because any higher will just have the advantage of PCIE Gen4 for the SSD, which won’t matter much for our target group (the old GPUs are Gen 3 anyway). A Gen4 capable motherboard will also shoot up that component’s cost (i.e. a B550 over a B450).

I have provided a table at the end for games that I played using two old GPUs. Apart from Ryzen 5 4500, I also have a i5 10600k currently (see the table for specific games). These CPUs have replaced Ryzen 3 1200 and i5 6400 that I had previously. The R3 1200 was overclocked to 3.8 GHz all cores, from a boost clock of 3.4 GHz in just one out of the box. The i5 6400 was run with scaling governor set to performance in case of Proton (Linux).

Aliasing

Aliasing partially depends on the game engine, which we gamers cannot do much about. Certain games have very good aliasing implementation, like Ghost Recon: Wildlands, whereas the same publisher’s next game, Ghost Recon: Breakpoint, aggressively blurs the image to reduce aliasing drawbacks. This game also needs Temporal aliasing for any acceptable rendering of the game world.

Most games have their built-in AA solutions, among FXAA (full screen AA), MSAA (multi-sample super sampling), and TAA (Temportal Anti-Aliasing). Each of these carry some penalty. FXAA is the cheapest but also the worst, MSAA is extremely taxing (equivalent to running at a resolution that is high by the same factor as the MSAA setting, i.e. 4x MSAA on a 1080p means each elements in the rendering pipeline individually would be rendered at 2160p (2x 1080 x2) so it is as taxing as running the game at 2160p), and TAA is too blurry so needs some kind of sharpening, which again adds up to GPU work.

A golden rule while running an old GPU is to avoid using any kind of anti-aliasing in game, instead achieve that indirectly by other means.

As gamers we can take a few measures to improve aliasing alternative to what the game engine offers. Firstly, we can render the game at a higher resolution than the native resolution of the display. On a 1080p monitor, this can be 1440p, or on a 1440p monitor, this can be 1728p or 1800p depending on whether the game can run smooth enough. The higher the resolution, everything in the rendering pipeline also increases, i.e. shadows, ambient occlusion, water, reflections, etc. So a card with limited VRAM capacity or bandwidth may not allow much room here. Higher resolutions can be achieved using NVIDIA DSR or AMD equivalent RSR. The game will think the monitor has higher resolution, and we can select that in menu, though native resolution of the monitor still stays the same, so we downsize the rendered image which gives us anti-alliasing. In fact, older aliasing techniques like MSAA (multi-sample super sampling) use this technique only.

On top of this an additional optimization can be software based, but this is limited to AMD’s FSR (which works with at least 10 series cards, wont work with a GTX 970 i.e.), and NVIDIA’s Image Sharpening (NIS, available with 500 series drivers). An ideal scenario (which I have used occasionally wih Ghostwire: Tokyo) is to have DSR at 1440p on a 1080p monitor (27″), and AMD FSR set to Quality. It is perfect for gaming at 2 ft away from screen, and alias effects are minimal with steady framerates.

Texture pop-in

This is also heavily dependent on the game engine. Far Cry 4 e.g. had one of the worst texture pop in when flying the gyrocopter, but that was considerably improved with Far Cry 5, both using same Dunia engine. Another game notorious for pop-in is GTA V, including the shadow lines being rendered live at 5 feet from the player, and no shadows beyond, even if the object is distinctly visible.

Outside the game engine the only optimisation we can try is to use a SSD and reduce background programs. A 2.5″ SATA SSD is very cheap nowadays, with 1 TB at around $40-$50. This can considerably improve the experience but not guaranteed to if the game engine is not optimised enough. So a PCIE Gen4 SSD will also not be able to prevent pop-ins in Far Cry 4. For what it is worth, no gaming device is completely free from this issue, not the least the Series X and PS5 with much higher storage bandwidth.

Far Cry 4 is notorious for texture pop-in, especially trees when viewed from top.

Patches and DXVK

Sometimes if we are lucky, bug fixes and optimisation patches are published up to a few years later than initial release of the game. E.g. Dying Light received a lot of patches up to 2022, when it last updated. With every patch came improvements and optimisations, allowing me to play it at 1440p 60 fps with not the GTX 1070 Ti but the older GTX 970, that too on Linux (Proton). The same thing applies to GTA V, which runs at even more than 1440p on a 970 (granted it is an old game, but the more optimised patches were released only a few years ago).

Another way to improve performance is to use Vulkan instead of DirectX. Some games natively support Vulkan, like Read Dead Redemption 2 (2019) and Ghost Recon: Breakpoint (2021), which in spite of being new could run decently on the 1070 Ti, the latter even at 1440p. For other games we can use a hack in the form of DXVK, which involves putting a couple of dlls on the game root directory (same location as its exe). But DXVK is better only with games using up to DirectX 11, and will not work with 3rd party launchers when used online, because it basically routes the driver calls through itself, which is tampering by definition. So the games with 3rd party launcher need to be played offline. Another option is to play the Steam version on Linux, with Proton which is nothing but a more evolved version of DXVK. So automatically the layer will be applied.

Summary

In summary, using not more than a 1080p monitor (27″ if you need more FOV), using custom graphics settings instead of presets, using DSR or other super sampling techniques including FSR but not MSAA or others provided by the game, and /or Steam Proton can enable us to use old graphics cards at 1080p-1440p at 60 fps, with a bit of luck even locked framerates if the game engine is good enough, without spending too much on CPU and other PC parts as long as they satisfy some basic requirements like 8 threads or SATA SSD storage.

Games optimally playable with GTX 970 or 1070 Ti

I will end with a list of games with very good visual fidelity, played using a GTX 970 or GTX 1070 Ti, which are still holding their fort strong even into 7 and 5 years of ownership respectively. Unless otherwise mentioned, they were all at 60 fps locked. The year of play is mentioned in brackets, so that it reflects latest patches at that time. (Steam) Proton indicates Linux, and Vulkan indicates that instead of DirectX.

TitleYear PlayedGPUCPUResolutionRemarks
Far Cry 42016, 2023GTX 970,
GTX 1070 Ti
i5 6400,
R5 4500
1440pR5 + 1070 Ti
Fallout 42016, 2022GTX 970i5 64001440pProton (2022)
Grand Theft Auto V2017GTX 970i5 64001440p
Rise of the Tomb Raider2018, 2023GTX 1070 TiR3 1200 OC,
R5 4500
1080pProton
Divinity Original Sin 2 2019GTX 1070 TiR3 1200 OC1440pProton
Doom 42020GTX 970i5 64001440pProton
Dying Light and The Following2020GTX 970i5 64001440pProton
Hitman 22020GTX 1070 TiR3 1200 OC1440pProton
Assassin’s Creed: Origins2021GTX 1070 Tii5 10600k1440p
Ghost Recon: Breakpoint2021GTX 1070 Tii5 10600k1440p w/ FSR,
1080p
Vulkan
Red Dead Redemption 22021GTX 1070 Tii5 10600k1440pVulkan
Cyberpunk 2077 2022GTX 1070 Tii5 10600k1440p
Ghost Recon: Wildlands2022GTX 1070 Tii5 10600k1152p
Far Cry 52023GTX 1070 TiR5 45001440p
Ghostwire: Tokyo2023GTX 1070 TiR5 45001440p
This chart may be updated in future with more titles

Leave a comment