Much of the i7 being "the best" processor in Intel's lineup is marketing hype. Over the i5, the i7 gives you:
■Slightly higher clock speeds
■A bit more L3 cache (8MB vs 6MB)
■Hyperthreading
The higher clock speeds should have the most pronounced effect on CPU-bound tasks. Unfortunately most games are not CPU-bound.
The larger L3 cache is nice if you're doing number crunching or data processing (e.g. compression, encryption) on large data sets. For more everyday tasks including gaming, The L1 and L2 caches usually take care of about 95% of memory fetch requests. And the extra L3 cache makes very little difference.
Hyperthreading is substantially overhyped IMHO. Yes hyperthreading allows the CPU to run 8 threads instead of 4. But the problem is those 4 virtual cores can only use parts of the CPU
not being used by the 4 physical cores. The vast majority of CPU-limited tasks are limited because they need to use the
same part of all cores. e.g. If you're doing extensive floating point calculations, then the floating point unit is the limiting factor, and only 4 threads can use the FPU at once on a 4-core CPU even if it has hyperthreading.
It takes a very eclectic task to really get good mileage out of hyperthreading. Something which needs to do lots of different operations at once. In terms of real-life tasks, this is pretty much limited to video rendering, data compression, and to a lesser extent encryption. Those can get about 30%-40% more mileage out of hyperthreading. So a 4-core CPU acts more like it has 5-5.5 cores. Outside of those tasks, you'll only get about a 5%-10% improvement from hyperthreading. And in some cases hyperthreading will actually make things slower (part of a sequential task gets assigned to a virtual core, and cannot complete in time causing delays compared to using only physical cores).
There are a few games which get good mileage out of hyperthreading, but they are the exception, not the norm. Sorry this lesson cost you £300. I agree with the first response that a SSD would've been a better upgrade. And do
not try to render while gaming, unless you can manually assign the render to only virtual cores while the game runs on physical cores. The thread assigner in Windows doesn't seem to distinguish between real and virtual cores, and can end up assigning time-critical game threads to virtual cores, while the non-time-critical render can hog up physical cores.