Hardware acceleration was a mistake

1 108
Avatar for Metalhead33
3 years ago
Topics: Thoughts, Hardware, 3D

From an engineering and consumer point of view, the existence of GPUs - or more precisely, hardware acceleration - was a mistake. My friend Geri wrote an amazing article about why software rendering is better than hardware-accelerated rendering from a programmer's/developer's point of view - I'm not here to steal his bread, so this time, I'll instead write about why it's also better from a consumer's point of view.

It all boils down to one factor: complexity. Hardware-acceleration adds one more point of failure to the mix.

With software-rendering, your experience depends almost completely on the speed of your CPU and your RAM - the GPU's only role is to convert the bits and bytes within the framebuffer into a picture for your monitor to display. This means, that if a game is being slow it was poorly programmed the solution is upgrading your CPU and your RAM.

Behold! The full potential of software rendering unleashed in 1998! Video game: Delta Force by NovaLogic.

With hardware-accelerated graphics, it gets a little bit more complex. You see, when your AAA 3D game is being slow, upgrading your CPU may not make it any faster. The source of the problem may be your video card. One more part to upgrade, one more part that will inevitably go obsolete. And they even want to create dedicated AI accelerator hardware now!

Behold! The full power of 3D hardware acceleration in 2002! Doesn't look very impressive to me.... - Video game: Summoner by THQ.

It's utterly crazy. The solution is less dedicated hardware, not more! And even 12 years ago, people were agreeing with me. It was predicted, that one day, GPUs will disappear, because we'll have CPUs with so many cores, that they'll be able to run software renderers so fast - and so highly parallelized - that it'll be functionally indistinguishable from hardware-accelerated rendering.

Now, quite paradoxically, this means that the IBM PC's greatest strength - which allowed it to beat Commodore, Apple, and all alternatives - is also its Achilles' Heel. The IBM PC that we have known and loved since 1981, has exchangeable parts. You can upgrade the RAM, you can replace the CPU, you can install a new sound card, a new GPU, and this is all great from a shelf-life point of view (when you can just keep upgrading your PC like Theseus' Ship, it'll multiply its lifespan by at least ten), but this encouraged the problem I mentioned at the very beginning: these exchangeable parts became almost as important as the CPU itself, with programmers relying on them so much (especially on GPUs with hardware accelerated graphics), and thus, people started to consider them integral parts of a PC, which meant, that one more item was added to the list of PC parts that go obsolete every three years.

Was it really worth it?

Couldn't we have been fine with software rendering driving the evolution of CPUs?

Any piece of dedicated hardware requires its own API to program, to allow it to be taken full advantage of. When 3D acceleration first became a thing, every GPU had its own proprietary API: 3dfx had Glide, ATI had ATICIF, Nvidia had NVLIB, PowerVR had SGL, etc. Eventually, these were consolidated into just Direct3D and OpenGL (though, Vulkan appeared in 2016ish), but as Geri pointed it out, this still managed to be a major headache for programmers.

So, with this in mind, my next article will be a C++ tutorial on software rendering.

2
$ 0.26
$ 0.25 from @TheRandomRewarder
$ 0.01 from @Geri
Sponsors of Metalhead33
empty
empty
empty
Avatar for Metalhead33
3 years ago
Topics: Thoughts, Hardware, 3D
Enjoyed this article?  Earn Bitcoin Cash by sharing it! Explain
...and you will also help the author collect more tips.

Comments

Good news, i would like to read your article about software rendering as well. By the way the latest builds from my software renderer used in maker4d now will even outperform some of the low-end dedicated graphics cards in speed, as i have reached fluid frame rates on 4 core computers in 1080p.

$ 0.00
3 years ago