Tuesday, December 18, 2007

Build or buy for 2007

So, I'm giving computers as gifts to a half dozen people this year; and every time I've mentioned it, I've had someone ask for computer advice.

So, continuing on my gadgetary thrust for the end of the year, lets talk about computers.

Now, the first question is always "build or buy"; by which I mean do you buy a pre-built system from a major vendor, or do you build your own.

Generally speaking, this is a two part question:

1. Does it make sense technically
2. Does it make sense in terms of value

The first part of the first question is also split into a couple of parts; or perhaps I should say there is an immediate definitive discriminator, and that is this: Are you buying a laptop or a Mac (or both)?

If you want a Mac, you only have one choice, and that's from Apple; ether direct (which I recommend) or from a reseller. Either way you get great support from Apple (which is kinda the point); at least if you have a problem that Apple acknowledges (the last couple years they've had a nasty tendency of releasing laptops with major issues and pretending there was no problem until too many people complained).

If you are buying a Mac, the only advice I can give you is this: If you want performance and don't care about your warranty, buy it stripped and add your own parts. If you care about the warranty then you need to pay Apples OUTFRIKKENRAGEOUS prices for RAM and hard drives. Oh and if you DO care, buy the Applecare warranty, because the basic warranty isn't great.

If you are buying a laptop, buy it from a major system vendor. There are a few specialty vendors that will sell you laptop pars, or custom build you a laptop, but they aren't worth the hassle and the incompatibilities, unless you are an expert, or you need something very specialized.

The best advice I can give you here, is to physically try out the keyboards, pointing devices, and screens of any laptop (or at least a comparable model) before buying it. They are greatly subjective matters of personal comfort and preference; and you don't want to end up with a laptop keyboard you can't change, and can't stand to type on.

The second part of the question comes down to this: do you need basic tech support, or tech support for the OS? If you do, or if the eventual end user does (buying a computer for your mom for example), then go ahead and buy from a major vendor.

Don't bother buying a pre-built system from a small independent vendor if you need the tech support; what you're looking for is 24/7 response, depot parts etc...

Also, if you need the tech support, and you plan on keeping the system for more than a year, this is one of the few times when you should consider a factory extended warranty. Factory warranties range from 90 days to one year; which isn't an awfully long time; and may not cover 2 days service etc... Extended warranties from Dell, HP etc.. are generally reasonably priced, and can provide up to a full three years of warranty protection, usually with one week or less turnaround time. They may have two day service available.

That said, only buy the factory extended warranty, directly from the vendor. Don't even think about buying a reseller warranty from Best Buy or somesuch.

Which brings up another good point: If you are going to buy a major vendor system, buy it direct from the vendor when it's on clearance; or through an authorized reseller like CDW, Insight, tiger direct, or newegg.

Unless your local Best Buy is offering an identical system (check the part numbers and spec sheets) on a HUGE discount, you generally don't want to buy a computer from them. For one thing, the prices on the direct vendor and internet clearance houses are usually better; but also the tech support for systems you buy from Best Buy often goes through Best Buy first rather than direct with the system vendor. If there are two systems which appear identical, and several resellers have on part number and Best Buy has a different part number, you can bet it's a BB only part number (even if it's the same model number by the way), and that the tech support is going to go through BB.

Kinda defeats the purpose of buying from a major system vendor in the first place eh?

Now I'm not saying you can't get a great deal from a brick and mortar store (in fact, I just bought a laptop at BB a month ago); just that you have to be absolutely 100% sure of what you are getting. When you go with Best Buy vs. the net, yes, you get to pick it up that day, and return it there if it is broken; but shipping is usually lower than taxes; you generally can't buy the factory extended warranty (at least not without some hassle), and you may be getting a BB only part number with substandard support.

Ok so, technical question out of the way; what about value?

Obviously, if you need the support that a major vendor offers, the value is there. But if you don't really need that support; if you are capable of supporting yourself, and building your own system; there is still a question about whether doing so provides value to you.

This one can be a BIT harder to pin down, but what it comes down to is, how are you going to use the pc? What are you going to use it for, and how hard are you going to use it?

If you are just using a system for email, web surfing, general office tasks etc... then your needs can be met with the lowest of low end systems; and quite frankly, you can't build a low end system on your own for what Dell and the like are selling them for these days.

Today, on the Dell web site, you can buy a brand new (not refurbished) pc, with a gig of RAM, 250 gigs of hard drive space, a 17" lcd, keyboard, mouse, Windows Vista home basic, MS works, and a DVD burner with player and burner software; for $500, or for $300 without the monitor, and with a smaller drive.

That's an every day price, not a clearance or sale. If you get it on one of their nearly weekly clearance deals, you might snag the system with Monitor for $400.

Going to HPs web site yields similar results. They have five computers selling at under $400; and the lowest price system they are selling today is $299, plus $100 for a monitor.

If you catch it at the right time, you can often get the same, or even slightly higher end systems as factory refurbished for as little as $250 (I bought one a couple months ago in fact).

Even without including the software costs (about $200) you simply cannot buy the parts necessary to build these systems for $500; and certainly not for $400.

Keeping everything comparable to the bottom end major systems, you come up at a fair bit higher price. If you account for $60 for a motherboard, $60 for a processor, $25 for RAM, $80 for a case with power supply, $30 for a DVD burner, $90 for a hard drive, $20 for keyboard and mouse; you've got $365 before we even get into a monitor (about $100 minimum) and the operating system ($90 for an OEM version). Oh and of course none of that includes shipping (which Dell will often throw in for free).

Basically, the major system vendors have taken the low end of the market, and dropped the prices to cost or below, as a loss leader. They get you in with the cheap systems, and the refurbished systems; and they make their money on the high end boxes, accessories, software, and extended warranties. You might have noticed you cant just buy a computer at one of these sites anymore without clicking through 5 pages of add-on stuff they want to sell you; well that's why.

Of course that brings up the other half of the home computing equation... the mid-range and high end machines for power using and gaming.

This is where the fun starts.

You really can't beat the majors when it comes to the low end; but if you're building a gaming rig, even only a midrange system; you can either get substandard and proprietary components, or you can get absolutely reamed on price by the likes of Dell and HP.

For example, if I wanted a mid-configured core 2 quad Q6600 HP Blackbird, air cooled (they make water cooled versions for a couple hundred bucks more) with a 640mb 8800gts, 4gb of corsair dominator ram (about twice as expensive as normal ram), an X-fi extreme gamer, two pairs of 500gb hard drives, two dvd drives, and a 1000 watt power supply; I’d play close to $5000 ($4928 to be exact).

That is a midrange system; but from HP, you're paying a high end systems price (Dell sells something similar in the XPS line; for a similar price)

If I built it myself, it would only run about $2500, with all the EXACT same major components, a case of equivalent quality (obviously, HP uses their own case that you can’t buy), and vista home premium (no point in buying ultimate).

If I wanted to, I could add an HD-DVD or BlueRay drive for $200 on top of that, or $400 a BluRay or HD writer; something very few system vendors offer (HP does offer a BluRay writer for $400)

Now remember, that’s a midrange gaming system. If I want to go truly hard core with dual quad xeons, 16 gigs of ram (64 bit os obviously), an SLI setup, 4x 1tb RAID array etc… I'd be looking at $15-$18k from a major vendor; but under $10k to do it myself.

Even aiming a bit lower, into the intro gaming segment, your options aren't just more expensive, they tend to be few and far between. In order to get standard, reasonable quality components, you generally have to move up to the specialized gaming lines; and instead of starting at $300 you start at $1500.

Going with Dell this time, and the XPS line, we intro at that $1500 base price. For that, you get that same Core 2 Quad 6600 (it's the best deal in computing right now), 2 gigs of mid grade RAM ($100 more for the corsair dominator I mentioned earlier), a single 250gb hard drive ($110 more to go to two drives), a single low end DVD burner ($40 for two of them, $250 more for a single BluRay drive, and $350 more for a BluRay writer), and an 8800GT with 512mb of RAM (also the best bargain in gaming video cards right now).

Honestly, that's a pretty decent system. In fact, other than upgrading the RAM and motherboard to slightly higher end models, and adding a second (and larger) hard drive, I'm thinking about building a very similar system myself. If you don't know any better, $1500 sounds like a reasonable price. In fact, if you want a gaming system, and you need tech support and a warranty, it IS a reasonable price.

...The only problem with that is, I can build the EXACT same system at NewEgg for just under $1000 (not including software)... or the slightly upgraded version I'm thinking about for another $120 on top of that.

The higher you aim in systems, the more expensive it gets; or looking at it from the other side, the more you can save. If I wanted to upgrade my processor, go to 4 gigs of premium gaming ram, a 2x750 raid array, and an X-fi sound card, I'd be paying Dell over $2500, maybe $3000. For the same system at NewEgg, I'd be paying around $1700.

I've built three sample configurations at NewEgg; corresponding to what would be $1800, $5500 and $18,500 boxes respectively if purchased from major vendors.

Value box - $1200

God-ish box - $2800

Super-god box - $7700


The super god box listed there is roughly the same raw spec as a fully loaded MacPro tower by the by; excepting better, with more options, better hardware, more storage, more RAM... well, just more and better of everything; and less than half the price.

...Of course it doesn't give you Steve Jobs reflected cool factor; and wont help you score hipster chicks.

If only Steve would sell us his wonderful operating system (and I mean that without any sarcasm. OS X is great).

Talking in more general terms, roughly speaking this is what you need to build a decent midrange or gaming system:

Mid range dual core processor: $150 ($190 gets you into a 4m cache 2.66ghz dual core , $260 gets you a quad core)
mid range motherboard: $70 ($150 gets you a bunch of neat extras)
2 gigs half decent RAM: $60 (spend $200 to go to 4 gigs of medium grade ram)
Mid range graphics card with 340-512 ram: $150 ($300 gives you about 50% more power)
500 gig hard drive: $125 (or $250 for two)
Good quality DVD writer, and second dvd drive: $75
Mid range sound card: $100 (or buy a $150 motherboard and get pretty good onboard sound)
Good quality case: $100
Good quality PSU: $100

Total inc tax and shipping: about $1000 for the bottom, up to about $1500.

My current plan for a new gaming box I want to build early next year looks a little more like this:

Mid range quad core processor: $260
top quality non-sli mobo: $175
4 gigs of very good ram: $350
Medium high end non-sli graphics: $350
4x500gb hard drives in a raid array: $500
HD-DVD burner: $300
BluRay burner: $400
Mid range sound card: $100
VERY good quality aluminum case: $200
VERY good quality modular power supply: $250

Total inc tax and shipping: about $3k

Of course I could easily drop $600 of that $700 for the HD and BluRay drives, $100 on the video card, $100 on the ram, $250 on the hard drives, and $150 on the case and PSU; and still have almost all the speed, computing power, and graphical performance for around $1800 instead.

Ok so why a quad, and why bother with BluRay and HD?

First, the quad question. Why bother with a quad core, it just seems like overkill.

Well, for games it usually is; but for hardcore multi tasking, video editing, photo editing and the like, that quad really helps.

It really depends on the workload, but take a look at performance number between a non-extreme core 2 duo, and a core 2 quad. If the app being test4ed uses multicore well at all, the quads beat out everything other than the Core 2 Extremes (which are more than twice as expensive); and for 64 bit multithreaded apps… there's no comparison. At only $100 more than an equivalently clocked Core 2 duo, they are definitely worth it, if you can use it.

Even better though, the C2 Q6600, that I have called the best bargain in computing above; is actually a 1333mhz part that’s been downclocked to 1066mhz. On most motherboards, you can run it at 1333mhz, with the original OEM heat sink and no additional cooling; and now you’ve got a 3.0GHz quad core with 8mb of cache.

Now why would I add next gen discs to my preferred box; and if they are that great, why not add them to the value system?

Well first, movies. I happen to like watching movies on my computer. I also really like using my computer as a media server. Then of course there's the high volume data storage (50gb per disc in this generation).

Remember now, the higher end selections were intended to be just that, higher end. It’s not something I would recommend to everyone. With my highest end box though, I want to be able to read, and write, any common format. I also need something for offsite backup of critical files (my onsite backup is to my local NAS server), and HD and BluRay are a HELL of a lot cheaper than LTO tape.

Of course that still leaves a couple of important decisions:

1. What about a monitor
2. How much graphic power to pay for (and specifically, to SLI/X-fire or not)
3. How much memory (which is related to the SLI question)

I want to address the monitor question first here; because it's of use to everyone, not just the hard core gamer types.

So, what about monitor?

Firstly, I never count the monitor as part of the computer purchase. Oh yes, you need to budget for it; but it’s like counting your TV as part of your stereo. You don't want to economize on your monitor to get more computer; neither do you want to economize on your computer to get more monitor.

The monitor is the most important element of your human computer interface. Every interaction you have with your computer runs through that monitor; and how happy you are with your computer is to a large extent determined by how happy you are with your monitor.

Also, monitors are one area of computing where you get a decent return on your investment in a higher end piece of gear; because you are likely to keep your monitor for far longer than you keep the rest of the computer. Up until I moved to all LCD a few years back, I had monitors from 5 years, and even 10 years ago; and because I spent the money on top quality, they still looked and worked great.

The prices and deals on LCD displays change from day to day, so it's very hard to make specific recommendations.

Making it even harder, often brand is really little or no indicator as to quality, because there are only 6 fabs that make 19” and bigger LCD panels for computer displays anyway; it’s all the little extras like ports and warranties that make the difference.

I know lots of folks who think they’d never buy an LCD from Goldstar... except they don’t know that Goldstar and Samsung are two of the three leading manufacturers of LCD panels (NEC are the third); and that almost every manufacturer other than Sony (who make their own), including Apple, HP, Dell, Planar and ViewSonic all use Samsung, Goldstar, or NEC panels.

All that said, the extras really do make a difference. When you buy quality, what you're paying for TECHNICALLY is response time, different connectivity, better quality of signal processing, and better backlights (brighter, and with more accurate color spectrum).

More important though, you are also paying for a better warranty and fewer dead or stuck pixels. The better manufacturers all warrant against more than one or two stuck pixels, and most will replace the display if there is even one in a very noticeable spot. The lesser manufacturers offer little to no warranty.

Really, that IS worth the extra $50 or even $100 you pay for going to a higher end manufacturer; especially when buying a 24" or 30" panel.

Ok, now let's talk about the specific features to look for:

1. FOFO (full on/full off) response time of 4ms or less, and GTG (gray to gray) response time of 6ms or less (6ms and 8ms respectively are acceptable, 2 and 4 are ideal).

Unfortunately, most manufacturers are unclear as to what response time they are quoting. If you see 4ms (min) thats the Full On/Full Off response time. If you see 6ms(max) thats the GTG time. If they don’t specify FOFO, GTG, min, or max, then it’s either the average of the two (where they’ll usually note avg. or typ.), or they’re quoting a rise only time, which is actually twice as fast as the real number.

Important to note, if you see a time of 4ms or under quoted without a specific notation as to what they are quoting, and it’s on a less than top of the line display, they are almost certainly quoting rise time; so double it to get the real number.

2. Refresh rate of 120hz is preferred. Refresh rate may not be quoted; if the display has a GTG response time of 8ms or less, it’s probably 120hz. It's not absolutely necessary, but it helps.

3. Static (typical) contrast ratio above 600:1, 1000:1 or above preferred. Again, you may not be sure what number you're being quoted here.

4. dynamic contrast ratio of at least 3000:1, and 10000:1 preferred. Unfortunately, dynamic CR is a marketing number, but with many manufacturers, it’s all they give you.

Heres a tip: if you see a number above 1,000:1 on anything other than a top end display, it's dynamic; and if you see a number higher than 3000:1 on a display less than $2500, it’s a dynamic ratio.

5. A brightness of at least 300cdm^2/300nit at D6500K.

6. A color corrected backlight at D6500K. LED backlight if possible. This gives you better color accuracy, and longer display life.

7. DVI with HDCP, and possibly HDMI. Multiple inputs preferred. DisplayPort if possible. Basically, the more inputs the better.

8. Pixel pitch of under .28mm; .25mm or under preferred. If pixel pitch isn’t quoted you can figure it by dividing the long dimension of the screen in mm by the long dimension of the native resolution in pixels.

Here's a trick for you. If the length and width of the display area are not quoted, you can figure them with the aspect ratio, the diagonal measurement, and the Pythagorean theorem.

A 19” diagonal screen at 4:3 is as follows:

19^2=371
(4^2)+(3^2)=25
371/25=14.84
sqrt(14.84)=3.85
4x3.85=15.4” width
3x3.85= 11.55” height

A 24” 16:9 screen is as follows:

24^2=576
(16^2)+(9^2)= 337
576/337=1.709
sqrt(1.709)=1.307
16x1.307=20.91” width
9x1.307= 11.77 height

Knowing this height and width spec is important in deciding between 4:3 and 16:9; because the diagonal measurements are not comparable. A 24” 16:9 actually gives you the same screen HEIGHT as a 19” 4:3; it just adds an extra 5.5” of width.

The smallest I’d personally go with right now would be a 19” 4:3 or a 24” 16:9. The smaller models are almost all considered “economy” models. Either are the minimum size to display a standard 8.5"x11" piece of paper at 100% scale in portrait orientation.

Personally, I happen to think the sweet spot today is in the 24” 16:9 displays. They give you a massive screen area, with great resolution and pixel pitch; but they’re down under $500 for even the best quality models, and around $350 for discount models. If you don’t feel like spending that much, then get a 19” 4:3. Don't bother going for a 20" or 22" 16:9 or a 17" 4:3 unless you are really looking to save money.

The next step up that’s worthwhile is the 30” now offered by Apple, HP, Dell, and Samsung (all using the same Samsung panel actually), and they’re incredibly gorgeous, huge, and spectacular… but they sell from $1300 to $1900. There are 26" and 28" models, but I really don't think they offer much advantage over 24" displays, or much price savings over 30".

As to brands, I like NEC, ViewSonic, Samsung, HP and Dell (usually Samsung), Apple (also usually Samsung), LG, and Planar.

Now, talking about specs. Some manufacturers are more honest than others. Most of the mass market manufacturers (even the good ones) vastly overstate their actual performance. Companies that cater to graphics professionals (Apple, Viewsonic, Planar etc...) on the other hand tend to report their specifications relatively accurately.

All of my recommendations above are based on the semi-reliable marketing numbers of the better mass market brands.

If the manufacturer is very specific, quoting GTG, typical contrast ratio instead of dynamic, exact pixel pitch etc… they are most likely at least reasonably accurate; so if they quote a spec thats good, but less than another brand, it’s likely that the more accurate number is going to be just as good, or even better than the “better”, but less accurate number.

Alright now, graphics and memory...

If in fact you ARE a hardcore gamer or power user, your memory, and your video card are your most important configuration decisions; and they are tightly interrelated.

If you are a power user, but NOT a gamer, you should simply pack as much memory in as you can afford; and your operating system supports. If you run 32 bit windows (about 96% of all computer users), that's 4GB; which conveniently is the amount that most consumer motherboards support.

More memory is just about always better; because you can have more files open and in relatively fast memory without going back to relatively slow disk. For applications like video editing software, where you are performing multiple operations simultaneously on very large files, memory is as important as electricity.

If you are a hardcore gamer though, the question becomes more difficult; and modern graphics cards, especially with SLI; are the reason.

SLI is a way of using multiple video cards to improve performance; and the next few hundred words or so are why I think that even a hardcore gamer shouldn't bother with it.

There’s two reasons why SLI either doesn’t make much difference in performance; or can actually hurt it; in most real world configurations. To talk about this intelligently though, we’re going to have to go into a little compu-history lesson (and believe me, I’m being as brief as possible here. The FULL story would be a hell of a lot longer).

The original implementation of SLI, from 3DFx in 1998, was actually quite useful.

The 3d cards of the time just barely had the guts to render full scenes at 640x480 (yes, that low) and 30 frames per second. Most in fact could only run at 512x384... which is worse than my PDA today.

When 3DFx introduced the Voodoo 2 in ‘98, it was a revolution. The Voodoo2 could render 800x600x16bit at 30 frames per second (native TV refresh rate).

The biggest news with Voodoo2 however, was SLI; which stood for "scan line interleaving".

Unlike LCDs, which have discrete pixels that are turned on and off individually; analog CRT based displays (including tube televisions) have an electron gun which draws on the displays surface in scan lines. These scan lines are split into two sets, half of which are displayed on one pass; then the other half are are interlaced in between on the next pass.

By using two video cards, and having each card render every other scan line within a frame, you could go up to 640x480, and 60 frames per second, or 1024x768 and 30 frames per second.

Of course these days, even with the gnarliest dx9 3d games, the graphics card is no longer the limiting factor. Since 2004, with the mainstreaming of the PCIe bus for graphics; even relatively cheap graphics cards can render most games at 1280x1024x32bit, and 120fps, with 2x anti-aliasing, and trilinear filtering (graphics geek speak for "looks pretty damn good").

Given that’s the best frame rate and resolution that most peoples monitors can display, anything over and above that doesn’t do much to improve the play experience unless you’ve got a very large, very high end display (or multiple displays; but most games don’t work well, or at all, with multi-monitors).

In 2004, Nvidia (who acquired 3dfx from bankruptcy) announced a new version of SLI for their top end cards; and using their own motherboard chipset. ATI also introduced their own version, which they call "CrossFire" and which works very similarly (I'm just going to refer to SLI from this point forward for convenience, but most of what I say applies to both).

The NEW version of SLI, is the “scalable link interface”. Since we’ve switched to primarily progressive mode displays for our computers (LCDs), it uses one of two different methods for sharing the rendering load. It can split a frame and have each card render half; or it can have each card render every other frame. It’s not a terribly efficient way of doing things, because each card is often processing the same data as the other over and over (static backgrounds and the like) but it will give you an increase in frame rates at maximum resolution.

Now, no monitor today can display at more than 120 frames per second, because that’s the maximum refresh rate of the monitors; so going above 120fps is pointless.

On test scenes where the CPU doesn’t have to deal with physics issues, and the scene is programmed to use all the advanced features of the cards, a top end SLI configuration can render scenes at 2560x1600x32bit, on a 30” display, with 8x anti-aliasing, smart filtering, smart texturing, smart shading, and full dynamic lighting; at over 120 frames per second.

In fact some cards in SLI mode can render such a scene at 200+ frames per second… but the best monitor can only display 120fps; and this isn’t a case where having too much data is actually still helpful because you can accurately downsample (as it is when you can compute at a higher resolution than you can display). There is nothing to downsample to, the card simply drops the extra frames on the floor when it pushes out to the display.

Oh and of course I should note, most displays still can’t do 120hz; most LCDs are just 60hz, and most CRTs can only do 75-90hz. So again, unless you have a top end display…

The third way that SLI can increase performance can actually be useful for something other than raw framerate. In SLI Anti-aliasing mode, the cards render alternate frames, and export them back to each other; then one card is used to handle half of the anti-aliasing on a single frame, and the other card to handle the other half.

This works, because Anti-aliasing is the most intensive work the GPU does; involving oversampling each polygon as many as 64 times in as many as 8 locations per vertex. By enabling this mode, you can have one card anti-alias half the locations per vertex, and the other, the other half. This lets you maintain frame rates that you got from 8x anti-aliasing on a single card, all the way up to 32x anti-aliasing (Nvidia just announced a 3 way SLI implementation that enables 64x anti-aliasing); and produces slightly better image quality even at the same level as with single card AA.

Of course the human eye can’t see the difference between 8x and 32x at most resolutions on most sized screens; and in reality none of those scenes could be rendered that highly anyway, because in a real game, the CPU would be too busy with AI and physics information to keep the pipeline full at those resolutions.

At lower resolutions, as I said before, even low end cards can render acceptably, and midrange cards render just as well as the high end ones. There’s really no benefit to SLI at lower resolutions at all.

As you can see, SLI is really just bragging points right now; because the GPU is no longer a limiting factor in any modern game, at any reasonable resolution, level of detail, or level of filtering.

For the last few years, programmers have been focused on improving the physics engines, AIs, and element simulation in their games. This has all put massive strain on the CPU, while graphics have been relatively static (and has also resulted in the development of a physics accelerator card).

Now that DX10 games are coming out, we’re getting a little more demand on the video cards. Games like Crysis for example really do need a high end card to keep up; but still, the limiting factor on games is mostly the CPU; and likely will be until games are programmed to offload physics tasks onto multiple cores or dedicated sub processors (which is starting to happen, slowly).

There are two other things that together make SLI kind of pointless; the 4GB memory barrier, and MMIO.

On 32 bit operating systems, the maximum physical memory addressing space is 4GB. That means that no matter how much memory is in a box, a 32 bit OS will only see 4GB of it, unless you do some weird tricks with memory allocation (which many dedicated servers can do for example).

Now, for most applications and with most hardware, that isn’t an issue; because the maximum memory space that can be assigned to a single application is 3GB anyway (with 1GB allocated to the Operating System Kernel). Unfortunately for us, memory requirements have really been going up on games the last few years, and so now, some games can easily use all 3GB available to them (and all your swap space too).

Ok, again, still not a problem because you’ve got 4gb right?

Well… no.

When the 32 bit memory space was first opened up to personal computers, with the introduction of the Intel 80386 processor in 1986 (Macs had 32 bit processors beginning with the mac plus in 1986; but only got a full 32 bit address space with System 7 in 1991) ; the idea of 4GB in a home computer was thought preposterous. The few people who thought we may eventually see such memory usage, all assumed we would have transitioned to 64 bit systems by then.

In fact, every other platform HAS transitioned to 64 bit; most of them within 10 years of the 386’s introduction (though most still operate in both modes depending on circumstances).

Every platform except Windows.

Even more irritating, is that for about 3 years now, every new processor and chipset has also been 64bit; but the operating system isn’t using that capability.

At any rate, no-one thought we would ever use 4GB of RAM, for as long as 4GB of RAM was a limitation; so they decided to use that “extra” addressing space”.

What they came up with, was called “Memory Mapped Input and Output” or MMIO.

Actually MMIO had been used before; it was used in the 640k days as well, and there were several different workarounds and memory managers that moved the MMIO space into the HMA (high memory areas). This gave you most of your memory below 640k back, and put the device maps into the area above 640k, so that the low memory area was usable by programs.

Well, an identical situation exists today. Every physical device in a computer needs to have a dedicated address space so that software can talk to it. The way MMIO works, is that rather than create a separate addressing space for every device (which would have been a nightmare); programmers simply wrote the BIOS and OS to write to an address in main memory that was mapped to the IO of that device; thus Memory Mapped IO.

When the 32 bit address space became available, it was a natural to use MMIO again. S0 for all these new devices, they allocated addresses starting with the very last byte of the 4GB space, and counted down from there.

Initially this wasn’t a big deal. The MMIO space used by devices on a system was typically less than 64k. Then AGP and USB came along, and devices started requesting a lot more address space. Sometimes as much as 256MB; because the video card needed to map every bit of it’s onboard memory into the main memory addressing space.

Again, not a problem; because no-one could afford more than 2GB of RAM, and no non-server chipsets (which handle the problem by extending their mapping space through mutliple 32bit address tables, and remapping MMIO to a virtual space counting down from 32GB) supported 4GB anyway.

In 2004, four things happened pretty much all at once to make this 4GB issue a potential problem: Graphics cards started regularly coming with 512MB of memory or more (there are now cards with two GPUs on one card, and 1.5GB of memory), Nvidia introduced their new SLI system to work with these higher end cards, Intel and Nvidia both introduced new chipsets and reference motherboards that supported 4GB (or even 8GB) of RAM, and RAM prices crashed through the floor.

At this point, you could put 4GB of RAM in a system for a relatively reasonable amount of money; but when you put that 768MB graphics card in, all of a sudden your operating system could only see and address 3.2GB. Put two of them into a box, and you’re down to 2.5GB.

So you’ve paid for 4GB, and installed 4GB; but you’re only actually able to use 2.5GB?

That’s a problem… but at least there weren’t very any games that needed more than 2GB of ram…

...Until Supreme Commander came out, and it wanted every bit of memory you could give it. In fact, it wanted MORE than you could give it, and tried to steal memory from the OS, thus causing many many crashes.

In Supreme Commander, you are the strategic commander of an armored mech army, which can vary in size from a few units, up to several thousand. Each individual unit is fully rendered and textured, and has it’s own AI. All terrain is also fully rendered. There can be several hundred fully rendered units on screen at any given time.

There is no system today that can handle supreme commander at… really any resolution. 3ghz quad core with 3.2gb of RAM (down from 4gb), and a 768mb 8800GTX is the best you can do, and even then it slows down to under 30fps quite frequently.

Given the amount of 3D work required, one would think an SLI configuration would be perfect for Supreme commander. The problem is the memory hole created by the cards memory.
If you run supreme commander on an SLI system all you’re doing is taking away memory that the CPU needs to handle all the units on the screen.

Today, you have the capability to put 3 gigs worth of video ram into a system; but if you did that in a system with 4GB of RAM, you'd end up with just 1GB usable system memory. Because of the 4gb memory barrier on 32 bit operating systems, you can't add more RAM to compensate. All you can do is decided whether you need more video RAM, or more system RAM; and choose your video memory accordingly.

Honestly, my personal recommendation is to skip the SLI, and cards with more than 512mb of video memory; and keep that system memory available.

It's only very rarely can a single card effectively use more than 512 megs of RAM. In theory, there are some situations where running two 512 meg cards in an SLI configuration; which cuts you down to under 3gb of RAM usable, will give you enough graphical performance increase to justify losing that gig. Most of the time however, you aren't going to see that kind of performance boost.

My personal recommendation is to buy one very good card with 512 megs of video ram (or if you must, up to 768); and pay for the full 4 gigs of system RAM.

Well, I hope this was helpful. I realize theres a lot of obscure detail here, but if you're trying to make an informed decision, this is the absolute minimum of what you need to know. We haven't even gone in to things like chipset differences, sound cards, or processor architecture issues; and those would be another 10,000 words easy. Don't even get me started on Vista vs. XP, or 32bit vs. 64 bit.

Any questions?