Re: upgrading from hd 4890
I would go with the 5870. As many people on this forum will tell you, ATi has won this generation, the HD5000 cards are more efficient when it comes to power consumption and the performance is very close between the high end chips with ATi being a bit more affordable. Also, ATi's HD5000 cards support Eyefinity, a technology that lets you run multiple monitors together as one big gaming screen, they also support driving 3 monitors off one card (or 6 with the special Eyefinity 6 edition).
I originally wanted a GTX470 having been a big nVidia fan for the past few generations, but after reading HD5870 reviews I decided the 5870 was the way to go. Now I'm running a 3 monitor Eyefinity setup and it is excellent. The 5870 is marginally better than the GTX470 in most of the tests I've seen, but they're pretty close cards. The 5870 uses less power and they cost about the same. The GTX480 is the fastest single-GPU card out there, outpacing the 5870 in most cases at the expense of costing $200 more, a price that probably isn't worth the performance boost. Also around $600, the Radeon HD5970 is a dual-GPU card that utilizes two of the 5870 chips to match or exceed the GTX480's performance.
I would go with the HD5870, I can play all the Source games, GTA IV, and others at full or near full settings across 3 1920x1080 monitors at full frame rate. Crysis is the only game that shows noticeable slowdown when running in Eyefinity, it runs fine at full settings on one monitor but is slower on 3, still easily playable if some of the settings are turned down a bit.
The one thing nVidia has that ATi doesn't is CUDA, nVidia's proprietary general-purpose GPU computing library that enables applications to use the GPU as a high performance computational processor. This is used in nVidia's PhysX technology to compute realistic physics interactions in supported games. While this is a nice feature, ATi's new cards (as well as nVidia's) support newer general-purpose GPU computing technologies such as OpenCL and DirectCompute (part of DirectX 11). This hopefully will mean more companies leave CUDA in favor of widely supported systems like OpenCL.
The biggest reason I bring CUDA up is that many people here run Folding@Home. While both ATi and nVidia GPU's are capable of running it, the current revisions are optimized for CUDA and thus nVidia GPU's perform much better. Hopefully this will change when Folding@Home releases an OpenCL client.