Пишите в C ++ и открывайте для C # или пишите напрямую в C #?

Я провожу небольшое исследование, прежде чем собираюсь написать свой собственный 2D (и, возможно, 3D) игровой движок. Я сделал движок перед использованием C # и XNA, но на этот раз я хочу перейти на кросс-платформенный, сделав свой новый движок на C ++ с использованием opengl и т. Д.

Но ... Я все еще хочу быстрое время итерации из C # и имею доступ к игровой движок там.

Итак, у меня есть несколько вариантов здесь.

  1. Написать движок и оболочку CLI на C ++
  2. Написать все это непосредственно на C #, без C ++
  3. Написать на C ++ и использовать Mono загрузить код / ​​сборки C # в движок.
  4. Нет C #
  5. ... Вероятно, что-то, о чем я еще не думал

Я думаю, что мне нужна скорость для отбраковки, сценографического материала, вычислений матрицы, систем частиц и т. д.

Что за и против? Что вы предлагаете?

7
задан tshepang 12 May 2014 в 19:15
поделиться

3 ответа

Если вам нужна кроссплатформенность, вы не можете использовать C ++ / CLI. Это не поддерживается ни на каких платформах, кроме Windows.

При этом для кроссплатформенности я бы либо использовал C # с Tao , либо использовал C ++, чтобы сделать движок библиотекой, и использовать Platform Invoke, чтобы «использовать» библиотеку изнутри вашего Код C #. Это обеспечит вам скорость и контроль, необходимые в ядре движка (C ++), с гибкостью игрового дизайна на C #.

Это обеспечивает чистые кроссплатформенные средства разработки игрового движка, который может быть открыт для C #.

2
ответ дан 7 December 2019 в 14:26
поделиться

Оптимизированный код C ++ будет значительно быстрее (20% в моем случае для ODE в 32-разрядной версии и почти 40% в 64-разрядной версии; C # медленнее в 64-разрядной версии, чем C # в 32-разрядной версии). -бит, но это другой пост). Я бы воспользовался тяжелой математикой в ​​библиотеке C ++ (интеграция, дифференциальные уравнения и т. Д.).

1
ответ дан 7 December 2019 в 14:26
поделиться

Фреймворк Tao мертв, попробуйте OpenTK вместо

1
ответ дан 7 December 2019 в 14:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: