Несколько причин, по которым современные игры используют много ядер процессора, но не всегда эффективно их задействуют:
- Ограничения в распараллеливании рендеринга. 12 Он должен происходить в строго определённой последовательности, из-за чего его не всегда можно разделить между потоками. 2 Поэтому в играх проще задействовать основной поток для ключевых задач, а остальную работу отдать другим потокам. 2
- Оптимизация под одноядерный или двухъядерный режим вычислений. 4 Многие игры оптимизируются под такой режим, поэтому наличие дополнительных ядер CPU не всегда конвертируется в лучшую игровую производительность. 4
- Особенности API. 5 Например, API DirectX11 разработан исключительно для использования с одним ядром, поэтому даже если разработчики оптимизируют свой код для нескольких ядер, в этом мало преимуществ, так как API по-прежнему является узким местом в большей части программы. 5
Таким образом, использование ресурсов процессора зависит от конкретной игры и её оптимизации для большого числа ядер и потоков. 2