- Промокоды
- Тир-лист персонажей
- Баннеры 1.2
- Тир-лист банбу
- Инспектор Мяучело
- Памятные монеты АИК
- Пропавшие мини-грузовики
- Все скрытые квесты
- Все достижения
- Все арты c6 персонажей
- Как повысить уровень доверия агентов?
- Клякса: как приручить?
- Видеопрокат и все видеокассеты
- Отдыхающая домохозяйка: фильм
- Ностальгирующая девушка: фильм
- Влюбленная девушка: фильм
- Квест Клуб загадочников 1 и 2
- Квест Отмотай назад, детектив
- Квест Заметание секретов
- Квест Пропавшая картина
- Квест Бескрайняя бездна
- Квест Пророчество
- Квест Лимб банбу
- Все гайды
- Испытания Мерлина
- Хранилища сокровищ
- Луны мистера Муна
- Хитроумные ключи
- Головоломки Иродианы
- Квест «Призрак нашей любви»
- Квест «Колодец, колодец»
- Квест «Сокровища из проклятой гробницы»
- Квест «Гиппогриф вам укажет путь»
- Квест «Словно по звонку»
- Непростительные заклинания
- Все легендарные сундуки
- Все животные и твари
- Все метлы
- Все концовки
- Все гайды
- Башня Рамазита и колдовской погреб
- Вызов Шар — все испытания и Копье Ночи
- Логово Ансура — все чертоги и дракон
- Литейная стальной стражи — как спасти гондийцев
- Обыскать подвал — как открыть Некромантию Тхая
- Разрушенная башня — как запустить лифт
- Адамантиновая кузня — все формы и мифриловая руда
- Завершить оружейный шедевр — кора суссура
- Тетушка Этель — как спасти Майрину
- Яйцо гитьянки — как украсть и можно ли вырастить
- Мистический Падальщик — где найти слугу
- Найти клоуна Каплю — все части тела
- Как победить Геррингот Торм?
- Где найти Кровь Латандера?
- Где найти Песню Ночи?
- Все гайды
- Промокоды Honkai Star Rail
- Все сундуки Золотого мига в Honkai Star Rail
- Похвала высокой морали в Honkai Star Rail
- Все сундуки в Лофу Сяньчжоу из Honkai Star Rail
- Первооткрыватель в Honkai Star Rail
- Все сундуки Сада безмятежности в Honkai Star Rail
- Беглецы в Доме кандалов
- Заказ прокси
- Дом кандалов: сундуки и робоптахи
- Гексанексус: Remake в ХСР
Костыли и хаки: как на самом деле работает обратная совместимость
Где-то в глубинах Windows есть код, специально заточенный под World of Warcraft.
Операционная система Windows поддерживает сквозную обратную совместимость — на Windows 10, например, без особых проблем заработает приложение для Windows XP или даже более ранних версий ОС. Реализовать ее было непросто.
Предполагается, что для работы обратной совместимости команде новой операционной системы нужно просто реализовать все вызовы, использовавшиеся в старой системе. На самом деле приходится добавлять массу костылей.
О некоторых наиболее любопытных костылях Windows рассказал операционный директор компании-разработчика системы виртуализации Corellium. Вот самые интересные моменты из его рассказа.
Windows постоянно проверяет, не запускает ли пользователь одно из «особых» приложений: например, игру Barbie Riding Club, выпущенную в 1998 году. Если приложение есть в «особом» списке, то логика работы операционной системы может немного меняться, чтобы оно работало нормально.
Одна из таких игр — World of Warcraft. Специально для нее в ядре DirectX есть особые доработки, ускоряющие работу шейдеров.
Однажды Microsoft пришлось делать специальный хак под Adobe PDF Reader. В Windows XP все было нормально, но в Vista ридер почему-то открывал текст на черном фоне. Оказалось, разработчики Adobe брали для фона не просто белый цвет, а цвет window text, использовавшийся в заголовке окна.
В Windows XP этот цвет белый и все нормально, но в Vista он черный. Чтобы пользователи новой операционной системы не возмущались, в нее добавили хак: если Vista видела, что запущен Adobe PDF Reader, то выдавала неверное значение window text — так, чтобы фон текста в ридере все-таки был белым.
Зачем вообще нужны такие хаки?
Потому что есть приложения (или игры), авторы которых не заинтересованы в поддержке новой операционной системы — например, они вышли некоторое время назад. Но если под этой системой приложение вдруг начнет работать некорректно, то обвинять будут не его разработчиков, решивших не выпускать патч, а авторов операционной системы. Это нехорошо.
Так делают все — не только Microsoft. Например, похожим образом устроена обратная совместимость и исправление неожиданных багов в MacOS от Apple. Интересно, что у Apple тоже возникла проблема с продуктами Adobe.
Разработчики приложений под MacOS могут активировать специальный ключ с говорящим названием NSMightNeedToWorkAroundBadAdobeReleaseBug. Если сделать это, система сразу все поймет и активирует набор хаков, исправляющий баг, специфический для Adobe.
С браузерами — та же история. Можно подумать, что разрабатывать браузерные движки проще, чем операционные системы, но на самом деле между ними довольно много общего. Например, необходимость обеспечивать обратную совместимость и исправлять ошибки разработчиков сайтов.
Например, в движке WebKit есть хак, специально придуманный для нормальной работы Zillow, сайта для продажи, покупки и аренды недвижимости — в США он очень популярен. Видимо, так было проще, чем договориться с Zillow и изменить принцип работы сайта.
Быстрый поиск показывает, что специальные хаки в WebKit есть для сайтов Netflix, Twitter, Youtube, PlayStation, iCloud, Medium, Soundcloud — список довольно длинный.
Интересно, что в движке есть хаки, надобность в которых давно исчерпана: например, тут есть поддержка старого сайта PlayStation, еще до смены дизайна. К сожалению, мы не знаем, как разработчики WebKit решают, в какой момент от специальной поддержки сайта можно отказаться.
- Создатели Genshin Impact открыли лабораторию для исследования нейрокомпьютерных интерфейсов
- Sony патентует геймпад-банан
- Ёдзи Синкава выбрал 10 самых красивых скриншотов из Death Stranding
- У Diablo 2 Resurrected будет не один, а два альфа-теста
- Аналитики: недостаток чипов для видеокарт и консолей может растянуться еще на год
- Энтузиаст собрал видеокарту 3dfx с четырьмя GPU