(for those who don’t like reading, solution is at the end of the article 🙂 )
I’m not going into the details but it seems that it is known that diablo 2 has a bug in it’s engine that makes it use the entire available CPU, which on single cores results in a 100% CPU usage and on dual cores in a 50% CPU usage of one core.
I’ve tried a lot of solutions, one of which was a process priority program, after which I’ve found out the actual cause which obviously explained why that method didn’t work.
So I figured I could solve this by running the game in a virtual machine. False. Then I figured I could try to use vmware ESX and run in a virtual machine under that for the only reason as ESX allows controlling the resources, mainly I can tell it what amount of the CPU to use for the VM. I spent a week trying to get that to work (I installed ESXi in vmware player, so yes, it works (don’t forget to enable virtualization if you don’t have it enabled in the BIOS)). After some terrible results running the copied VMs I installed a new one from scratch, put diablo on it but, it was again using full CPU however not to run diablo but to run the vm WITH diablo. And beside this, diablo wasn’t even playable. The lag was huge on the menu alone, the game itself was suicide to play.
So I dropped this version and went on to searching which now produce a pretty good result: http://mion.faireal.net/BES/
This little thing will actually get the process to sleep for a little bit, thus resulting in the process using less CPU. And since diablo doesn’t need that much CPU, this is all nice and dandy. THIS really works. Now I’m off to playing diablo, wihout causing my CPU to spit smoke hehehe.