Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Какова причина повсеместного использования C++ в геймдеве?

ВидеоигрыQ-videogames
Максим Алпацкий
  · 13,6 K
Программист, фотограф и террариумист  · 3 февр 2022
Очень мощный инструменты для кодогенерации из шаблонов. Изза этого можно обрабатывать данные оптимальным образом. Простой пример - нужно сделать сумму всех чисел в контейнере. С++ позволяет сгенерировать отдельный код для суммирования, например, 32 битных знаковых целых чисел, 64 битных чисел с плавающей запятой или вообще комплексных чисел. При этом каждая их этих реализаций может использовать возможности современных процессоров, например за одну инструкцию просуммировать 4 числа (называется векторизацией).
Кроме того С++ не ограничивает вас в выборе способа управления памятью. Это позволяет очень сильно ускорить обработку большого количества данных. Например сделать свой простой аллокатор и создавать/удалять объекты гораздо быстрее чем стандартные new/malloc delete/free
Диванный философ, по совместительству инженер  · 16 авг 2020
Потому что с одной стороны C++ позволяет создать крайне эффективные компиляторы в машинный код, которые по эффективности будут априори лучше любого интерпретатора например виртуальной машины Java. А с другой C++ это полноценный объектно-ориентированный язык программирования позволяющий применять современные технологии групповой разработки больших систем. Плюс это... Читать далее
Говорим простым языком про игры, кино, музыку и технологии  · 23 июн 2020  ·
octopus_sprut
Отвечает
Илья Иванов
Отвечаю просто и без сложных терминов. С++ - это тот язык, который позволяет очень тонко оптимизировать игру на уровне железа. Опытный программист может очень деликатно оптимизировать работу физики, рендеринга окружения, что в свою очередь позволяет запускать игры на устройствах с достаточно небольшим количеством оперативной памяти, процессорах 5 летней давности, ну и... Читать далее
Подписывайтесь на нас Вконтакте. Пишем про игры, кино, музыку и технологииПерейти на vk.com/octopus_sprut
Ответ дилетанта, и такие же умники лайков наставили. Современные игры пишутся на игровых движках, а не на плюсах... Читать дальше
Математик, программист, инженер, интересуюсь также психологией и общественными отношениями  · 12 сент 2020
1) Скорость, т.к. компилируемый и содержит низкоуровневые возможности. 2) Стандартизация и доступность, позволяющие немного ориентироваться на возможностям предлагаемым платформами. 3) баланс между низкоуровневостью и возможностью абстрагировать логику. 4) Лёгкое встраивание Си. Как итог перечисленного, разработчикам проще выжимать большее качество или расширять... Читать далее
в жопу сходите со своим профилем  · 18 июл 2020

В с++ есть уникальный баланс между возможностями объектно-ориентированного программирования и производительностью. Он одновременно позволяет писать высокоуровневый абстрактный код, который при этом работает со скоростью близкой к машинному коду (ассемблеру).

Так он просто в ассемблер и транслируется на этапе компиляции. C# так же в ассемблер транслирует перед... Читать дальше
Первый
Разработка видео игр (Steam, Play Market). C\C++\Java\Kotlin\OpenGL  · 1 июл 2020

Скорость работы и гибкость. Дело в том, что компьютерные игры это графика в первую очередь, соответственно вам всегда надо перетягивать канат в сторону скорости работы вашей программы, потому и С\С++. На самом деле, непосредственно на С++ мало кто пишет, это всегда в связке С\С++. Также и системы реального времени, операционные системы, драйвера, ну и конечно компьютерные игры.

lgtwb  · 11 июл 2020

А вам, господин Автор, я ответственно рекомендую не слушать болванов, и просто посмотреть поддерживаемые языки в современных платформах для разработки игр (я говорю именно о движках).

Ответ найдете сами. Так просто сложилось исторически, никаких реальных преимуществ C++ не дает. Это всего лишь популярный инструмент.

Первый

C++ заточен под эффективный полу-автоматический менеджмент памяти и ювелирные оптимизации в нужных местах т.е. контекстно. Плюс позволяет как строить абстракции, так и достучаться до скрытых ресурсов ОС. Плюс компилируется везде, хотя бы голый Си. Так что...

Наличие компиляторов этого языка! Оптимизированный машинный код это вам не байт-код для виртуальной машины. Подавляющее большинство геймеров имеет процессоры с Х кб кэша первого уровня и ровно под это количество затачиваются обрабатываемые структуры данных. Программисты С++ с опытом знают и умеют, это умение монетизируется продажами игр.

Ответ достаточно прост и банален. Язык программирования С++ на сегодняшний момент является наиболее низкоуровневым языком с реализацией ООП и всех тех модных штук, без которых современные программисты не мыслят свою жизнь. Минимальное количество слоёв абстракции при соблюдении ряда условий позволяет современным компиляторам выдавать достаточно хорошо оптимизированный... Читать далее