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