牛、豚、鶏、どれか一つ食べられなくなるとしたら?

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

それこそピンキリだとは思いますが、個人的な感想などでも構いませんので、暇なときにご回答ください。

A 回答 (2件)

C#の問題点。


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

1つだけ言えるのは「FPSゲームを作ってるメーカーはC#よりC/C++を使ってるメーカーの方が圧倒的に多いっぽい」と言う事。



これは「幾つかのゲームプログラムを覗いて実行コードを見てみたら、C/C++が吐き出したっぽいCPUコードばっかりだった」ので、かなり確からしいです。

C/C++が良く使われる理由は、予想ですが「C#は実行コードが冗長になるし、遅いから」だと思われます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!