i want to upgrade abit to get the best out my games, should i upgrade i3 to a i5 2500k or upgrade my gtx 570 to a amd 7870
any advice would be great thanks
I'd go for the GPU upgrade if it's for gaming. Your cpu is hyper threadded, so it can do double threadded games and the occasional 4-threaded games fine. Unless you like to play starcraft 2 custom games, or other processor intensive games, I'd say the gpu. I personally have a 7870 and will say they're great, but if you can, look for the 7870XT cards. They have more cores than the stock 7870's (1536 v 1280 Stream Processors). If you can find one on sale, id go for that.
i'd look into upgrading to an i5 (if you can try for the 3570k, but the 2500k would do fine too) first and foremost. Hyper threading doesn't help much at all. i3's are starting to fall behind in more current games that are optimized for 4 cores. Your gpu is not terrible by any stretch of the imagination, you'll be fine for a little while longer.
The CPU is the biggest limitation particularly where the game scales beyond 2 cores, the second limitation is that its locked and the lower clockspeeds will eventually bottleneck the GPU from reaching its maximum capable output. Do I think either is a problem, no, the I3 is still copious enough but you will definitely see the gains going to a i5.
Notice how for the majority of games it takes a high-end multi-GPU setup to see a large difference in frame rates between different processors. Even then, how many cases drop you below playable frame rates? Most have framerates well above what a typical (60Hz) monitor can display.
There is some merit to argument that newer games are using more threads. However, I suspect that those games will also be more challenging on your video card and thus your GTX570 will still be the bottleneck. Consider how many games already exist that would see a benefit from upgrading your video card.
That said, if you are going for a 7870, you should definitely make sure you get the XT version. Better yet, save for an even higher end card as you may be a little disappointed in the performance gain. I'm not saying the 7870 is bad by any means. I just prefer upgrades that are extremely noticeable. Still, the video card will be far more noticeable in games than a processor upgrade. (Excluding perhaps StarCraft II and maybe Civilization V)
Update: I saw your other thread. Given the price of the i5-2500K you have on the hook, I would recommend buying it and saving the extra cash to make a more significant GPU upgrade later.