• 締切済み

C#で3Dゲームを作ることについて

最近、C++でDirectXをやっているのですが、C#に慣れ親しんだせいか、C++のエグさに失神しそうです。 そこでお聞きしたいのですが、「C#とXNA」「C#とDirectX直接」のようなものは、 「C++とDirectX直接」と比べて、速度はどれくらい違うものでしょうか? 作りたいゲームは3DのFPSゲームみたいなやつですが、 さすがに数千円のFPSゲームのようにハイスペックを要求するものではないです。 それこそピンキリだとは思いますが、個人的な感想などでも構いませんので、暇なときにご回答ください。

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

C#の問題点。 ・C#はリコンパイルされる可能性が高い。メーカーはそれを嫌がる。 ・コード的にはC#の方が絶対に遅くなる。それはネイティブとMSILの差だから仕方が無い。例えば20%遅くなって調整に手間取るぐらいならC++を選ぶのがメーカーの選択。 ・.NETのライブラリコードが大きいので配布時に不便。インストールを共用する必要がある。 ただ、組みやすいのがC#のメリットでしょうね。その便利な分だけ自動で処理してくれるので遅いわけですが。

回答No.1

1つだけ言えるのは「FPSゲームを作ってるメーカーはC#よりC/C++を使ってるメーカーの方が圧倒的に多いっぽい」と言う事。 これは「幾つかのゲームプログラムを覗いて実行コードを見てみたら、C/C++が吐き出したっぽいCPUコードばっかりだった」ので、かなり確からしいです。 C/C++が良く使われる理由は、予想ですが「C#は実行コードが冗長になるし、遅いから」だと思われます。