but what if i intend to use the card for 2 years? i play at max graphics whenever possible and i want to have good (at least acceptable) framerates for future games. so is the 640 or 320 the way to go?
i play at 1280x1024 btw.
2 8800GTS 320Mb are faster than a single 8800GTX especially at higher resolution gaming. So go for that one. But for now it's good enough to have one 8800GTS 320Mb. Assuming you're running you games at 1280x1024 resolution or lower. Then if there's a game that will slow down that card then get a matching pair to SLi it and it should be cheaper by then.
Go for the 8800 GTS 640 MB if you are planning to game at higher resolutions, more than 1280x1024. This card will give you good performance at 1600x1200. If you are planning to go higher than that go for the GTX. If you are planning to game at 1280x1024 or less buy the 320 GTS.
GRAW2 is out in the next couple of weeks and that uses more than 320mb for it's "High" setting on textures, you can only assume that all games after this will most likely be the same. Basically the 320 will fly if you set it to Medium, but slow to a crawl just by enabling High res textures. Where as the 640 will still fly set to High res textures @ 1280x1024
e.g. GRAW, Doom3, Quake4 etc. all use more than 256mb for their High textures, around 280-290mb I believe - which means they play fine on the 320mb, but I know from bitter experience that a 256mb card has to be turned down to Medium textures to play them)
I game at 1280x1024 and I have the 640 for this very reason, it was a lesson learnt the hard way when everyone on here told me to save the money and buy a 256mb card when I was looking at 7xxx series nvidia cards
the 320mb cards came out a bit later, so tend to come factory overclocked, but my 640 overclocks to 620/1900 (core/mem) and I then get scores and framerates close to that of the GTX @ stock