Hi, I'm considering building a PC exclusively to play Dwarf Fortress better. What would I need to focus on?
As has been noted several times recently, the process is roughly as follows:
* Step 0: When do you want this? Technology marches on. In particular, DDR4 memory is likely to be very helpful for DF, but it's not really available yet.
* Start by realizing you're building a scientific workstation, not a gaming machine. The thought process and order is different. Most of the online advice will be wrong. In the most general terms, a DF computer starts with the memory and works out, while a gaming computer starts with the graphics and works out.
* Pick the fastest memory you can afford; you need at least 4GB, and 6-8 depending on architecture is probably good. Anything else is wasted on DF. 2x 4 GB of DDR3-2133 (aka PC3-17000) with CAS 9 and a heatsink/spreader is cheap and probably the base starting point; you can do considerably better with some effort.
We don't really have enough info to judge whether overall speed or timing (CAS latency, etc.) are most important for DF. This is one of the areas that will need real-world tests from someone with a system stable under moderate overclock willing to run DF with different combinations of timing and speed and report.
One suggestion floating about is that you want to minimize (CAS / speed), usually multiplied by 1000 for readability; so for a somewhat arbitrary example CAS 11 at 2666 would be 4.126, CAS 10 at 2400 would be 4.166 and slightly worse, but CAS 9 at 2400 would be 3.75 and somewhat better. It's unclear whether this actually reflects real-world performance in general, and even less clear whether it reflects DF performance; but it's possibly better than no guidelines at all.
* Get the fastest CPU (in terms of single-core Turbo performance in a minimum dual-core CPU) you can afford that works with the memory; this needs to be the current generation or the previous one, or you're loosing out on efficiency. If you're willing to overclock a little, get an unlocked CPU. (If you're willing to overclock a lot, you probably didn't need to ask these questions
![Smiley :)](http://97.107.128.126/smf/Smileys/aaron/smiley.gif)
* Get a high-efficiency motherboard with a current generation chipset to work with the above.
* Get some sort of vaguely modern graphics card with dedicated memory and good OpenGL support. Keep it simple so it doesn't take power/cooling/funds better spent elsewhere. (This is the big difference between a "dedicated DF computer" and a "good gaming computer optimized for DF"; the latter spends far more of the budget on the GPU.)
* Get a honking big cooler with a good rating and reviews. DF on a bad day can look like an abusive synthetic benchmark, and it stresses single-core performance in a way that's unusual for games. Modern CPUs are strongly thermally limited even with factory Turbo settings; even getting sustained 4.4 GHz stable performance from a 4790K puts out a whole lot of heat, and once you get into actual overclocking it goes up even faster.
* Get a high-efficiency power supply rated to run all of the above, with some headroom. If you're considering overclock, more headroom.
* Optionally, get a SSD, or better yet one of the new M.2 or SATA Express SSDs, to hold your OS and DF. This will help loading times, seasonal saves, writing out history, etc. even though it probably isn't going to improve your FPS running the fort much, if at all.
* Get a 64 bit version of a reasonably modern OS. In an ideal world, the Linux version has generally had slightly better theoretical performance on large embarks due to the way it handles memory, and is free (freeing up some budget for some other improvement); but some 3rd-party utilities are less available and there may not be drivers for the newest hardware. Note that DF is still 32-bit, but you really want a 64-bit OS so that the OS itself and everything else (browser to look at the wiki, etc.) can get completely out of DF's way and give it unfettered access to the full 32-bit space.
We don't have nearly enough data points on high-end computers to really know where the "long poles" are. I'm fairly sure that there is a balance point between memory transfer speed and CPU core speed; more core clock than the memory can feed will be data starved and not doing you any good (and pipeline stalls can cause cascading slowdown), while conversely there's no gain in having memory feed much faster than the CPU can process. Current thought is that the memory side is likely to be the limiting factor for current-technology systems; but real world data points are thin.