Сильно ли отличаются производительностью C++ и C#?
Изучая геймдейв, особенно с Unity и C#, нашел очень много рекомендаций, что лучше изучать С++ с UE, что любой серьезный проект будет значительно проседать и это будет сильно заметно, так ли это ?
edward_freedom, конешно я не претендую на создание игры по типу GTA, Tera, Lineage, но я не знаю не одной игры на током уровне созданой на Юнити, только 7 Day to Die
P4tRicK, Все зависит от цели и времени. Если цель - создать в одиночку игру и при этом получить полностью законченный продукт - это Unity. Игра на C++ несомненно будет быстрее (при умелом использовании), но времени на разработку вы потратите намного больше.
P.S. Escape from Tarkov создана на Unity.
Ну т.е. то, что юнити в итоге транслирует c# в c++ вас не смущает? ;-)
По факту. При использовании движка важность языка в контексте перфоманса уже отошла с первого плана. Смотрите на поддерживаемые платформы, на рендер-пайплайн, на внутренние оптимизации.
Евгений Шатунов, понятное дело что нативно можно сделать сильно быстрее конкретный код, спору нет. Это именно к, на мой взгляд, дилетантскому вопросу "а какой язык быстрее". Не язык решает )
GavriKos, спасибо. У меня эта информация из поля зрения, видимо, выпала. :)
В целом, лично я уже года 4 как заметил что AOT оптимизация у Рослина, или у ART, позволяет добиваться производительности схожей с самыми мудреными схемами оптимизаций на плюсах. В общем-то, разница и правда становится минимальной.
Виталий Столяров, сорян, промедитировал ваш комментарий. Ну ответ на то "как" уже дан ссылкой. Про сборку мусора - насколько я помню используется свой гибридный GC. Но тут уверенности нет.
Евгений Шатунов, именно. Если конечно упороться - то можно добиться большой разницы на очень конкретном коде. С другой стороны - кто мешает упороться точно так же с c#. Ну и с третьей - это ж какую логику надо писать (на клиенте, имеется ввиду), чтобы она занимала больше рендера и накладных расходов...
На С++ должно работать в среднем быстрее, но стоит ли оно того, если будет выдавать на 5-10% кадров больше, а на разработку потратить в полтора раза больше усилий?
Лучше сначала делать понятную архитектуру и писать легкий в модификации код, а уже потом при необходимости делать оптимизации (и то, скорее они будут нужны в плане структуры данных и алгоритмов).
Виталий Столяров, этого там нигде не написано, но вроде как очевидно что приблизительно такого мнения придерживались, придерживаются и я надеюсь будут придерживаться разработчики из id, потому что описанное в статейке имхо вполне тянет на шедевр, и уж точно на это было затрачено туча времени.
А вообще это сообщение было что-то типа шутки, мне просто понравилась картинка because its freaking awesome.
Хотя даже если бы я говорил серьезно, то все равно бы обратился к примеру id Software: их поделки часто имеют своей целью слегка толкать вперед как индустрию, так и связанные области науки; соответственно если у ТСа цель схожая, то результаты будут стоить усилий. А если нет, то нет.