Most games don't use all of a CPU's processing capabilities and may use mainly TWO of them or slightly more. Thus, the per core performance of the core is more important.
And of course there's a FREQUENCY difference. Even if they were identical CPU's the faster one will process more information. Thus on that alone you get:
3.4/2.66 = 27% faster
If we assume an architectural advantage of the newer CPU of say 25% then we get a 58% advantage per core ignoring the i3's hyperthreading which could add up to 30% more but only if the program could use that (which it likely can't).
NOTE:
Both CPU's should be able to convert a HANDBRAKE video at almost exactly the same speed. If we factor the FREQUENCY and the ARCHITECTURE (guessing on difference), and HT advantage we get:
1.27 x 1.25 x 1.3 = 2.06
THUS, each i3's physical cores can process up to the same amount of data as TWO of the Xeon's assuming a program can use it all.
HYPERTHREADING:
This is a technique of using the SAME CORE by running a separate instruction through it when the core is still waiting for the next batch of data.
It's like having a bunch of smarties in both hands and sneaking in a few from the left hand to eat (process) when the right hand reaches down to get more.
HT can't always be used if the code order (in-order vs out-of-order) doesn't allow for it of the program can't use more than a certain number of threads period.
Nomenclature:
2C 2T - this means only two physical cores and no hyperthreading (read as: two cores, two threads)
2C 4T - this means two physical cores with hyperthreading (read as: two cores, four threads). Thus, each core can hyperthread, or run another instruction as explained above when programming allows.