- 締切済み
C#で3Dゲームを作ることについて
最近、C++でDirectXをやっているのですが、C#に慣れ親しんだせいか、C++のエグさに失神しそうです。 そこでお聞きしたいのですが、「C#とXNA」「C#とDirectX直接」のようなものは、 「C++とDirectX直接」と比べて、速度はどれくらい違うものでしょうか? 作りたいゲームは3DのFPSゲームみたいなやつですが、 さすがに数千円のFPSゲームのようにハイスペックを要求するものではないです。 それこそピンキリだとは思いますが、個人的な感想などでも構いませんので、暇なときにご回答ください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- zwi
- ベストアンサー率56% (730/1282)
回答No.2
C#の問題点。 ・C#はリコンパイルされる可能性が高い。メーカーはそれを嫌がる。 ・コード的にはC#の方が絶対に遅くなる。それはネイティブとMSILの差だから仕方が無い。例えば20%遅くなって調整に手間取るぐらいならC++を選ぶのがメーカーの選択。 ・.NETのライブラリコードが大きいので配布時に不便。インストールを共用する必要がある。 ただ、組みやすいのがC#のメリットでしょうね。その便利な分だけ自動で処理してくれるので遅いわけですが。
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
回答No.1
1つだけ言えるのは「FPSゲームを作ってるメーカーはC#よりC/C++を使ってるメーカーの方が圧倒的に多いっぽい」と言う事。 これは「幾つかのゲームプログラムを覗いて実行コードを見てみたら、C/C++が吐き出したっぽいCPUコードばっかりだった」ので、かなり確からしいです。 C/C++が良く使われる理由は、予想ですが「C#は実行コードが冗長になるし、遅いから」だと思われます。