Ryzen 7 2700X. Ядра и потоки. Часть 2. Истина где-то рядом.
В прошлой записи я хоть и затронул эту тему, но результатов было крайне мало, поэтому в этот раз я решил уделить время именно количеству, чтобы иметь более полное представление о том, как приложения реагируют на количество активных ядер и технологии SMT в частности. Полученные данные можно трактовать как угодно, но нужно понимать и принимать тот факт, что это данные, полученные на конкретной системе, с конкретным процессором, на конкретной архитектуре, с конкретной конфигурацией, операционной системой, версиями ПО и пр., и все полученные здесь результаты отражают поведение только конкретно этой конфигурации с конкретно данным ПО. Брать эти результаты и как-то экстраполировать их на любые другие ситуации не стоит. В частности, это касается процессоров от Intel, Hyper-Threading хоть и выполняет похожую по смыслу функцию, что и SMT, но все же это другая архитектура, и с разным ПО данная технология может работать по-разному. Это исключительно частный случай, и в каждом отдельном случае результаты могут быть совершенно разные, отличаясь друг от друга. Более того, я не исключаю того, что результаты могут отличаться даже внутри одной архитектурной линейки, потому что сама по себе технология «виртуального потока» зависима от кэша и памяти, а данные параметры у разных моделей процессоров и конфигураций могут отличаться. Все это обязательно стоит держать в голове.
Некоторые товарищи в комментариях под прошлой записью ошибочно посчитали, что я в своих результатах и выводах пытался как раз-таки экстраполировать полученные данные на другие, причем еще даже не вышедшие процессоры. Это не так. Процессоры Intel были упомянуты лишь как повод для того, чтобы заняться подобными приключениями на своей системе. И лишь в одном, синтетическом тесте, где результаты максимально прямолинейны и прозрачны, я попытался чисто гипотетически сопоставить с тем, что может быть получено на прочих процессорах с такими же характеристиками. Не более того. В остальном это исключительно изучения поведения конкретно моей системы.
реклама
Методика с прошлого раза не претерпела никаких изменений. В основном это игровые сценарии с повторяющимися маршрутами, замеряемые утилитой FRAPS от трех и более раз, в зависимости от повторяемости и закономерности получаемых результатов. В ряде случаев используются встроенные бенчмарки либо их отдельные сцены, но даже в этом случае замеры проводились утилитой FRAPS. Настройки выставлялись максимально возможные, разрешение устанавливалось такое, чтобы видеокарта не оказывалась узким местом.
Перед тем, как можно будет приступить к изучению полученных результатов, предлагаю сначала вспомнить основные результаты, полученные в прошлый раз, чтобы не бегать для этого в предыдущую запись. Без каких-либо лишних комментариев, только результаты.
реклама
реклама
Конфигурация с тех пор не изменилась. За исключением того, что я на ступеньку выше поднял частоту памяти и опустил первичные тайминги:
AM4 Ryzen 7 2700X
AM4 ASUS STRIX B350-F GAMING
DDR4 2x4 3066MHz 14-16-16-34-52 CR1
GTX 1080 Ti Founders Edition
SSD ADATA SP580 120GB
HDD HGST Z5K1 1TB
Результаты:
реклама
И первым, предварительным и ознакомительным будет еще один синтетический бенчмарк, который упомянули в комментариях к прошлой записи - Fritz Chess Benchmark последней версии.
Fritzh Chess Benchmark
Абсолютно предсказуемый результат, практически в точности повторяющий результаты, полученные в прошлый раз в CPU-Z и Cinebench R15. Чем меньше разница между числом активных ядер, тем большее преимущество у «виртуальных потоков», т.к. их пропорции неизменны.
А вот дальше пойдут игровые, наверное, наиболее ожидаемые и интересные тесты.
Project Cars 2
Максимальные настройки, сглаживание SMAA Ultra. Трасса Algarve, 31 автомобиль, класс Road A, старт с места, последняя позиция, гроза, прохождение трех первых поворотов.
Игра в целом нейтрально относится к SMT, результаты с SMT чуточку ниже, при этом игра хорошо отзывается на рост числа ядер вплоть до восьми.
DiRT Rally
Максимальные настройки. Встроенный бенчмарк.
Игра явно нетребовательна к процессору и не показывает какого-либо явного роста производительности начиная с четырех ядер. SMT демонстрирует незначительно более низкий результат. Комфортный фреймрейт обеспечивает даже двухъядерный процессор.
World of Tanks
Максимальные настройки. Пятиминутный реплей на карте "Париж", танк 10 уровня ИС-4.
Наглядный представитель массовой многопользовательской игры, ориентированной на массового потребителя. Комфортный фреймрейт обеспечивает даже двухъядерный процессор. Более четырех ядер никак на производительность не влияют. На SMT игра в целом реагирует нейтрально.
Grand Theft Auto 5
Максимальные настройки, максимальные дополнительные настройки. Замер последней пятой сцены из встроенного бенчмарка с самолетом и автомобилем.
На двух ядрах игра с такими настройками неиграбельна: постоянные фризы, не прогружается геометрия и текстуры. Однако активация SMT ощутимо меняет ситуацию, пропадают проблемы с геометрией, текстурами и фризами. В целом начиная с четырех ядер игра не демонстрирует какого-либо существенного роста производительности, к SMT относится достаточно нейтрально, результаты могут оказаться даже чуточку хуже.
Battlefield 1
Максимальные настройки. Мультиплеерный режим, карта Amiens, 64 игрока, режим спектатора.
На двухъядерном процессоре игра неиграбельна. Активация SMT ощутимо меняет ситуацию, и средний показатель фреймрейта даже находится выше отметки в 60 кадров. В целом SMT хорошо помогает при количестве ядер от двух до четырех, довольно заметно увеличивая показатели фреймрейта, как среднего, так и минимального. Начиная с шести ядер влияние SMT становится либо нейтральным, либо может даже привести к некоторому ухудшению ситуации. Оптимальным вариантом видится шесть ядер без SMT, дальнейшее увеличение количества ядер и потоков не приводит к какому-либо улучшению.
The Witcher 3
Максимальные настройки, прогулка по Новиграду.
Игра очень хорошо реагирует на рост числа потоков, как физических ядер, так и SMT. Одна из немногих игр (первой такой можно назвать Rise of The Tomb Raider), которая демонстрирует явный рост производительности вплоть до 16 потоков. Местами загрузка видеокарты достигала 90-99% даже при разрешении 1024*768, так что можно предположить, что максимальные показатели могли быть ограничены возможностью видеокарты.
Assassin's Creed Origins
Максимальные настройки. Прогулка по Александрии.
Игра отказывалась загружаться при двух ядрах. Активация SMT при тех же двух ядрах решает проблему, а средний фреймрейт в 40 кадров можно даже назвать удовлетворительным. Дальнейший рост числа ядер показывает хороший прирост производительности. При этом SMT приводит только к ухудшению результатов. Шесть и восемь ядер демонстрируют в целом похожие показатели, но восемь ядер все же дают несколько более высокий фреймрейт. Минимальные показатели скорее всего не имеют отношения к процессору и ограничиваются либо памятью, либо жестким диском, либо их совокупностью. Игра постоянно зачем-то использует жесткий диск, даже стоя на месте жесткий диск продолжает использоваться на 100%.
Watch Dogs 2
Максимальные настройки. Extended Details 100%. Поездка по одной из центральных улиц на мотоцикле.
На двух ядрах игра отказывалась запускаться. Активация SMT решает проблему. На четырех ядрах игра уже демонстрирует вполне комфортные показатели, и дальнейшее увеличение числа ядер уже не так сильно сказывается на среднем показателе, а SMT, напротив, даже приводит к худшему результату. Ситуация в точности повторяет аналогичную в Assassin's Creed Origins - второй игре от того же разработчика. Восемь ядер обеспечивают немножко больший фреймрейт, чем шесть, но разница незначительная. Разница между шестью и четырьмя ядрами уже более значительная.
Подытожив, можно прийти к выводу, что от SMT либо нет никакого толку, либо он вовсе мешает. На самом деле такая ситуация происходит только при большом количестве ядер, превышающем количество, используемое игрой, при котором скорее всего происходит не оптимальное распределение ресурсов, которое может приводить даже к негативному результату, поэтому при большом количестве ядер SMT лучше даже отключать. Однако в тех ситуациях, когда ядер мало, а игра может (либо необходимо) утилизировать большее их количество, SMT, напротив, спасает, и порой весьма значительно.
В будущем данный фактор может сместиться и на более высокие значения, то есть если сейчас SMT помогает в основном двум и четырем ядрам, то в будущем с ростом сложности игр эта тенденция может перейти уже и на шесть, и на восемь ядер. Так что наличие SMT у процессоров с большим количеством активных ядер можно считать не просто приятным бонусом, но и некоторым «потенциальным» запасом, который в любой момент может пригодиться в том числе и в играх (примеры таких игр уже сейчас можно встретить). Пока же SMT полезен в большей степени только в рабочих приложениях.
Напоследок хотелось бы чуть-чуть «пожаловаться». Я очень хотел проверить хотя бы одну игру на API Vulkan, уверен, что там результаты могли бы быть очень интересными. Я установил Wolfenstein II: The New Colossus (лицензионная Steam-версия), но так и не смог найти способ, чтобы снимать показания. FRAPS, OCAT, FPS Monitor отказывались это делать. Очень жаль. Могу лишь сказать, что на первом уровне в полной своей конфигурации (восемь ядер, шестнадцать потоков) на максимально возможных настройках в разрешении 1920*1080 фреймрейт упирался в ограничение в 200 кадров, которое я установил в настройках. И вряд ли это кого-то удивит.
Спасибо всем активным читателям и оставляющим комментарии, в том числе и с замечаниями, которые я стараюсь учитывать. И спасибо overclockers за поправки и публикации моих материалов.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила