Данная статья полностью посвящена игре Shadow of the Colossus,
разработанной под игровую консоль Playstation 2, в далеком 2005-м году.
EdHell на форуме emu-land.net недавно написал пост в котором разбирается
нагрузка данной игры на процессор/видеокарту и насколько реально
эмулировать ее не используя спидхаки. С его разрешения я решил добавил
пост к нам в блог, так как информация довольно интересная. Конфигурация
ПК на котором проводился тест, выглядит следующим образом: - Материнская плата: Asus P8Z68-V
- Процессор: Intel Core i7 2600k 3.40Ghz (разогнан до 5.00Ghz)
- Видеокарта: Zotac GTX 460 1024Mb (разгон - 850Mhz ядро, 4000MHz память)
 "Начну
с общих деталей: несмотря на то, что почти все играли в Shadow of the
Colossus с определенной степенью комфорта - это одна из самых тяжело
эмулирующихся игр в плане нагрузки на железо. Нагрузка эта не везде
равномерна, но в разных местах можно попасть на моменты, где нагрузка на
определенный модуль будет буквально запредельной. Настолько, что без
использования стилинга получить абсолютный фуллспид (т.е. фпс не
просаживающийся ниже 50/60 (в зависимости от региона) никогда и нигде)
во всех вместе взятых частях игры невозможно ни на одном ныне
существующем железе.
Причиной тому невероятная нагрузка на блок VU в некоторых местах (одно
из самых ярких мест, демонстрирующих это - выезд на мост в интро).
Никакой MTVU и SuperVU (хотя он и заметно быстрее microVU)
при этом не спасет, даже с процессором моего класса, нужна гораздо
более высокая частота либо более высокий КПД ядра, а это явно дело
далекого будущего. Конечно, это ненормально и является недоработкой
эмуляции VU, но поскольку ситуацию изменить невозможно, остается
вытягивать железом... и стилингом, который в самом первом положении
резко снижает нагрузку, тем самым поднимая фпс вчетверо. Традиционно за
использование стилинга надо расплачиваться - в данном случае побочным
эффектом будет довольно ощутимый пропуск кадров. Итак: без использования
стилинга в исследуемой игре в некоторых местах будут замедления на
любом существующем топовом процессоре с любой тактовой частотой (для
примера: выезд на мост в интро "упёр" профильный процессор в 20фпс, да.
Варианты разгона с охлаждением жидким гелием мы тут рассматривать не
будем). Точка.
Хотя медленный VU и дает местами страшные просадки фпс, но таких мест
совсем немного, а вот серьезные нагрузки на видеокарту будут происходить
в течение всей игры. На сей раз основным элементом карты, который
нагружает игра, является сам GPU. И вновь одним из самых медленных мест
является интро, самое начало.
Для замера чистой нагрузки на карту и ее производительности использовалось сразу несколько утилит: MSI Afterburner, Fraps и GSDumpGUI.
Предварительно был записан короткий дамп, на котором и тестировалась
карта. Особенностью плеера дампов является его двухпоточность, никакие
настройки эмулятора на него не влияют, но и нагрузка на процессор
гораздо ниже, чем в реальных играх, тогда как рендер и скейлинг
обрабатываются по полной программе.
Итак, дамп одного из самых тяжелых для видеокарты мест в игре. Кому
нужно интро, скажет большинство... ну, мы же ищем абсолют без каких-либо
поблажек, не забыли?

Тут меня ждал облом номер два. Мало мне было VU, который нельзя вытянуть на 5ГГц, так оказалось, что еще и видеокарта неспособна тянуть картинку выше натива в абсолюте, т.к. игра уже при рендере х2/720р
вздумала подтормаживать, что можно увидеть на скрине выше. К счастью
выяснилось, что включение прогрессивной развертки заметно снижает
нагрузку на карту, что все-таки позволяет использовать х2 скейл без
просадок по вине карты. Но не более того, дальше, как и в случае с VU,
может помочь только стилинг или замена карты. Какая карта нужна для
того, чтобы поиметь хотя бы х3? Это могут сказать только владельцы таких
карт, прокрутив тестовый дамп на своей машине.
Осталось понять, что происходит с ЕЕ блоком. В принципе, запредельной
нагрузки именно на него мне обнаружить не удалось, а вот высокая (не
настолько, как в описанных выше случаях, но все же) нагрузка встречается
сплошь и рядом в игре. При этом равномерно под завязку нагружаются все
три блока эмулятора и в зависимости от ракурса тормоза случаются по вине
то одного, то другого, то третьего, как правило с небольшим перевесом.
Примером такой нагрузкой служит главное меню игры, но побегав вокруг
точки старта пару минут, я обнаружил такие места и в самой игре, которых
очень много, и в одном из которых я снял еще один GS дамп.

И что же мы видим? Во-первых, тормоза. Не убойные, но хорошие такие
тормоза. И виноваты два блока сразу, ай да игрушка. Причем карте до
тормоза по ее вине тоже осталось совсем немного. Без стилинга просело
все - и проц, и без пяти минут, видеокарта. И эти пять минут быстро
закончились, стоило лишь отбежать на два десятка метров - нагрузка на ЕЕ
и VU упала до 85%, а на карту наоборот подскочила до упора. Осталось
прокрутить дамп с этого места и посмотреть - а хватает ли в этом месте
хотя бы карты с х2? Т.е. с прогрессией ее конечно хватит, это уже
выяснилось раньше, но тест полностью проводился на обычной чересстрочке.

Замена наиболее медленного компонента необязательно избавит вас от
тормозов - производительность так или иначе уперлась в видеокарту, хотя
тормоза и гораздо меньше, чем когда игра уперлась в CPU. И вновь - либо
стилинг, либо снижение рендера, либо замена карты. С учетом параллельных
тормозов на всех блоках единственное спасение - стилинг, как бы это ни
было неприятно осознавать.
Итак, у вас есть выбор - стилинг и фреймскип (и не совсем честные 60фпс
на счетчике) или апгрейд до предела, так себе картинка и периодические
подтормаживания. Вот такая она, Shadow of Colossus."
Что у нас получилось в итоге? Данная игра является одной из нескольких
уникальных, которые до сих пор не могут работать на полной скорости,
даже имея в своем распоряжении современное, разогнанное до предела
железо. Использование VU стилинга единственный выход из положения,
однако плавность анимации при этом пострадает. Что ж, остается только
надеяться на дальнейшее развитие и улучшение Pcsx2 - эмулятора PS2. А расти ему, как видите, еще есть куда! Скажем спасибо EdHell'у за интересный и полезный тест Shadow of the Colossus. |