I'm definately no expert, but from what I hear, DirectX is a bit faster with C++ than with C#, but the difference is almost unnoticable. So use whichever you feel like using. As for Dx8 or 9, I'd say 8 because not everyone has 9 yet, but there may be good reasons to use 9. I don't know too much about DirectX, so sorry I can't give good advice.