What graphics card do you have? Thatsis, most of the time, the culprit.
If you have a new graphics card, that should be able to run the game very well, you may no be up to date with Direct X.
If nothing works, you could always use GlDirect.
Thats an OpenGL substitute, and works fine. Most of the time.