This is a 2 part question. i currently have a geforce gt640 and i want to upgrade to a hd5850 as i know one going cheap. it it worth the move.
the second question is about crossfiring the hd5850. do they have to be exactly the same cards to work or can they be made by two different companies e.i. ATI, EVGA, Sapphire etc but they are the basic same card. does this work.
I did not understand you properly but you cannot Crossfire an Nvidia graphics card in your case the GT640 with a Radeon graphics card like the HD 5850. You can Crossfire Radeon cards that are the same number like two HD 5850s and they also need to have the same amount of Video RAM memory. You can use different manufacturers like Sapphire and XFX for example. I prefer one powerful card over 2 weaker ones in Crossfire and two 5850s in Crossfire would really pull some watts.