Recently my computer was having lag on all directX apps. I have a common routine for if the computer starts overheating a lot (which it also did). And that routine is dusting it's innards. No. Really. It made all my games work without lag and an Empire naval battle (at full graphics settings) with gale winds and a rain storm worked almost free of lag. Just wanted to say this and if your CPU's overheating, vacuuming it's insides should help.
Bookmarks