Текст опубликован в личном блоге и его автор не имеет отношения к администрации сайта
В прошлой статье я жестко раскритиковал свой нынешний процессор с микроархитектурой Zen+ - AMD Ryzen 7 2700, так как его производительности на ядро даже в разгоне не хватало для некоторых старых игр, которые отлично работали на моем прошлом "камне" - Intel Core i7 2700K, который находился в разгоне до 5 GHz. Мною было высказано мнение о том, что процессоры от AMD с микроархитектурой Zen+ (и, тем более, первый Zen) - это плохой, если не худший, выбор для универсального игрового ПК в 2020 году. Собственно, я предложил всем читателям, которые пока что лишь стоят перед выбором процессора, обратить свое внимание на более высокопроизводительные в играх решения на микроархитектуре Zen 2 от AMD, или вообще посмотреть в сторону Intel, выбрать что-то на платформе LGA 1200 или LGA 1151v2, которая, вопреки мнению фанатов, еще сохранила свою актуальность и является отличным выбором, если вы планируете на своем компьютере только играть, причем во все игры: "классические", новинки и онлайн с максимальным FPS.
Собственно, раскритиковать процессор и призвать всех читателей не покупать решения на Zen и Zen+ для игр - это слишком просто. Но как быть, если вы уже обзавелись устаревшим процессором Ryzen и вас не удовлетворяет его производительность в старых проектах? Тема оптимизации уже более сложна и интересна, чем простая критика, поэтому мы попробуем различными способами увеличить производительность в любимых нами классических играх, причем, без ущерба графике и каких-то изменений настроек игры.
А "оптимизацию" мы будем проводить в игре The Witcher: Enhanced Edition, производительность в которой (местами) меня больше всего разочаровала. И данная статья не будет "гайдом" по оптимизации абсолютно всех игр под процессоры AMD Ryzen с низкой производительностью на ядро, да мы попробуем все универсальные способы, которые только пришли мне на ум, но все это не панацея. Допустим, я избавился от низкого FPS и статтеров в модификациях на оригинальном движке игр S.T.A.L.K.E.R. простой заменой HDD на SSD.
Но "Ведьмак" - это как раз та игра, которой не хватает процессоров Zen и Zen+, а точнее, их низкой тактовой частоты. А я человек принципиальный - в 30 FPS играть буду, "железо" обновлю, максимально разгоню, но настройки снижать не стану. Поэтому попробуем оптимизировать и игру под процессор Ryzen 7 2700, и "камень" под первого "Ведьмака", как бы странно это ни звучало.
Но перед началом экспериментов с оптимизацией, предлагаю вам ознакомиться с тестовой конфигурацией.
Игра тестировалась на максимальных настройках графики и без ограничения со стороны видеоадаптера. Тестовая локация: Вызима, район дома Трисс Меригольд.
И да, это одно из самых густонаселенных и сложных в плане геометрии мест в игре. Ситуация усугубляется максимально длинным "коридором" с максимальной дальностью прорисовки объектов. В качестве "бенчмарка" я специально выбрал настолько загруженный тестовый отрезок, который воссоздаст максимально сложную для процессора ситуацию (и движка игры, соответственно).
Перед дальнейшим чтением изложенного мною материала, вы должны принять во внимание, что данная сцена создается непосредственно в игре, которая иногда абсолютно иначе генерирует игровую ситуацию. Да и я всего лишь человек - не могу повторить с точностью реального бенчмарка все свои действия. Поэтому вам следует учитывать погрешность в итоговых результатах, а также обращать внимание как на мое текстовое описание "поведения игры" после той или иной оптимизации, так и внимательно смотреть видео, которые лучше передают уровень производительности в игре, чем итоговые таблицы со средним FPS.
Теперь, когда все нюансы оговорены, предлагаю приступить к различного рода "оптимизациям".
Средствами операционной системы я отвел для игры два потока одного ядра. Данное действие значительно повысило FPS в игре относительно прошлого опыта, но статтеры все равно сохранились, да и частота кадров оказалась ниже, чем была без "оптимизации".
Казалось бы, что с отключением SMT все уже понятно, но ради эксперимента я попробовал выделить The Witcher: Enhanced Edition два ядра, чтобы сравнить производительность. По итогу единичный статтер сохранился, но игра сохранила "средний кадр" на уровне двух выделенных ядер с включенной технологией SMT.
Далее ради эксперимента я заставил игру использовать три ядра, решение было странным, но мне важно было найти оптимальное количество ядер для достижения максимального FPS. Данное действие не дало абсолютно никакого преимущества в сравнении с двумя выделенными игре ядрами. "Типичный" при отключении SMT статтер стал лишь более выраженным.
В конечном испытании различных "оптимизаций" я отвел для игры 4 ядра, что, как и следовало ожидать, не излечило "Ведьмака" от надоедливого статтера, а средний FPS лишь ухудшился.
Все полученные в ходе "оптимизаций" замеры среднего кадра я свел в единую таблицу с гистограммой. Полученные результаты были зафиксированы без влияния записи геймплея. Тесты проводились по нескольку раз для минимизации погрешности в замерах.
Далее я решил немного подразогнать свой Ryzen 7 2700 и сравнить между собой результаты с разгоном, без разгона, с "оптимизацией" и без "оптимизации" одновременно. Скажу честно - не стал мучить 8 ядер четырьмя гигагерцами и избавил себя от настраивания вольтажей - в биосе у меня был сохранен профиль настроек для четырех ядер без SMT в разгоне до 4 GHz. Его я и выбрал.
Судя по бенчмарку в CPU-Z, производительность на ядро у Ryzen 7 2700 хоть немного, но возросла:
"Фейковый" Ryzen 3 1200 AF на частоте в 3.2 GHz смог обеспечить в среднем лишь 43 кадра. Геральта из Ривии "преследовали" частые статтеры.
Разгон прибавил к изначальному среднему FPS 14 кадров! Что, конечно же, не сравнится ни с какой "оптимизацией". Но ведьмака все еще "преследовали" статтеры, которые связаны с отключением SMT.
"Оптимизация", связанная с выделением для игры двух ядер (из четырех имеющихся) добавила к среднему FPS 2 кадра, а также избавила игру от частых статтеров, за исключением единственного, который всегда остается при отключении SMT.
Как показало тестирование, "оптимизация" старых игр под устаревающие процессоры AMD Ryzen с низкой производительностью на ядро - это, конечно, хорошо, но разгон ядер для процессоров Zen и Zen+ все еще является спасительным в старых играх и дает гораздо большую прибавку в FPS, чем выделение отдельных ядер для игры.
И я все еще хочу убедить вас в том, что процессоры Ryzen с микроархитектурой Zen+ - это плохой выбор для универсального игрового компьютера в 2020 году. Если вы хотите максимум FPS, или вы не умеете разгонять ядра процессора, а также не хотите возиться с "оптимизациями" старых проектов, то Zen+ и другие процессоры с низкой производительностью на ядро - это явно не ваш вариант, и вам стоит присмотреться к Zen 2 или платформе Intel.