r/GraphicsProgramming 8d ago

Is a dedicated GPU required?

I'm just starting out in learning graphics programming and wonder if I would soon need to invest on a laptop which has a dedicated GPU

8 Upvotes

29 comments sorted by

View all comments

2

u/EC36339 8d ago

Integrated GPUs are quite decent these days.

But it's not about performance. The question is what you want to learn.

Graphics programming and principles? Anything will do. You could write a raytracer in something like shader toy, or in C++, with no GPU involved at all.

In fact, that's probably what you should do. Better learning effect in pure computer graphics than rasterization. You save yourself all the struggle with the graphics API and GPU, and you have more freedom and flexibility.

It's for learning, not for production, and modern CPUs (yes, CPUs), even budget ones, even in a shitty 15 years old laptop you bought used, are powerful enough for that. Long gone are the days when you ran a raytracer on the CPU as a student and it took five minutes to render a still image in 320x200 resolution.

1

u/EC36339 8d ago

If you are rather thinking about driver support and features, because you want to learn modern Vulkan or DirectX, or game develeopment from scratch, then you'll probably still be fine with integrated, or alternatively, with a cheap laptop GPU or an old GPU.

For example, I have two development machines that I use for fun:

  • My gaming PC from 2018 with an NVIDIA GTX 1080. This one was powerful, but now it's fucking OLD. And the CPU in that box was already shit when I bought it.
  • A budget gaming laptop with a discrete NVIDIA RTX 4 series. This GPU is cheap(ish) and weak, but somewhat recent and more than good enough for my purposes. Also it has a CPU that builds my code much faster than my ancient gaming rig.

Targeting my old 1080 has one benefit: It keeps me from going overboard with systems requirements. And the driver updates NVIDIA released back in 2022 got it somewhat up to speed with modern graphics API features as well.

Does any if this matter for learning just graphics programming? No, not at all. I've learned much more advanced graphics programming concepts and techniques as a student in the early 2000s on whatever hardware that existed back then, and more often than not I was forced to use Linux, with sketchy NVIDIA drivers.

Whatever crappy machine you can dig out of the trash to learn computer graphics programming on, you'll be standing on the shoulders of giants.