Предвосхищая все вопросы, хочу сказать, что я пользовался программой
CapFrameX для сбора и анализа данных, которые вы здесь увидите. Давным-давно я написал эту
простейшую статью, в которой проанализировал производительность WoW на двух API – недавно введённом DX12 и актуальном на тот момент DX11 (это было в конце Legion в 2018 году). Недавно знакомый пользователь Reddit обратился ко мне с вопросом: актуальна ли эта статья и по сей день, спустя целое дополнение?

Мне стало интересно, ведь я надеялся, что за период Battle for Azeroth (и моего отсутствия) движок игры вновь был улучшен, а производительность на DX12 возросла. Как и для многих ММО, “бутылочным горлышком” для WoW всегда был процессор: это связано с большими дистанциями прорисовки, плотно заселёнными городами, способностями игроков и элементами ландшафта вроде камней, деревьев и подобного. Почти все данные проходят через процессор, и DX12, будучи куда более низкоуровневым API в сравнении с DX11, был создан, чтобы облегчить нагрузку на CPU и увеличить производительность многоядерных систем.
Что в итоге? Честно говоря, ситуация не сильно отличается от конца Legion, но у меня появились новые графики! И я улучшил свою систему: заменил
Intel i5-3570k на
Ryzen 7 3700x и обновил оперативную память до 32GB 3200MHz – это даст мне существенный прирост в производительности процессора. Но я всё ещё не расстался со своей верной GTX 1070, потому что хорошую жену найти проще, чем хоть какую-нибудь 3080…
МетодологияКак и в прошлый раз, я решил, что наиболее подходящим способом будет тестирование полётами. Его легко воспроизводить, а результаты почти не меняются от попытки к попытке, что делает их очень надёжными.
Работая с CPU, WoW по умолчанию использует первые четыре потока вашего процессора. Я использовал ProcessLasso, который автоматически выделил для WoW восемь полных потоков моего 8-ядерного 16-поточного процессора и тем самым исключил влияние всяческих “оптимизаций”, которые Blizzard могли реализовать, чтобы игра работала должным образом на слабом оборудовании. Я тестировал WoW на системах, которые показывали себя чуть лучше при выделении игре шести потоков, так что решил пойти дальше и на всякий случай выделить ей все восемь.
Маршрут был таков:
- Полёт от Острова Клыков в Зулдазаре до Убежища племени Тортака в Вол’дуне
- Полёт от Острова Клыков в Зулдазаре до Покинутых Руин в Назмире
Оба этих пути сначала преодолевались с использованием DX12, а затем происходил полный перезапуск системы и включение DX11. Запись данных начиналась в тот момент, когда я выбирал точку на карте полётов. После входа в игру я ждал две минуты, чтобы завершилась загрузка всех аддонов и они не влияли на полученные результаты.
Как вы можете увидеть, DX11 предоставляет чуть большую пиковую частоту кадров, но из-за использования лишь одного потока во все остальные моменты он существенно проигрывает DX12, который удваивает значения 0,1%, из-за чего игровой процесс становится намного стабильнее. Практически нет никаких “подвисаний” или падений частоты кадров.
На последнем изображении – сравнение частоты кадров на всех тестах, что я провёл. Хорошо видно, что красные и синие полосы соответствуют куда большим значениям частоты кадров, регулярно “подскакивая” с самых низов до огромных высот. В игровом процессе такие моменты выражаются в небольших “провисаниях” и “лагах” во время того, как персонаж путешествует по миру.
Вывод DX12 – наилучший выбор для практически любой ситуации. Переходите на него не раздумывая, если у вас есть такая возможность и ваша видеокарта как минимум принадлежит серии NVidia 10 или AMD Radeon RX 400, так как именно эти поколения GPU первыми обрели полноценную поддержку DX12.
Если вам интересна эта тема, можете посетить
блог на Reddit или на сайте
rk.edu.pl/en/games. Там очень много интересной информации!
Автор: reddit.com
Оригинал: reddit.com
Переводчик: Taifin