Эксперты проанализировали работу одной из главных функций Xbox One X
Сотрудники Digital Foundry рассмотрели принцип работы обратной совместимости в Xbox One X и пришли к выводу, что стратегия Microsoft оказалась на удивление дальновидной. Эмуляция игр для культовой Xbox 360 была одной из важнейших «фишек» Xbox One, однако её стартовая реализация мало кому пришлась по вкусу. Большинство тайтлов для консоли прошлого поколения шли на свежей приставке, мягко говоря, посредственно, а частота кадров проседала до 10-15 в секунду.
С выходом Xbox One X создатели, очевидно, задались целью исправить ситуацию. Само наличие опции обратной совместимости, безусловно, порадовало публику, но её очень огорчило то, насколько плохо она функционировала. Похоже, Microsoft действительно умеет работать над ошибками. Компания последовала примеру Digital Foundry и изменила программу учёта производительности, опираясь не на средний FPS, а на так называемое время кадра — величину, по сути, обратную FPS (измеряется количество долей секунды на 1 кадр), что позволило найти проблемные участки в игре, проанализировать код и улучшить работу эмуляции. Результат налицо: после выхода последнего обновления то, как старые игры идут на новой консоли, достойно похвалы. Стабильная работа и похорошевшая графика — лишь вершина айсберга.
Так как же работает обратная совместимость? На самом деле, это достаточно сложный процесс, ведь у 360 и One X совершенно разные архитектуры: первая работает на базе трёхъядерного процессора PowerPC и графики ATi Xenos, а вторая использует APU с восемью ядрами архитектуры x86 и видеоускорителем AMD с кастомизированными ядрами Polaris. Некоторые черты в общей архитектуре консолей схожи, но назвать «железо» совместимым нельзя.
Поэтому Microsoft прибегнула к интересному трюку. Эмуляция старых игр на Xbox One и Xbox One X работает в реальном времени: код для процессора PowerPC разбирается на инструкции, а они уже переводятся в понятный x86-архитектуре вид. То же самое делается с микрокодом шейдеров и системой управления памятью. Кроме того, в видеоускоритель Xbox One внедрены аппаратные модули, которые позволяют на лету декодировать и использовать сжатые текстуры от Xbox 360. Для работы со звуком One применяет копию аудиотракта 360, выполненную в виде маленькой интегрированной микросхемы.
В общей сложности у Xbox One в наличии четыре слоя эмуляции, благодаря чему сами игры даже «не понимают», что они запущены не на «родной» консоли: при запуске на новой приставке игровой код никоим образом не затрагивается. One просто полностью эмулирует «железо» X360, вплоть до проверяющих целостность образа и легальность копии защитных «фич».
При запуске игры для Xbox 360 на One X невооружённым глазом видно полное визуальное превосходство одного и того же тайтла на последнем. Свежий облик давно знакомых тайтлов может похвастаться выросшим до девяти раз разрешением и заметно увеличившейся детализацией. Старые размытые текстуры подменяются на более совершенные уже в кэше оперативной памяти самой приставки. То же происходит и с улучшенными светом и тенями — где это возможно, система подменяет нужные значения, благодаря чему повышается дальность прорисовки, чёткость и детали объектов.
Действительно интересно дело обстоит с добавлением в старые игры HDR. Все тайтлы для Xbox 360 обрабатываются в 10-битном режиме (10 бит на канал), а потом смешиваются до 8-битного и отправляются на HDMI-выход, а оттуда — непосредственно на экран, который и показывает привычную картинку. Эмулятор же просто не совершает операцию по сжатию цветового пространства и отправляет на ТВ полный цветовой диапазон, что и создаёт HDR-эффект во всех играх.
По многим признакам стоит отметить, что возможности по обратной совместимости консолей будущего с текущим поколением были заложены ещё на стадии проектирования Xbox 360 — то есть почти за десятилетие до Current-Gen.
Источник: 4pda.ru