2010-11-21 15 views
3

C言語でXNAを使用してゲームを開発し、それを使用しない場合のパフォーマンスについては疑問に思っていました。 2Dテクスチャの代わりにピクチャボックスを使用できませんか?ゲーム用のWindowsフォームプログラミングを実行することは可能か、それともXNAが最適なソリューションですか?利点/欠点はありますか?C#:XNAとXNA(パフォーマンス)の比較

+0

単純な2Dゲーム向けXNAは偉大で覚えやすいツールです。しかし、あなたが本当に大きな3Dゲームを作ってみたいのであれば、より良いパフォーマンスを提供する[Unity](http://unity3d.com/unity/)のような他のフレームワークをお勧めします。 – harry180

+1

単調性はXNAのようなフレームワークではなく、ツール " –

答えて

10

ゲームが複雑になればなるほどWinFormsの開発は持続可能性が低くなります。 XNAはそのようなものに向けられているので、なぜそれを使用しないのですか?

あなた自身に質問するべき本当の質問は、「自分のゲームをWindows Phone 7、XBOX 360、および/またはWindowsデスクトップで実行したいですか?あなたの答えがイエスならば、XNAを学んでください。最良のことは、あなたがこれらの異なるプラットフォームをターゲットにできるようにするための仕事の大半を行うことです。

Hanselminutes Podcast 240 - Developing Indie Games for Xbox 360 and XNA with George ClingermanトピックのScott Hanselmanによる最近のポッドキャストを聞くことをおすすめします。

8

ゲームのグラフィックの複雑さによって異なります。
良いグラフィックスを備えたハイエンドゲームを作成できる優れたライブラリを学びたい場合は、XNAを使用してください。それはあなたの味に多様性を開くでしょう。
しかし、単純な非スクロール、テトリス、またはソリティアのゲームを作成したい場合は、ダブルバッファの.NETコントロールがこのトリックを行うことができます。

3

最高のパフォーマンスをお探しの場合は、C#またはXNAをまったく見てはいけません。その点については、下位の方が良いでしょう。しかし、レベルが低いということは、プログラミングに費やす時間が少なく、結果が少ないことを意味します。

XNAはゲームプログラミングを容易にするために開発されました。それは非常に強力なフレームワークを活用しながら、私たちが電話をかけるための素朴な方法で、面倒な低レベルのコーディングをたくさん取り、それを包みます。

ゲームを作ることに興味がある場合は、XNAをお勧めします。私はあなたが選択肢よりもはるかにそれを楽しむと思います。

+0

私は、私をdownvoteするのは楽しいことを知っていますが、それをやっている人々はしてくださいいくつかの推論を提供することができますか?私は、学習が提供できれば、学習経験としてあなたの投票を受けたいと思います。ありがとう=) –

+0

マイク、私の推測はあなたの最初の文が間違った方法で出てきたかもしれない。実際には、私がそれを読んだとき、私はほとんどC++が最後に言及されることを期待していました:)しかし、私はあなたの応答全体に問題を見ないので、そのdownvoteを相殺する+1を持っています! –

+0

ありがとう!うん、申し訳ありません。私はただそれを読んで、それは過度に劇的です。私の主張は、C#やXNAを打ち破ることではなかったので、もしそれがそのように取られれば、誰にも怒られてしまい、すみません。パフォーマンスに優れたマネージドコードは、ネイティブよりもオーバーヘッドが大きくなります。私は次の時間Ahmadの頭のおかげでもっと明確にしようとします! –

6

XNAを使用してください。別に大幅優れたパフォーマンス、より良いサポートされるプラットフォーム(Xbox 360の、のWindows Phone)、音と入力取り扱いなどの他のAPIのnice値を持つから、1つの非常に重要な理由があります:

XNAは、「即時」スタイルのAPIです(保持されたものとは対照的に; this description参照)。

このタイプのAPIを使用してゲームを開発することは、と大きく相違しますです。その理由は、あまりにも多くのdetialに陥ることなく、保持されているAPIでは、外部シーンがあなたのゲーム状態と同期していることを保証する必要があるからです。これは面倒でバグが多い(私はそれをやったと信じて)。