6

Is a gaming machine better for software development?

Cody Guldner
  • 2,888
  • 1
  • 25
  • 36
Mark Redman
  • 24,079
  • 20
  • 92
  • 147

10 Answers10

20

NO.

  1. CPU For software development, you need lots of cores. For gaming, you need fast but not necessarily many cores. This is slowly changing as newer games are being written to take advantage of multicore CPUs, but the general case is that most gaming machines focus on raw CPU power. For example, in my case, I'm an RoR developer, and during development I run: my editor, mongrel, solr, postgresql, and memcached. Most of the time I also have an open browser, a PDF editor, and iTunes.

  2. RAM Most games will be OK with 2-3GB of RAM. For software development, especially web development - if you will be running multiple servers - you'll want at least 4GB, or even 8GB of RAM.

  3. GPU Top-of-the-line graphics cards for gaming can cost $500 or more. For software development, you can get away with the cheapest GPU you can get. The only aspect of the video card you'll want to concern yourself with is the capability to handle multiple large monitors.

It will actually be helpful if your development machine is so crippled (gaming-wise) that you can't play the games you like to play on that machine. No distractions! :)

Radamanthus
  • 690
  • 2
  • 5
  • 17
  • When you choose the graphics card, you should also look for: a quiet one (not one with a noise fan); if there is anything analogous left in your setup, you should also look for display quality (no flickering etc.) – Erich Kitzmueller Nov 21 '09 at 12:27
  • This is really scary: "you'll want at least 4GB, or even 8GB of RAM". Especially that you specified, that it is web development. I wonder what happens in next two years... I am doing web development so I need 32 GB... and where all this goes? In this sense I would better stick with gaming machines where I have at least crude understanding about how my memory is used. – alexkr Nov 21 '09 at 12:49
  • 1
    As I said, in my case, I run: a database server (postgresql) - 1GB RAM or more an application server (mongrel) - 250MB an editor - can shoot up to 1GB RAM a search engine (solr) - 250-1GB RAM memcached - 256MB+, depending on how much you give it What if I need to integrate my webapp with another, running on a VM? Then I'll need 1GB for the VM. What if I need to test multiple versions, running at the same time? Then run multiple VMs, at 1GB each. These are extreme cases, however. Most of the time, 4GB should be OK. For now :) – Radamanthus Nov 21 '09 at 13:26
  • 3
    Man, this is dated. – user2357112 Feb 27 '21 at 20:02
  • 1
    Oh, yes. Someone needs to put in a better answer, along the lines of "AI research is the best excuse to buy yourself a good gaming rig." – Radamanthus May 03 '21 at 10:18
6

I would say some aspects are the same between gaming machines and development machines, like large disks, a lot of memory, etc. So in that respect yes, a gaming machine would fit better than a low end desktop.

On the other hand, gaming machines tend to be tuned towards raw performance instead of robustness. A development machine often does not need a state of the art graphics card, nor does it want a RAID-0 to spead up the disk. If it crashes one disk you lose all your work, so RAID-1 would be much better. Same holds for memory, ECC (or what its called nowadays) is a bit slower but adds robustness.

One gotcha with powerful development machines is that they do not represent the non-functional requirements as to execution environment. If you are not aware of this enough your software will run slow on a "normal" machine because it ran great on your supercomputer :-) One take on this is that development machines should always be a tad slower than the target machines, but this cuts into your development time. A better solution is to have slower machines in the test environment and a few slower machines in the development lab.

rsp
  • 23,135
  • 6
  • 55
  • 69
  • 2
    You can always slow down your program or computer. Speeding them up is way harder. With an high-end PC you can test pretty much any combination of RAM and CPU, so if money is not an issue, it'll be an worthwhile investment. – danielkza Nov 21 '09 at 11:25
  • RAID 0 is fine for a development workstation, provided that your source code repository is on something more reliable (e.g. RAID5 on a separate server, with regular backups). – Roger Lipscombe Nov 21 '09 at 12:35
  • What danielkza said. With powerful enough hardware, you can always emulate the target system through virtualization. – Chris Charabaruk Nov 21 '09 at 12:51
  • Yes you can always take measures to slow down a machine, when you do that you are already aware of the pitfalls of always developing on the fastest machine availlable, which was my point :-) – rsp Nov 21 '09 at 13:22
5

Some attributes of gaming machines can help developers, like having a good deal of memory, or a quad core processor (so you can, respectively, run VMs without hassle, and compile faster).

But a fast GPU won't do you much good, so there's no point in spending much money on it. Unless you plan on developing or playing games, of course.

Summing up: if you plan on using the PC for fun, get a reasonable GPU. If you don't, skip it and keep the rest just like you would. You won't regret it.

danielkza
  • 2,517
  • 1
  • 22
  • 20
4

If you want to develop games, sure. I should know, I have experience on both.

Kawa
  • 1,478
  • 1
  • 15
  • 20
4

Unless you're programming something to do with graphics / game related, not necessarily. The video card is going to be underused otherwise. On the other hand gaming machines tend towards the high end making them ideal for many programming tasks.

leepowers
  • 37,828
  • 23
  • 98
  • 129
3

I think so. I think the performance required for gaming will greatly help developers. Only overkill would be graphics, unless you use big rendering software, in which case RAM, graphics is a must.

Good CPU, Lots of fast RAM, and a fast HD will do you lots of good.

Adriaan Stander
  • 162,879
  • 31
  • 289
  • 284
  • True. We develop software using Visual Studio and I suspect it doesnt take specific advantage of high-end graphics cards. – Mark Redman Nov 21 '09 at 11:14
3

What you'll need for software development is usually a machine with ample RAM, ample HDD space (and a fast HDD or set of HDDs to boot), a fast multi-core processor (very important if you're working with compiled languages, especially the likes of C++ which take a long time to compile compared to Java or C#) and preferably the ability to drive multiple monitors. For the latter, it's a case of the more the merrier as screen real estate is one of those things that you can never have enough of.

While a lot of this does indeed sound like the spec for a gaming machine due to its raw number crunching ability, the main difference is likely to be the graphics hardware. You don't need something that can render x million polygons per second on a single monitor if you're trying to drive 3x 24" monitors as 2D displays. In fact you probably don't want a usually rather noisy gamer spec video card that only shines when rendering 3D; you're more likely to get more out of a "pro" graphics card that can drive 4 monitors instead.

So yes, I'd think the spec is quite similar and there is a lot of overlap between the two but in the end a developer spec machine is not the same as a gaming rig.

Timo Geusch
  • 24,095
  • 5
  • 52
  • 70
2

A gaming machine without the fancy video card, I think that's more suitable for a programmer. (you can use the video card money to add more RAM for example)

Soufiane Hassou
  • 17,257
  • 2
  • 39
  • 75
1

Gaming machines are great for everything except your wallet ;-)

Gabriel Hurley
  • 39,690
  • 13
  • 62
  • 88
1

Programming WPF Shader Effects is one of those particular tasks where a gaming machine can actually allow you to do more while not working in game-development. Also, GPGPU work may benefit from fast memory transfer and fast GPU.

luvieere
  • 37,065
  • 18
  • 127
  • 179