What a game programmer should know about GPUs

Started by
3 comments, last by WoopsASword 7 years, 6 months ago

Sorry if this is in the wrong category.

So my question is simple, what should a game programmer who works with OpenGL and GLSL know about GPU specifications. Like what does the terms mean, e.g. Shader Clock Speed, or Texture Fill Rate, just to name a few. For some of them I have an understanding of what they are, however the values make no sense to me since I don't know how well that performs.

So, are there any resources online that explains the specs of a GPU? Covering some statistics comparing different GPUs and how their specs improve performance, etc. And also cover some aspects of the programmer side, for instance OpenGL and GLSL programming.

Advertisement

Well look at the specs of a 1060, 1070 and 1080. Core clock and number of shader units and texture units are pretty much it.

NBA2K, Madden, Maneater, Killing Floor, Sims http://www.pawlowskipinball.com/pinballeternal

EVERYTHING

https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/

ftp://download.nvidia.com/developer/cuda/seminar/TDCI_Arch.pdf

https://graphics.stanford.edu/wikis/cs448s-11/FrontPage?action=AttachFile&do=get&target=05-GPU_Arch_I.pdf

See you next year!

But seriously, most of the paper specs for GPUs are useless except in a relative sense within a particular generation. They give you no useful information about how a given chip or card will actually perform. If you want to understand the terms a bit better, read AnandTech reviews and breakdowns of GPUs, especially when they talk about an all new generation. They go in considerable depth about what's up.

http://www.anandtech.com/show/8526/nvidia-geforce-gtx-980-review

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
It's worthwhile understanding the differences between immediate (usually desktop) and tile based (usually moble) GPUs and how they affect performance. Even if you are only targeting desktop systems, it's still useful because desktop GPUs are beginning to implement some tile features and techniques that work well on tile based GPUs may be able to take advantage of Vulkan's renderpasses.

EVERYTHING

https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/

ftp://download.nvidia.com/developer/cuda/seminar/TDCI_Arch.pdf

https://graphics.stanford.edu/wikis/cs448s-11/FrontPage?action=AttachFile&do=get&target=05-GPU_Arch_I.pdf

See you next year!

But seriously, most of the paper specs for GPUs are useless except in a relative sense within a particular generation. They give you no useful information about how a given chip or card will actually perform. If you want to understand the terms a bit better, read AnandTech reviews and breakdowns of GPUs, especially when they talk about an all new generation. They go in considerable depth about what's up.

http://www.anandtech.com/show/8526/nvidia-geforce-gtx-980-review

I also recommend the first link ("A trip through the GPU").

It's always worthwhile to know stuff, You don't need to learn assembly and how the CPU/ALU do their work to write a simple javascript program.

Yet if you understand CPU cache and ALU working process, you'd know how to optimize your code to work with your hardware and not against it (The most common example is cache misses in matrices multiplications algorithems)

OpenGL is like assembly for the GPU.

You can't get any lower (Unless you write the driver- I'm talking to you nvidia),

So you need knowledge about the internal process of the GPU to optimize your code to work with your hardware and not against it.

This topic is closed to new replies.

Advertisement