Тестирование процессорозависимости Resident Evil 3 Remake - сравнение двух методик тестирования и неожиданные выводы
Вступление
Читал как-то я отзывы на демо-версию нового Resident Evil 3 в Steam и заметил, что огромное количество пользователей пишет лестные комментарии к этой игры, описывая "отличную оптимизацию".
реклама
Ну, раз демка-то бесплатная, думаю, скачаю да протестирую на своем полиядерном, простите, многоядерном Ryzen 7 2700, посмотрю по традиции, как игра будет себя чувствовать на 4 ядрах без SMT и других "типичных" сочетаниях ядер. Сам я вселенной RE до этого момента не интересовался, я как-то больше по SH, но пройдя демку, мне все очень даже понравилось.
Ну, ладно, не будем о вкусах и вселенных, не забываем, зачем мы тут собираемся и переходим быстренько к ознакомительной информации о тестовом стенде и методике тестирования.
Тестовый стенд
Тестирование Resident Evil 3 Remake проводилось на следующей конфигурации:
реклама
Процессор: AMD Ryzen 7 2700 (сток);
ОЗУ: CRUCIAL Ballistix BL2K16G30C15U4B 2x16Гб, 3400 MHz;
Системная плата: Asus TUF B450M PRO GAMING;
Система охлаждения процессора: AMD Wraith Spire ;
Термопаста: AMD;
Видеоадаптер: GeForce GTX 1060 Xtreme Gaming 6G;
Накопители: Samsung SSD 850 120GB (под Windows), Western Digital WD Blue 1 TB (под игры);
Блок питания: Enermax Revolution D.F. , 650 Ватт;
Корпус: Thermaltake View 31 TG;
Монитор: Benq FP91G X, разрешение 640x350;
Операционная система: Windows 10 x64.
В качестве средств измерения быстродействия применялись утилиты Fraps и MSI Afterburner, а для построения графиков и диаграмм использовался типичный Excel.
Первые исследования влияния количества ядер и SMT проводились при помощи Ryzen 7 2700 путем назначения через диспетчер задач тех ядер и потоков, которые будет использовать игра. Прошу принять во внимание частоту оперативной памяти и размер кэша процессора.
Повторные же исследования проводились с отключением ядер и SMT через BIOS.
Тестирование, отключаем ядра и потоки через диспетчер задач
реклама
Тестирование игры производилось на максимальных настройках графики, влияющих на загрузку процессора. Все графические настройки, влияющие на загрузку видеокарты и не влияющие на нагрузку процессора, были сведены к минимуму, чтобы лишний раз "не грузить" мою немощную GTX1060. Естественно, тестирование проводилось в разрешении 640x350.
В качестве тестового отрезка была выбрана начальная локация, проходы через несколько коридоров. Все действия повторялись идентично, а результаты автоматически вносились в таблицы программным методом.

Стоит отметить, что даже с такой "извращенной" картинкой игра смотрится очень даже стильно.
реклама
Итак, давайте же для начала взглянем на графики FPS, выявленные для разных сочетаний ядер и потоков. Отмечу, что тестовый отрезок был всего 30 секунд, в связи с тем, что локация довольно короткая, а точнее, та ее часть, где моя видеокарта не нагружается полностью и где есть возможность повторять абсолютно идентичные действия.

Как мы можем заметить, игра одинаково хорошо себя чувствует на всех сочетаниях ядер и SMT. Проблемы возникают лишь тогда, когда SMT-потоки отключаются. "Рандомный фриз" могут "словить" даже 8 физических ядер без SMT, у 6 ядер без SMT эти "фризы" проявляются в 2 раза чаще, точнее, их вероятность, так как в зависимости от прогона "фриз" может приключиться, а может "пронести". Причем фризы эти не очень и длинные, буквально на 1.5 секунды, если вообще случаются.
Но хуже всего дела обстоят у четырех ядер без SMT. Мало того, что FPS значительно ниже, так еще и фризит такое сочетание ядер в 100% случаев и очень жестко, мне во всех случаях приходилось быстро "добавлять ядра", чтобы игру "отпустило от зависания".
Перейдем же к диаграмме с 1% FPS.

Вот вам, кстати, небольшая статистика "неудачных" прогонов для 6 ядер без SMT.
У меня лишь на третий раз получилось "пробежать" без фризов. Я не пытаюсь вас обмануть, просто фризы портят показатель 1% FPS и "неудачные" прогоны я не вношу в итоговую диаграмму, хотя вам же демонстрирую, что активированная технология SMT очень сильно спасает процессор от фризов, хоть какое сочетание ядер у него будет.
И тут я посчитал все это крайне странным. Еще с Bannerlord мне показалось нелепым, что 8 ядер имеют такие фризы, которых нет на четырех ядрах и восьми потоках. Я решил пересмотреть всю методику тестирования и в тесте Resident Evil сравнить все результаты двух разных методик.
Повторное тестирование, отключаем ядра и SMT через BIOS
Итак, методика тестирования абсолютно идентичная.
Я для начала вам приведу "голые" данные без каких-либо диаграмм и таблиц.
Встречаем результаты трехкратного прогона восьми ядер без SMT.

Почему есть значение с меньшим количеством секунд замера на треть? Ради эксперимента я использовал бег, чтобы проверить, как это скажется на производительности. В чем смысл трех прогонов? Я пытался "выловить" те самые случайные фризы на несколько секунд, которые проявлялись при отключении SMT через диспетчер задач, но "выловить" их так и не удалось. Вот все и встало на свои места. В случайных фризах при отключении SMT через диспетчер задач была виновна Windows, а не "чистые ядра". Выходит, что тесты Bannerlord оказались не очень-то и справедливы и, значит, ожидайте на выходе глобального "перетеста" Bannerlord.
Ну, опустим же пока что рассуждения о изначально неправильной методики тестирования с отключением SMT через диспетчер задач и проверим, какие результаты вышли у "правильных" шести ядер.

Тут также отличающееся время говорит о том, что применялись 2 прогона "бегом" и один прогон спокойным шагом. Как мы видим, никаких неожиданных фризов нет, которые бы портили всю картину, и тут опять же выходит, что ядра без SMT все еще отлично тащат. Но опять же, "удачный" прогон конфигурации из шести ядер оказался весьма близко к типичному прогону при правильном тестировании.
А теперь давайте же перейдем к трем правильным прогонам четырех ядер без SMT.

Первый прогон проводился для разнообразия в обратном направлении тестового отрезка, остальные же два "бегом" в одну сторону. И что же мы видим? Нет никаких фризов. Редкие статтеры присутствуют, но фризы просто "куда-то улетучелись".
Давайте же теперь перейдем к правильному графику кадров.
А вот теперь все очень-очень похоже на правду. Игра одинаково хорошо себя чувствует на всех процессорах, а значительная разница в активированном и деактивированном SMT есть только в случае с четырьмя ядрами. Но прошу заметить, что 4 ядра с SMT все равно немного обходят 6 чистых ядер. А между 8 ядрами с SMT и без SMT разницы нет никакой.
А теперь прошу перейти к заключительной диаграмме, чтобы еще раз убедиться, что игра абсолютно не требовательна к процессору.
И только взгляните, как положительно повлияло отключение SMT у конфигурации с 8 ядрами. Что тут комментировать? Давайте уже перейдем к выводам.
Заключение
Во-первых, я хочу попросить прощения у всех моих читателей, что провел последние тесты по проигрышной методике. Я обещаю исправиться и выпускать только тесты с отключением ядер и SMT через BIOS.
А теперь к выводам.
Первое. Игра действительно достаточно хорошо оптимизирована и абсолютно не требовательна к процессору. Игру удастся пройти с максимальными настройками графики даже на четырех ядрах, пусть и с редкими статтерами.
Второе. Технология SMT полезна для игр не во всех случаях. Прирост от этой технологии есть лишь до восьми ядер. И чем меньше ядер, тем больше прироста производительности в играх дает данная технология.
Третье. Тестировать игры, отключая ядра и потоки через диспетчер задач в корни не верно. Отключать ядра и SMT следует только через BIOS, чтобы избежать случайных фризов.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила