на что влияют потоки в процессоре в играх
Сколько ядер и потоков процессора нужно для игр в 2020 году
Содержание
Содержание
Четырьмя ядрами процессора уже давно никого не удивить, в последние время количество ядер и потоков в предлагаемых для настольного ПК центральных процессорах растёт с каждым годом. Поколение консолей с x86 архитектурой и 8 ядрами на борту уже готово смениться на следующее. Сколько же ядер нужно для игр прямо сейчас и в ближайшем будущем?
Методика тестирования
В идеальных условиях необходимо взять многоядерный процессор и протестировать все варианты отключения ядер. При этом надо сохранить идентичность внутренних взаимодействий и размер кеша. С другой стороны, такое исследование несет меньше пользы в реальном применении — размер кеша является одним из инструментов в разделении линеек. Поэтому многоядерные решения имеют большой размер кеша, а самые младшие процессоры в несколько раз меньше заветных МБ в L3.
Выявлять зависимость игр от количества ядер и потоков центрального процессора будем на двенадцатиядерном Ryzen 9 3900X.
Для каждой конфигурации подберу оптимальную на мой взгляд комбинацию активных ядер и CCD-чиплетов. Напомню, что процессоры AMD на архитектуре Zen2 состоят из нескольких кристаллов: I/O-чиплет с контроллерами интерфейсов и CCD-чиплеты с ядрами. Каждый CCD-чиплет представляет собой блок из двух CCX, содержащих в максимальной конфигурации 4 ядра и 16 МБ кеша третьего уровня. В Ryzen 9 3900X каждый CCX модуль оснащен тремя ядрами и 16 МБ кеша L3. CCD-чиплет может работать либо с равным количеством активных ядер на каждом из его CCX, либо только с одним активным CCX — это накладывает ограничение на итоговые комбинации для тестирования.
Активных CCD | Конфигурация CCD | 32 | 2 |
1 | 2+0 | 16 | 2 |
1 | 3+0 | 16 | 3 |
1 | 2+2 | 32 | 4 |
1 | 3+3 | 32 | 6 |
2 | 1+1 | 64 | 4 |
2 | 2+0 | 32 | 4 |
2 | 3+0 | 32 | 6 |
2 | 2+2 | 64 | 8 |
2 | 3+3 | 64 | 12 |
В таблице выше указаны все возможные для Ryzen 9 3900X конфигурации ядер, жирным выделены компромиссно выбранные для тестирования варианты — с максимальным кешем для 8 и 12 ядер и одинаковым половинным для всех остальных вариантов от 2 до 6 ядер.
Вариант с 3 ядрами исключил по причине отсутствия таковых в продаже и слишком малого для игр количества ядер, 2 ядра без SMT (технология использования одного физического ядра для создания двух логических, аналогично Hyper Threading у Intel) не включены в тест из-за неактуальности таких процессоров в настоящее время.
В CPU-Z соревнующиеся варианты с включенным SMT выглядят так:
CCD-чиплеты в процессоре не одинаковы по частотному потенциалу: один является более удачным и используется для достижения максимальных частот буста, второй — с меньшими возможными частотами на тех же напряжениях. Для чистоты эксперимента все ядра зафиксируем на одинаковой частоте — 4350 МГц.
Остальной тестовый стенд выглядит так:
Настройки таймингов оперативной памяти выставлены в режим высокой производительности.
Для улучшения читаемости текста обозначу каждый вариант конфигурации процессора комбинацией двух чисел, например 4-8, где первая указывает на количество активных физических ядер, вторая — общее количество потоков.
Производительность в играх буду измерять в трех параметрах: AVG — среднее значение ФПС на тестируемом отрезке, 1 % — среднее значение 1 % меньших ФПС и 0,1 % — среднее значение 0,1 % меньших ФПС. Из этих трех показателей самым интересным, пожалуй, является 1 % — основываясь на этом значении, можно составить представление о плавности и комфортности геймплея.
Тесты
Настройки в играх буду подбирать для облегчения нагрузки на видеокарту, но сохраняя сложность построения сцены для процессора.
В качестве отправной точки для сравнения буду использовать вариант с 4 физическими ядрами без использования многопоточности SMT.
3D Mark Time Spy CPU Test
Первой дисциплиной будет синтетический CPU тест игровой производительности из пакета 3D Mark.
Как и полагается искусственно созданной нагрузке с оптимизациями под многопоток — результат растет почти линейно вместе с количеством ядер и потоков.
Из интересных результатов — преимущество 6 физических ядер над 4 с включенным SMT, и 6-12 конфигурации над 8-8. Для процессоров Intel результат был бы похожим, за исключением почти идентичных результатов 6-12 и 8-8, Hyper Threading в среднем менее эффективен, чем SMT у AMD. Примечательность сравнения этих комбинаций ядер-потоков в прямой конкуренции реальных процессоров в игровых сборках.
Assassin’s Creed Odyssey
Первый игровой проект и сразу один из самых процессорозависимых. Полностью избавиться от влияния видеокарты на результат не удалось, но и в таких условиях сравнение возможно.
Вопреки полученным выше результатам синтетического теста 3D Mark, восьмипоточный вариант 4-8 оказался производительнее 6-6, а 8-8 — быстрее 6-12. Реальное положение дел отличается от теоретических вычислительных возможностей.
Любой вариант с восемью потоками и больше, особенно начиная с шести ядер, показывает почти максимальную производительность. Очевидна оптимизация игры именно под 8 потоков, и дальнейшее их наращивание не приносит заметного увеличения количества кадров в секунду.
Четыре ядра без SMT показывают достаточный для одиночной игры уровень ФПС, но сильно отстают от более оснащенных конфигураций. Вариант 2-4 подойдет только для совсем непритязательных игроков.
Far Cry 5
Far Cry не является игрой, сильно зависящей от количества потоков процессора, но протестировать такие проекты тоже необходимо.
Скриншоты с мониторингом параметров системы в вариантах 4-4 и 12-12 показывают отсутствие влияния видеокарты на результат теста, загрузка мощностей видеокарты не более 60 %.
Даже два ядра с включенным SMT показывают достойный уровень производительности во встроенном тесте, а 4-4 уже вплотную подбирается к максимально возможным для 3900Х на частоте 4,35 ГГц результатам. Классическая четырехпоточная игра.
Интересной особенностью Far Cry 5 является странная работа с процессорами без технологий логической многопоточности, причем это касается и процессоров AMD, и Intel. Статтеры в вариантах 6-6 и 8-8 роняют значение 0,1 % ФПС очень сильно и отражаются на комфорте игрового процесса для придирчивых игроков. При этом 4-4 и 12-12 конфигурации лишены таких проблем — для четырех ядер это верно и для процессоров Intel, 12 проверить не удалось.
Вот так огрехи оптимизации игры могут снизить итоговый ФПС при увеличении количества ядер и вычислительной мощности процессора.
PlayerUnknown’s Battlegrounds
PUBG уже не так популярен, как в былые времена, но все еще подходит под определение онлайн игры с большим количеством участников. В качестве тестового использовался отрезок повтора с двухминутным проездом на транспорте мимо активных боевых действий и красной зоны.
Скриншот мониторинга для варианта 4-4.
Конфигурации до 6-6 показывают приличный средний уровень ФПС, но мощности процессора явно не хватает — 1 % ниже 60 кадров в секунду уже нельзя назвать комфортным для сетевого шутера. 4-8 претендует на роль минимально приемлемого варианта.
World of Tanks enCore RT
WoT — яркий пример малопоточной онлайн игры, результаты в отдельном бенчмарке трудно считать реальным тестированием именно этого онлайн проекта, но вполне показательно в разрезе аналогичных игр, не требовательных к процессору.
Скриншот тестирования 8-16 варианта, количество кадров, подготавливаемых процессором, очень высоко: даже 720p не выручает — загрузка видеокарты более 80 %.
Любая из тестируемых конфигураций процессора показывает запредельный уровень ФПС. Начиная с 4-8, производительность достигает максимума и уже не меняется с ростом числа ядер и потоков.
Четырех ядер без SMT вполне достаточно для этой и подобных игр.
Red Dead Redemption 2
Вышедший на ПК эпичный вестерн доставляет больше проблем видеокарте, но и для процессора работа найдется, проект будет представлять портированные с приставок на настольный компьютер игры.
Скриншоты мониторинга вариантов 2-4 и 12-12, загрузка видеокарты велика для любого производительного варианта, но в этой игре это не мешает выявить разницу производительности процессоров.
Заметна оптимизация игры именно под 8 потоков: варианты 4-8 и 8-8 самые производительные. Примечательно, что даже 2-4 конфигурация позволит окунуться в атмосферу дикого запада с комфортом, если мощности видеокарты позволят.
Wolfenstein: Youngblood
Wolfenstein попал в сравнение как современная, хорошо оптимизированная игра.
Скриншот теста максимальной конфигурации 12-24 с мониторингом, избавиться от влияния видеокарты на результат не удалось, RTX 2080 Super оказалось недостаточно.
Все протестированные комбинации показывают отличные результаты, 4-4 не выглядит сильно отстающим.
Внимание привлекает отличная оптимизация игры под многопоточные процессоры — результаты в целом очень похожи на синтетический тест 3D Mark, 6-12 быстрее 8-8. С более мощной видеокартой рост производительности возможно сохранился бы и выше 8-16 варианта.
Итоги
Тенденция на увеличение ядер процессора в среднем ПК не обошла и игровую индустрию, многие проекты уже сейчас содержат оптимизации под многопоточные варианты. Переход приставок на x86 архитектуру, несомненно, тоже повлиял на этот процесс.
Можно с уверенностью сказать, что эра четырехядерных игровых процессоров подходит к концу, но прямо сейчас их производительности еще достаточно для относительно комфортного времяпрепровождения за любой игрой.
Естественно, главным ограничителем уровня кадров в секунду как и прежде является видеокарта, но, имея производительный шестиядерный процессор, уже можно рассчитывать на высокий ФПС в большинстве игр. А, начиная с 6-12 конфигураций, прирост кадров в секунду от увеличения потоков почти отсутствует.
Именно шесть ядер и двенадцать потоков скорее всего станут ориентиром для разработчиков игр в ближайшее время, но не стоит забывать о консолях с их восьмиядрной начинкой.
Технологии многопоточности процессоров: принцип работы и сферы применения
Содержание
Содержание
Физические ядра, логические ядра, технологии многопоточности — все это разрабатывалось инженерами для увеличения производительности компьютерного железа, требования к которому постоянно растут. Программы и игры требуют все больше ресурсов. Как же производители процессоров увеличивают мощность своих детищ? Процессор является «сердцем» компьютера и выполняет вычисления, необходимые для работы софта. Модели CPU отличаются между собой даже в рамках одного семейства. Например, Intel Core i7 отличается от i5 технологией многопоточности под названием «Hyper-Threading», о которой далее пойдет речь (Core i3, i9, и некоторые Pentium также обладают данной технологией).
Принцип работы процессорных ядер и многопоточности
В современных операционных системах одновременно работает множество процессов.
Нагрузка от операционной системы на процессор идет по так называемому конвейеру, на который «выкладываются» нужные задачи для ядра. В качестве примера возьмем одно ядро процессора на частоте 4 ГГц с одним ALU (арифметико-логическое устройство) и одним FPU (математический сопроцеесор). Частота в 4 ГГц означает, что ядро исполняет 4 миллиарда тактов в секунду. К ядру по конвейеру поступают задачи, требующие исполнительной мощности, на которые тратится процессорное время.
Часто происходят случаи, когда для выполнения необходимой операции процессору приходится ждать данные из кеша более низкой скорости (L3 кеш), или же оперативной памяти. Данная ситуация называется кэш-промах. Это происходит, когда в кэше ядра не была найдена запрошенная информация и приходится обращаться к более медленной памяти. Также существуют и другие причины, заставляющие прерывать выполнение операции ядром, что негативно сказывается на производительности.
Данный конвейер можно представить, как настоящую сборочную линию на заводе — рабочий (ядро) выполняет работу, поступающую к нему на ленту. И если необходимо взять нужный инструмент, работник отходит, оставляя конвейер простаивать без работы. То есть, исполняемая задача прерывается. Инструментом, за которым пошел рабочий, в данном случае является информация из оперативной памяти или же L3 кэша. Поскольку L1 и L2 кэш намного быстрее, чем любая другая память в компьютере, работа с вычислениями теряет в скорости.
На конвейере с одним потоком не могут выполняться одновременно несколько процессов. Ядро постоянно прерывает выполнение одной операции для другой, более приоритетной. Если появятся две одинаково приоритетные задачи, одна из них обязательно будет остановлена, ведь ядро не сможет работать над ними одновременно. И чем больше поступает задач одновременно, тем больше прерываний происходит.
Способы увеличения производительности процессоров
Разгон
При увеличении частоты ядра повышается количество исполняемых операций за секунду. Казалось бы, с возрастанием производительности процессора проблемы должны исчезнуть. Но все не так просто, как хотелось бы думать. Прирост от увеличения частоты ЦП нелинейный. Множество процессов все еще делят одно ядро между собой и обращаются к памяти. Кроме того, не решается проблема с кэш-промахами и прерываниями операций, поскольку объем кэша от разгона не изменяется. Разгон — не самый лучший способ решения проблемы нехватки потоков. В пример можно привести всю ту же сборочную линию: рабочий увеличивает темп работы, но по-прежнему не умеет собирать два и более заказа одновременно.
Увеличение количества потоков на ядро
В процессорах Intel данная технология носит название Hyper-Threading, а в процессорах от Amd — SMT. Производители добавляют еще один регистр для работы со вторым конвейером. Пока один поток простаивает, ожидая нужные данные, свободная вычислительная мощность может быть использована вторым потоком. На кристалл же добавлен еще один контроллер прерываний и набор регистров.
Появляется возможность избавиться от последствий прерывания операций и сокращения времени простоя процессорной мощности. Благодаря чему ядро с двумя потоками выполняет больше работы за одинаковый отрезок времени, нежели в случае с однопотоком. На примере с рабочим: у конвейера появляется вторая сборочная линия, на которую выкладываются заказы. Пока производство на первой ленте простаивает в ожидании нужных инструментов, рабочий приступает к работе на второй ленте, сокращая время перерыва.
Стоит учитывать, что логический поток это не второе ядро, как может показаться с первого взгляда. Это лишь дополнительная «линия производства», чтобы более эффективно использовать доступную мощность. Из минусов технологии Hyper-Threading или SMT можно выделить увеличение тепловыделения, недостаток кэша (кэш на два потока по-прежнему общий), и проблемы с оптимизацией некоторых программ или игр, не способных отличать настоящее ядро от логического потока.
Именно по этой причине процессоры серии i7 «горячее» и имеют больше кэша по сравнению с i5. Использование технологии многопоточности может принести примерно до 30 % прироста производительности. Все это применимо как к Intel Hyper-Threading, так и к AMD SMT, поскольку технологии во многом схожи. Может возникнуть вопрос: «Если можно добавить второй поток, то почему бы не добавить третий и четвертый?» Это реализуемо, но не имеет смысла, поскольку кэш одного ядра достаточно мал для большего количества потоков и прироста производительности практически не будет.
Увеличение количества ядер
Это самый действенный способ решения проблемы, поскольку каждый конвейер теперь располагает своим FPU, ALU и кэшем, который не придется делить с другим потоком. Разные процессы используют разные ядра, из-за чего реже происходят кэш-промахи и конфликты приоритетных задач. Способ, разумеется, несет в себе некоторые издержки для производителей: дороговизна разработки и производства, увеличение тепловыделения и размера кристалла, и, как результат, повышается итоговая стоимость процессора.
Сферы применения многопоточных процессоров
С развитием компьютерных технологий перечень программ, использующих многопоточность, неуклонно растет. Это дает огромный простор разработчикам для создания нового софта и игр. Например, сейчас каждый современный triple-A проект оптимизирован для многопоточных процессоров, что позволяет наслаждаться игрой, получая высокий уровень fps на многоядерном CPU.
Еще больше распространены многоядерные системы в среде разработчиков. Программы для 3D-моделирования, монтажа видео и создания музыки требуют параллельного выполнения большого количества задач, с чем хорошо справляются системы с Hyper-Threading или SMT. В операционных системах мощность одного потока может тратиться на фоновые задачи (Skype, браузер, мессенджер), в то время как остальные задействуются для тяжелой игры или программы.
Но далеко не всегда увеличение количества потоков означает увеличение общей производительности. Почему же SMT процессоры порой уступают немногопоточным собратьям? Дело в программной поддержке. Иногда плохо оптимизированные программы не могут отличать логический поток от настоящего ядра, из-за чего на одно ядро может попасть две тяжелых задачи и замедлить работу. Тем не менее, подобные технологии имеют огромный потенциал, главное — грамотно реализовать его на программном уровне.
Сколько ядер процессора нужно для современных игр?
Содержание
Содержание
8, 12, 16 — сколько ядер нужно сейчас для игрового компьютера? Какое влияние на производительность оказывают виртуальные потоки? Какая загрузка процессора в той или иной игре и есть ли еще задел на будущее? Многие задавали себе такие вопросы во время выбора процессора. Сегодня попробуем разобраться в них.
Чтобы понять все описанное ниже, стоит чуть-чуть коснуться архитектуры процессоров Zen 2.
Процессоры семейства Zen 2 состоят из чиплета с вычислительными ядрами CCD (Core Complex Die) и чиплета ввода/вывода (cIOD). ССD в свою очередь состоит из двух ССX (Core Complex), один CCX несет в себе до четырех процессорных ядер с поддержкой технологии SMT. Именно комбинация ядер в ССХ позволяет менять количество ядер в процессоре, конечно же, если речь идет о процессорах Zen 2 c числом ядер до 8.
Если в процессоре используется 12–16 ядер, в таком случае используются уже два CCD с тремя активными ядрами в каждом CCX и четырьмя активными ядрами для 16-ядерного процессора Ryzen R9 3950X.
Чтобы тестирование было максимально приближено к младшим процессорам, использоваться будут два процессора серии Zen 2:
Ryzen 9 3900X
Ryzen 7 3700X
2 CCD, 4 ССХ по 3 ядра в каждом
1 ССD, 2 ССХ по 4 ядра в каждом
Путем отключения ядер и технологии SMT в тестировании принимают участие почти все процессоры семейства Zen 2, доступные в продаже, без перекоса по объему кеша третьего уровня и работы шины Infiniti Fabric.
Чиплеты
Конфигурация CCХ
L3-кеш, Мбайт
Количество потоков
Процессор
Во время тестирования все получившиеся процессоры разогнаны в ручном режиме с фиксацией тактовой частоты для всех ядер на отметке 4200 МГц.
Тестовая конфигурация
Во всех протестированных играх установлены максимальные настройки качества графики, сглаживание отключено и выставлено разрешение 720p, чтобы минимизировать 100 % загрузку видеокарты. Для тестирования была установлена операционная система Windows 10 со всеми обновлениями.
Тестирование
PlayerUnknown’s Battlegrounds
Для комфортной игры с приемлемым количеством FPS нужно минимум 8 виртуальных потоков. С увеличением количества потоков до 12 максимальный FPS увеличивается незначительно, но вот плавность игры меняется в лучшую сторону.
Tom Clancy’s The Division 2
Игра достаточно хорошо оптимизирована под многоядерные процессоры. Активация технологии SMT у 4-ядерного процессора дает прибавку производительности почти на 20 %. Связано это с тем, что загрузка процессора на протяжения всего тестового отрезка находится в пределах 90-100 %, и это без активности каких-либо фоновых программ. Дальнейшее наращивание количества потоков свыше шести уже не так сильно отражается на производительности.
Counter-Strike Global Offensive
Игра достаточно хорошо оптимизирована под многоядерные процессоры. Активация технологии SMT у 4-ядерного процессора дает прибавку производительности почти на 20 %. Связано это с тем, что загрузка процессора на протяжения всего тестового отрезка находится в пределах 90-100 %, и это без активности каких-либо фоновых программ. Дальнейшее наращивание количества потоков свыше шести уже не так сильно отражается на производительности.
Даже у 4-ядерного процессора есть задел на будущее, потому что его загрузка редко превышала 60 %.
Fortnite
Еще один достаточно популярный онлайн-шутер. Однако в данном случае игра на 4-ядерном процессоре уже не выглядит так однозначно хорошо. Наличие технологии SMT положительно влияет на производительность. Наибольший ее рост наблюдается при переходе от 4 к 6 ядрам, дальнейшее увеличение потока не оказывает практически никакого эффекта на производительность.
На протяжении всего тестового отрезка загрузка 4-ядерного процессора находится в пределах 90 %, что во время активных игровых действий может вызывать фризы и подергивания.
Grand Theft Auto V
После недавней бесплатной раздачи данная игра снова набирает популярность.
Grand Theft Auto V, как и любая игра с открытым миром, любит много ядер. 4-ядерный процессор еще справляется. Это и не удивительно, так как эта игра 2015 года. Однако его загрузка на протяжении всего тестового отрезка близка к 100 %. Увеличение количества ядер более 6 уже не так сильно скажется на производительности, как переход от 4 ядер.
Kingdom Come Deliverance
Kingdom Come: Deliverance — масштабная ролевая игра с открытым миром, которая перенесет вас в Богемию XIV. Игра не отличается хорошей оптимизацией, но даже здесь наблюдается значительный рост производительности от перехода с 4 ядер до 6, особенно по очень редким событиям, которые и отражают основную плавность геймплея.
Metro Exodus
Metro Exodus — одна из тех игр, где вкладываться лучше всего в видеокарту. Разница в производительности при переходе с четырех полноценных ядер на 24-поточный процессор во время игры практически отсутствует, единственное отличие — значительно быстрее запуск самой игры и загрузка уровней.
Если по производительности разницы практически нет, то уровень загрузки между процессорами с разным количеством ядер меняется очень значительно. Имея даже 4-ядерный процессор, можно пройти игру без какого-либо дискомфорта.
Red Dead Redemption 2
Еще одна игра, где изменение количества ядер процессора практически никак не отражается на производительности. Большую часть времени именно видеокарта будет ограничивающим фактором.
Shadow of the Tomb Raider
Данная игра отлично реагирует на рост количества ядер и потоков — чем больше ядер, тем больше производительности. Разница в производительности наблюдается не только при переходе от 4 ядер к 6, но также и при переходе к 8 ядрам и даже 12. Технология SMT проявила себя в данной игре с лучшей стороны.
Данная игра отлично реагирует на рост количества ядер и потоков — чем больше ядер, тем больше производительности. Разница в производительности наблюдается не только при переходе от 4 ядер к 6, но также и при переходе к 8 ядрам и даже 12. Технология SMT проявила себя в данной игре с лучшей стороны.
Выводы
Так называемая Эра 4-ядерных процессоров даже с технологией (SMT и HT) неминуемо подходит к концу, и покупать сейчас процессор для современных игр необходимо минимум c наличием 6 реальных ядер, а лучше 12 виртуальными потоками.
В то же время, если мы говорим про игры, переплачивать за 8/16 или даже 16/32 монстры совершенно не имеет никакого смысла, лучше вложить эти средства в более мощную видеокарту.
Как можно было видеть, загрузка даже 6-ядерного процессора с технологией SMT редко в каких игровых проектах превышала 50 %, что гарантирует некий задел на будущее. А загрузка видеокарты даже в разрешении 720p достаточно часто приближалась к отметке 100 % — именно она в повседневных условиях и будет ограничивающим фактором в производительности.
Поэтому если стоит выбор купить мощнее процессор или видеокарту, то он очевиден.
Производительность в играх ограничивается не только процессором и видеокартой, важную роль играет оптимизация. Если ее нет или она не очень хорошая, как, например, в протестированном Kingdom Come Deliverance, увы, производительность будет соответствующая, и неважно, сколько ядер у процессора или насколько мощная видеокарта.