Старая игра на новом экране почти всегда выглядит хуже, чем на компьютере, для которого её делали. Кадр размером 800×600 растягивается до 3840×2160, контуры расплываются, а курсор плывёт с задержкой. Дело не в железе и не в игре, а в том, как система увеличивает изображение. Набор рабочих настроек невелик: панель драйвера видеокарты, конфигурация DOSBox и бесплатный масштабатор Magpie с открытым кодом вернут картинке резкость за один вечер.
Низкое разрешение старых игр не дружит с 4K экраном
Игры из девяностых и начала двухтысячных рисуют кадр в 640×480, 800×600 или 1024×768 пикселей, а монитору с разрешением 3840×2160 нужно заполнить этим кадром 8,3 миллиона точек. Если растянуть картинку на весь экран без сохранения пропорций, круги превратятся в овалы, а герои поправятся на четверть. Если растянуть с сохранением пропорций, по бокам вырастут чёрные поля. А если доверить увеличение видеокарте, начнётся самое интересное.
Главная беда прячется в дробном коэффициенте. От 800×600 до 4K путь равен 4,8 по ширине и 3,6 по высоте, поэтому одни исходные пиксели лягут на четыре точки монитора, другие на пять, третьи на неполные. Алгоритм растягивания сглаживает неровность, и из чёткого пиксельного кадра получается мыльная каша. Многие винят возраст игры, а виновата математика растягивания, и лечится она точной настройкой, а не апгрейдом компьютера.
Свою ложку добавляет масштабирование интерфейса Windows. На 4K мониторе система по умолчанию увеличивает элементы от 150 до 200%, а старые программы о таких масштабах не знают. Тогда Windows растягивает их окно принудительно, и картинка мылится дважды: сначала внутри игры, потом поверх неё.
Не всякая новая картинка страдает одинаково. Кадр 1920×1080 при переходе на 4K увеличивается ровно вдвое, и каждый пиксель занимает четыре точки монитора, поэтому материалы в full HD переносятся прилично даже на грубом растягивании. Вся боль достаётся низким и некратным разрешениям, на которых и построена ретро классика.
Целочисленное масштабирование сохраняет пиксели ровными и резкими
Целочисленное масштабирование разрешает только кратные увеличения: каждый исходный пиксель превращается в ровно два, три или четыре пикселя экрана. Линии остаются прямыми, сетка пиксель-арта не искажается, и выглядит всё так, будто игру нарисовали под новый монитор. За это свойство его и любят поклонники старых стратегий и платформеров.
Цифры покажут цену метода. Кадр 320×240 растёт до 4K в девять раз и занимает 2880×2160 точек, почти весь экран. А вот 640×480 при пропорциях 4:3 можно увеличить максимум вчетверо: высота 2160 делится на 480 лишь четыре с половиной раза, поэтому целым коэффициентом станет четвёрка, кадр займёт 2560×1920, а по бокам вырастут широкие поля. Для 1024×768 и вовсе доступно только удвоение до 2048×1536, больше половины экрана уйдёт под чёрные рамки.
Отсюда честный выбор. Пиксель-арт почти всегда просит целочисленный рост с полями, зато геометрия будет идеальной. Трёхмерные сглаженные миры спокойно живут с заполнением экрана, где их вытягивают алгоритмы вроде Lanczos и FSR. Простое же растягивание без настройки портит и тот и другой вариант.
Масштабирование средствами видеокарты в панелях NVIDIA и AMD
Самый короткий путь не требует сторонних программ: увеличение умеет выполнять драйвер видеокарты ещё до вывода на монитор. В панели управления NVIDIA для этого служит раздел настройки размера и положения рабочего стола, в приложении AMD Software Adrenalin Edition откройте настройки дисплея. В обоих случаях перед вами три режима: растянуть во весь экран, сохранить пропорции и целочисленное масштабирование.
Ключевой момент выбор того, кто масштабирует. В обеих панелях можно отдать эту работу монитору или графическому процессору, и выбирать стоит видеокарту. Монитор растягивает кадр примитивным алгоритмом и обычно мылит сильнее, а видеокарта делает ту же работу на своём железе и заметно чище. Если в панели есть отдельная опция масштабирования графическим процессором, включите её, иначе разрешения ниже минимального для монитора и вовсе могут не запуститься.
Целочисленный режим в обеих панелях устроен одинаково: игра стартует в родном низком разрешении, кадр умножается на целое число и центрируется с чёрными полями. Для 2D классики это лучший вариант вообще без установки программ. Плюс и в том, что масштабирование драйвера работает для любой игры, даже той, у которой нет графических настроек вовсе.
Проверить результат легко. Запустите игру в полноэкранном режиме с низким разрешением и взгляните на экран: чёткие крупные пиксели и ровные поля по бокам означают, что всё работает. Если картинка расплылась, вернитесь в панель и убедитесь, что масштабирует кадр графический процессор, а не монитор, и что нужный режим включён именно в драйвере, а не в меню самого монитора.
Настройка вывода DOSBox под большой монитор
DOS-игры обычно старше всех, и DOSBox умеет показывать их на современном экране правильно, стоит лишь поправить файл конфигурации. У версии 0.74-3 он называется dosbox-0.74-3.conf и лежит в папке %LOCALAPPDATA%\DOSBox. Откройте его любым текстовым редактором и найдите раздел [sdl], отвечающий за вывод картинки.
Первой в разделе идёт строка fullresolution. Значение original оставляет родное разрешение игры, а значение desktop растягивает картинку на весь рабочий стол, и это нужное значение. Строка output выбирает способ вывода: surface не умеет ни масштабировать, ни исправлять пропорции, поэтому для 4K монитора поставьте opengl, а чтобы убрать билинейное смягчение, попробуйте openglnb.
За содержимое кадра отвечает раздел [render]. Строка aspect=true включает коррекцию пропорций для режимов с неквадратным пикселем, прежде всего VGA режима 320×200, на котором построены классические шутеры девяностых, без неё картинка вытягивается и теряет задуманный вид. Строка scaler выбирает улучшайзер, который срабатывает до основного растягивания: normal2x просто удваивает кадр крупными квадратными пикселями, hq2x аккуратно сглаживает диагонали и смотрится чище конкурентов, tv2x и scan2x добавляют линии развёртки и имитируют старый кинескоп.
[sdl]
fullscreen = true
fullresolution = desktop
output = opengl
[render]
aspect = true
scaler = hq2x
Под себя меняйте последние строки: для честного пиксель-арта ставьте scaler = normal2x, для сглаженной графики hq2x, а строку fullscreen можно перевести в false, если играете в окне. Чтобы не трогать общий файл, сохраните эти настройки под именем dosbox.conf рядом с игрой и запустите эмулятор из той же папки командой ниже, DOSBox прочитает ваш файл и откроет игру с новыми параметрами.
dosbox.exe GAME.EXE -conf dosbox.conf
В оконном режиме работает та же логика, только размер окна задаёт строка windowresolution, например 1600×1200. Переключаться между окном и полным экраном можно в любой момент сочетанием клавиш Alt+Enter, а за захват мыши отвечает параметр autolock: по умолчанию он включён, и достаточно щёлкнуть по окну, чтобы мышь осталась внутри игры, а чуткость движения подстраивает параметр sensitivity со значениями от 1 до 1000.
Magpie масштабирует любое окно поверх системы
Если игре не хватает настроек драйвера, пригодится Magpie, бесплатный масштабатор окон с открытым исходным кодом. Программа перехватывает изображение любого окна и перерисовывает его на весь экран выбранным алгоритмом. Работает она в Windows 10 начиная с версии 1903 и в Windows 11, требует DirectX уровня 11, поддерживает и полноэкранное, и оконное масштабирование, а с версии 0.8 ещё и несколько мониторов.
Встроенных эффектов десятки, и их разрешено комбинировать в цепочки, подстраивая параметры каждого звена. Пиксель-арт вытягивают Nearest, Pixellate, SharpBilinear и семейство xBRZ, трёхмерные сцены обрабатывают Lanczos и связка FSR из двух шагов, масштабирования и повышения резкости. Целые наборы CRT шейдеров рисуют полосы развёртки и точечную маску, будто перед вами старый кинескоп. Все эффекты лежат в папке effects, а при знании языка шейдеров HLSL туда можно добавить и собственный. Проект появился в начале 2021 года, поддержку FSR в него добавили уже летом того же года, и с тех пор набор эффектов только рос.
Горячая клавиша назначается в настройках программы. Щёлкните по окну игры, нажмите назначенное сочетание, и картинка мгновенно вырастет до краёв экрана, повторное нажатие вернёт всё назад. Если сочетание не срабатывает, запустите Magpie от имени администратора. Отдельные параметры управляют курсором и выводом: режим для 3D игр подстраивает поведение курсора и оверлеев под трёхмерные сцены, имитация эксклюзивного полноэкранного режима не пускает чужие окна поверх игры, а при замирании экрана или неожиданных подтормаживаниях выручает отключение технологии DirectFlip, быстрого пути вывода, который в отдельных играх сбоит.
Порядок первого запуска простой: 1. запустите игру и выберите в её меню максимальное родное разрешение; 2. разверните Magpie и подберите эффект и коэффициент масштабирования; 3. назначьте горячую клавишу в настройках; 4. щёлкните по окну игры и нажмите сочетание; 5. при желании включите масштабирование по истечении заданных секунд, чтобы окно вырастало автоматически.
Старые игры часто не знают о высоких разрешениях, и тогда Windows растягивает их окно ещё раз поверх работы Magpie, вместе с курсором. Лечится это в свойствах файла: щёлкните по исполняемому файлу игры правой кнопкой мыши, откройте Свойства → Совместимость → Изменить параметры высокого разрешения, включите переопределение масштабирования высокого разрешения и выберите вариант Приложение. После этого растягивать окно будет только Magpie, и курсор перестанет плыть.
Единственная тонкость касается оверлеев со счётчиком кадров: их слой может задвоиться поверх масштабированной картинки. Тогда добавьте программу со счётчиком в чёрный список Magpie, и дублирование исчезнет.
Разрывы кадра лечатся синхронизацией и переменной частотой обновления
Разрыв кадра виден как горизонтальный шов: верх экрана показывает один момент игры, а низ уже другой. Случается он, когда монитор обновляется быстрее, чем игра выдаёт кадры. На 4K мониторах с частотой от 120 до 144 Гц это заметно даже в неторопливых квестах из девяностых.
Простое лекарство вертикальная синхронизация, переключатель для неё ищите в графических настройках самой игры. Включите её, и швы исчезнут, плата за это рост задержки отклика и просадка темпа кадров при нехватке мощности. Ретро игры старые компьютеры тянут без усилий, поэтому для них этой меры часто хватает с запасом.
Более гибкий путь переменная частота обновления. Мониторы с поддержкой FreeSync или G-SYNC подстраиваются под темп видеокарты и рисуют кадр ровно в момент готовности, разрывы пропадают без лишней задержки. В Windows 11 включите её по пути Параметры → Система → Дисплей → Графика → Переменная частота обновления, а рядом стоит активировать и оптимизации для оконных игр, они меняют способ вывода окна и тоже убирают задержки. Поддержку технологии со стороны видеокарты включайте в панели драйвера, у NVIDIA это раздел настройки G-SYNC, у AMD переключатель FreeSync.
Типовые ошибки при переносе ретро игр на новый экран
Первая ошибка включать масштабирование везде сразу: в игре, в драйвере и в Magpie. Каждая ступень добавляет собственное размытие, поэтому оставьте один источник увеличения. DOS игры отдайте DOSBox, оконную пиксельную классику Magpie с целочисленным эффектом, всё остальное панели драйвера.
Вторая ошибка гнаться за заполнением экрана любой ценой. Чёрные поля вокруг целочисленной картинки не дефект, а плата за честную геометрию, и глаз привыкает к ним за десять минут. Вытянутые пропорции, из-за которых круглые щиты становятся яйцами, раздражают гораздо дольше.
Третья ошибка один алгоритм на всю коллекцию. Nearest на сглаженной трёхмерной графике даёт грубые зубцы, Lanczos на крупном пиксель-арте обводит контуры цветными ореолами. Пробуйте эффекты под конкретную игру и помните про настройку подавления артефактов у Lanczos и Jinc: приподняли, картинка стала мягче, опустили, вокруг контуров расползлась грязь, ищите середину.
Последняя мелочь касается частоты кадров: Magpie показывает собственный темп, а не темп игры, поэтому проверяйте его средствами самой игры или системного монитора. Настройка займёт один вечер, зато после него ретро коллекция на 4K мониторе перестанет быть испытанием для глаз и снова станет удовольствием, каким она и была на старом добром экране.