Експерти проаналізували роботу однієї з головних функцій 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.

Добавить комментарий