Mono c# vs c++ in opengl game development? [closed]
-
28-09-2019 - |
Question
Which of these languages is better for opengl game with primary platform linux? I would like if you compared them in performance and libraries support.
Solution
C++ is a low-level, highly flexible and powerful language. It compiles native code (it's fast) and has a large array of helpful libraries. I would recommend it for any OpenGL project. You may also look into other c-family languages, that share many of the same benefits.
(I sound like an ad)
OTHER TIPS
If you don't know enough about C++ and C# to answer this question yourself then I suggest you go for C#.
In C++ you may get slightly better performance, but only if you have enough experience with it. Otherwise it'll probably end up being slower.
C++ libraries can be easily called from Mono using pInvoke, but Mono libraries cannot be used from C++ (without embedding entire mono in your game).
Library support is about the same, all of the 3d rendering libraries I can think of have .net bindings. If you want lower level libraries(openGL, openAL etc.) OpenTk has bindings for just about everything you need. A quick look at the programming language shootout looks like mono is 1/2 the speed of G++ I would be really surprised if that held in the general case though.
I would say it largely depend on the code to be developed, I mean, the rest of the app. For pro gaming stuff and so on C++ seems to be the stronger choice.
I've used OpenGL + C# to render our version tree (plastic scm) on Linux, Windows, Mac with very good results, but we're not doing a game! :)