La roba XNA Game Studio è focalizzata intorno risolvere i problemi di gioco centric, anche se vorrei mettere in discussione ogni poster che dice le prestazioni della roba Game Studio XNA è peggio di x dirette gestite senza vedere alcuni parametri decenti.
Un gruppo indipendente al di fuori di Stati membri hanno creato un progetto chiamato SlimDX - http://slimdx.mdxinfo.com/ Se si sta scrivendo un'applicazione piuttosto che un gioco (che mi aspetto che non sei da parte delle altre questioni), allora che potrebbe essere opportuno prendere in considerazione.
L'industria utilizza ancora il C++ per il gioco, ma ci sono state versioni di giochi di successo scritte in codice completamente gestito utilizzando XNA Game Studio nella sezione giochi di comunità di XBox live e rilasciate sullo stesso XBox Arcade. Ci dovrebbero essere alcune statistiche interessanti che arrivano molto presto su quante persone hanno fatto sui giochi della comunità.
Molti giochi a prezzo pieno utilizzano C++ per alcuni, ma qualcosa come Lua per la logica di gioco reale ... e Lua non è noto per la velocità incredibile!
C# ha una buona curva di apprendimento ed è utilizzato dai programmatori di strumenti del settore: sarebbe una lingua utile da tenere sotto controllo. C++ sarebbe un ottimo linguaggio da avere, ma richiede più disciplina per creare codice funzionale - e dà a qualcuno di nuovo molto più corda da cui impiccarsi. C# può cambiare dinamicamente e fare cose come i loop di srotolamento in fase di esecuzione piuttosto che compilare il tempo: il buon C# può essere più veloce o più veloce del buon C++ leggibile, ma devi sapere come usarlo. In loop davvero stretti, C++ e Assembler potrebbero vincere in determinate circostanze. Spesso nei giochi che utilizzano C++, gli allocatori personalizzati vengono creati con le proprie strategie di memoria per tentare di aiutare la frammentazione causata da normali allocatori ... questo tipo di cose viene gestito dal CLR in .Net/C# e finché si programma al i punti di forza dei garbage collector (lo stesso che avresti a che fare con la tua implementazione C++) quindi non devi preoccuparti di dettagli di implementazione di così basso livello in .Net.
Se stai cercando di entrare nello sviluppo del gioco e di decidere su una lingua (che, leggendo tra le righe sembra essere dove stai andando con quella linea di domande) allora il linguaggio migliore da usare è quello in cui hai un progetto finito da mostrare alla fine di esso, sia esso C++, obiettivo C, C#, Flash, Silverlight, ecc. Man mano che le lingue cambiano e entrano ed escono dal favore, i reclutatori spesso cercano una comprovata padronanza di diverse lingue - che potrebbe mitigare non conoscendo quello che stanno attualmente utilizzando e un portfolio di lavoro completato lo farebbe.
Grazie per questo sovietico. –