Mono C# vs C++ в разработке игр opengl?
Какой из этих языков лучше для игры opengl с основной платформой linux? Хотелось бы сравнить их по производительности и поддержке библиотек.
4 ответа
C++ - это низкоуровневый, очень гибкий и мощный язык. Он компилирует нативный код (это быстро) и имеет большой массив полезных библиотек. Я бы порекомендовал его для любого проекта OpenGL. Вы также можете посмотреть на другие языки c-family, которые имеют те же преимущества.
(Я звучу как реклама)
Если вы не знаете достаточно о C++ и C#, чтобы самостоятельно ответить на этот вопрос, то я предлагаю вам перейти на C#.
В C++ вы можете получить чуть лучшую производительность, но только если у вас достаточно опыта работы с ней. В противном случае это, вероятно, будет медленнее.
Библиотеки C++ можно легко вызывать из Mono с помощью pInvoke, но библиотеки Mono нельзя использовать из C++ (без встраивания всего моно в вашу игру).
Я бы сказал, что это во многом зависит от кода, который будет разработан, я имею в виду остальную часть приложения. Для профессионалов игр и т. Д. C++ кажется более сильным выбором.
Я использовал OpenGL + C# для рендеринга нашего дерева версий (Plastic Scm) в Linux, Windows, Mac с очень хорошими результатами, но мы не играем в игру!:)
Поддержка библиотек примерно одинакова, все библиотеки трехмерного рендеринга, о которых я могу думать, имеют привязки.net. Если вам нужны библиотеки более низкого уровня (openGL, openAL и т. Д.), У OpenTk есть привязки практически ко всему, что вам нужно. Беглый взгляд на стрельбу на языке программирования выглядит так, как будто моно - это половина скорости G++. Я был бы очень удивлен, если бы это было в общем случае.