Есть ли смысл учитывать аппаратное количество потоков в игровом движке? Пишу игровой движок.
Если вкратце, есть модули, а у модулей есть worker'ы, это может быть расчёт ботов или другой игровой логики, взаимодействие с сервером и т.д.
Часть из этих worker'ов могут быть распараллелены(на CPU).
Есть ли смысл учитывать количество аппаратно поддерживаемых потоков(например вот это значение en.cppreference.com/w/cpp/thread/thread/hardware_c...) или же делать их столько, сколько можно и положиться на ОС?
Не будет ли большого оверхеда при переключении контекста?

21 Авг 2019 в 06:28
192 +1
1
Ответы
1

Да, имеет смысл учитывать аппаратное количество потоков в игровом движке. Учитывание этого значения поможет оптимизировать работу программы и эффективно использовать доступные ресурсы процессора.

Оптимальное количество потоков зависит от характеристик самого процессора и от реализации программы. При установлении количества потоков важно также учитывать количество ядер процессора и его возможности параллельной обработки.

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

20 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир