Оптимизируем старые игры под Ryzen - как повысить FPS в неоптимизированных проектах без снижения графических настроек
В прошлой статье я жестко раскритиковал свой нынешний процессор с микроархитектурой 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 при тестировании был ниже 60 кадров, каких-либо "статтеров" не замечено.
Отключение SMT процессора - "вредная оптимизация"
Отключение технологии SMT лишь ухудшило ситуацию в игре. Появились явные статтеры, а график времени кадра пополнился большим количеством мелких "пик". Разница в FPS была на уровне погрешности.
Выделение для игры лишь одного ядра - серьезная потеря FPS и плавности геймплея
реклама
Далее было решено выделить для игры лишь одно ядро (без отключения SMT), так как во время предыдущих тестирований было замечено, что The Witcher: Enhanced Edition "загружает" лишь "полтора потока", отсюда был сделан вывод о том, что "Ведьмак" будет более стабильно работать на одном выделенном ему ядре. Да, старенькая RPG смогла полностью загрузить один поток на 100%, но данное действие привело к тому, что в игре резко упал FPS и появилось большое количество мелких статтеров.
Выделение для игры одного ядра и двух потоков - путь к "правильной оптимизации"
Средствами операционной системы я отвел для игры два потока одного ядра. Данное действие значительно повысило FPS в игре относительно прошлого опыта, но статтеры все равно сохранились, да и частота кадров оказалась ниже, чем была без "оптимизации".
Выделение для игры двух ядер - первый небольшой прогресс в оптимизации
Далее я выделил для игры два ядра (без отключения SMT), что привело к незначительному повышению общей производительности. Однако во время записи тестового отрезка, мне все-таки удалось "поймать" статтер. Средний FPS вырос на 2 кадра.
Выделение для игры двух ядер и четырех потоков - излишние потоки и снова "вредная оптимизация"
Ради эксперимента я отвел для "Ведьмака" два ядра и 4 потока. Игра крайне слабо работала с отведенными ресурсами и это вновь ухудшило средний FPS. Во время записи геймплейного отрезка мною вновь был пойман статтер.
Отведение игре двух ядер при отключении SMT
Казалось бы, что с отключением SMT все уже понятно, но ради эксперимента я попробовал выделить The Witcher: Enhanced Edition два ядра, чтобы сравнить производительность. По итогу единичный статтер сохранился, но игра сохранила "средний кадр" на уровне двух выделенных ядер с включенной технологией SMT.
Выделение игре трех ядер при отключении SMT
Далее ради эксперимента я заставил игру использовать три ядра, решение было странным, но мне важно было найти оптимальное количество ядер для достижения максимального FPS. Данное действие не дало абсолютно никакого преимущества в сравнении с двумя выделенными игре ядрами. "Типичный" при отключении SMT статтер стал лишь более выраженным.
Выделение четырех ядер для игры при отключении SMT
В конечном испытании различных "оптимизаций" я отвел для игры 4 ядра, что, как и следовало ожидать, не излечило "Ведьмака" от надоедливого статтера, а средний FPS лишь ухудшился.
Выделение двух незадействованных системой ядер, или лучшая оптимизация старой игры
После целого ряда испытаний и различных попыток сделать игру более плавной без изменения настроек графики, я все-таки смог добиться более плавной картинки - я пришел к выводу о том, что отключение SMT у процессоров Ryzen лишь ухудшает общую производительность. Также экспериментальным путем было выяснено, что два выделенных ядра обеспечивают лучшую производительность в сравнении с отсутствием какой-либо "оптимизации". И, так как обычно первое и второе ядро частично нагружены системой, я решил выделить для игры ядра "подальше" - третье и четвертое. "Ведьмак" стал "бегать" намного плавнее, игра на Ryzen заиграла новыми красками. График времени кадра стал более ровным, а по среднему FPS я добился прироста в 4 кадра.
Промежуточные итоги по "оптимизациям"
Все полученные в ходе "оптимизаций" замеры среднего кадра я свел в единую таблицу с гистограммой. Полученные результаты были зафиксированы без влияния записи геймплея. Тесты проводились по нескольку раз для минимизации погрешности в замерах.
Разгон или "оптимизация"?
Далее я решил немного подразогнать свой Ryzen 7 2700 и сравнить между собой результаты с разгоном, без разгона, с "оптимизацией" и без "оптимизации" одновременно. Скажу честно - не стал мучить 8 ядер четырьмя гигагерцами и избавил себя от настраивания вольтажей - в биосе у меня был сохранен профиль настроек для четырех ядер без SMT в разгоне до 4 GHz. Его я и выбрал.
Судя по бенчмарку в CPU-Z, производительность на ядро у Ryzen 7 2700 хоть немного, но возросла:
Четыре ядра без "оптимизации" на базовой частоте в 3.2 GHz, SMT выключен
"Фейковый" Ryzen 3 1200 AF на частоте в 3.2 GHz смог обеспечить в среднем лишь 43 кадра. Геральта из Ривии "преследовали" частые статтеры.
Четыре ядра с "оптимизацией" на базовой частоте в 3.2 GHz, SMT выключен
"Оптимизация" лишь немного улучшила ситуацию. FPS хоть и вырос на 3 кадра в среднем, но оставался крайне низким.
Четыре ядра без "оптимизации" в разгоне до 4 GHz, SMT выключен
Разгон прибавил к изначальному среднему FPS 14 кадров! Что, конечно же, не сравнится ни с какой "оптимизацией". Но ведьмака все еще "преследовали" статтеры, которые связаны с отключением SMT.
Четыре ядра с "оптимизацией" в разгоне до 4 GHz, SMT выключен
"Оптимизация", связанная с выделением для игры двух ядер (из четырех имеющихся) добавила к среднему FPS 2 кадра, а также избавила игру от частых статтеров, за исключением единственного, который всегда остается при отключении SMT.
Подводим итоги...
Как показало тестирование, "оптимизация" старых игр под устаревающие процессоры AMD Ryzen с низкой производительностью на ядро - это, конечно, хорошо, но разгон ядер для процессоров Zen и Zen+ все еще является спасительным в старых играх и дает гораздо большую прибавку в FPS, чем выделение отдельных ядер для игры.
И я все еще хочу убедить вас в том, что процессоры Ryzen с микроархитектурой Zen+ - это плохой выбор для универсального игрового компьютера в 2020 году. Если вы хотите максимум FPS, или вы не умеете разгонять ядра процессора, а также не хотите возиться с "оптимизациями" старых проектов, то Zen+ и другие процессоры с низкой производительностью на ядро - это явно не ваш вариант, и вам стоит присмотреться к Zen 2 или платформе Intel.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила