2010-10-08 3 views
2

Lequel de ces langages est meilleur pour le jeu opengl avec la plate-forme Linux principale? Je voudrais que vous les compariez dans la performance et le support des bibliothèques.Mono C# vs C++ dans le développement de jeux opengl?

+0

cela peut être mieux demandé sur http://gamedev.stackexchange.com –

+3

Mono n'est pas une langue. – sellibitze

+0

oui, je veux dire mono C#, je l'ai édité – kravemir

Répondre

8

C++ est un langage de bas niveau, hautement flexible et puissant. Il compile le code natif (c'est rapide) et possède un large éventail de bibliothèques utiles. Je le recommande pour tout projet OpenGL. Vous pouvez également regarder dans d'autres langues de la famille C, qui partagent beaucoup des mêmes avantages.

(je sonne comme une annonce)

+1

Oui, je sais que C++ est plus rapide, mais C# a une syntaxe plus agréable. C# a GC, ce qui peut rendre le développement plus facile, mais l'application plus lente. Y a-t-il de grandes différences de performance dans ces deux langues? – kravemir

+3

Enfin, la grande majorité des jeux ont été écrits en C++. Il y a un prix à payer pour une bonne syntaxe. :) – dandan78

+0

Les avantages de C# n'est vraiment pas si grand; C++ moderne et un design soigné apportera GC dans votre programme, sans (la plupart) de la performance. Syntaxe sage, c'est à vous de décider. Personnellement, je préfère la syntaxe de C++, mais j'aime certaines des fonctionnalités qui ont été ajoutées en C#. La plupart des plus importants, comme les variables externes lisibles en interne, peuvent être utilisés avec un peu de magie - en général, les gens n'utilisent pas assez les templates et c'est une des raisons pour lesquelles les gens pensent que Java et C# ont une meilleure syntaxe (A MON HUMBLE AVIS). – Clearer

1

appui aux bibliothèques est de la même, toutes les bibliothèques de rendu 3D, je peux penser avoir des liaisons .net. Si vous voulez des bibliothèques de niveau inférieur (openGL, openAL, etc.) OpenTk a des liaisons pour à peu près tout ce dont vous avez besoin. Un rapide coup d'oeil à la fusillade du langage de programmation ressemble à la moitié de la vitesse de G ++ Je serais vraiment surpris si cela se tenait dans le cas général cependant.

1

Je dirais que cela dépend largement du code à développer, je veux dire, le reste de l'application. Pour les jeux professionnels, le C++ semble être le meilleur choix.

J'ai utilisé OpenGL + C# pour rendre notre arbre de version (plastic scm) sous Linux, Windows, Mac avec de très bons résultats, mais nous ne faisons pas de jeu! :)

2

Si vous ne savez pas assez sur C++ et C# pour répondre à cette question vous-même, alors je vous suggère d'opter pour C#.

En C++, vous pouvez obtenir des performances légèrement supérieures, mais seulement si vous en avez assez d'expérience. Sinon, cela finira probablement par être plus lent.

Les bibliothèques C++ peuvent être facilement appelées à partir de Mono en utilisant pInvoke, mais les bibliothèques mono ne peuvent pas être utilisées à partir de C++ (sans intégrer tout le mono dans votre jeu).