IntegerScaler

IntegerScaler — бесплатная программа для масштабирования оконных игр с целочисленным коэффициентом без размытия. Такое масштабирование известно как integer (integral) scaling, pixel-perfect scaling и pixel doubling.

Это позволяет играть в игры без потерь качества, например, в разрешении Full HD (1920×1080) на мониторах с разрешением 4K (3840×2160), в отличие от билинейной интерполяции, используемой для полноэкранного масштабирования в дисплеях и видеодрайверах и приводящей к размытию («замыливанию»).

Такое масштабирование также может быть полезно для старых игр и игр на основе пиксельной графики (pixel art). См., например, скриншот игры «SimCity 2000» (1993) (собственное разрешение — 640×480), отмасштабированной с помощью IntegerScaler до разрешения 4K.

Функциональность

Программа имитирует полноэкранный режим для игр, запущенных в оконном режиме. Отмасштабированное изображение выводится по центру экрана. Оставшаяся часть экрана вокруг изображения заполняется чёрным фоном.

Целочисленный масштабный коэффициент, обеспечивающий максимальное заполнение экрана, вычисляется автоматически и пересчитывается при изменении размеров масштабируемого окна в соответствии с разрешением игры.

Масштабирование не применяется к развёрнутым (maximized) окнам.

Масштабирование автоматически выключается при закрытии масштабируемого окна, а также временно выключается при сворачивании масштабируемого окна или его разворачивании на весь рабочий стол и автоматически включается снова при возвращении окна в обычное (не свёрнутое и не развёрнутое) состояние.

Интерфейс

Пользовательский интерфейс программы состоит из двух частей:

  • сочетания клавиш (горячие клавиши) для управления масштабированием;
  • пиктограмма в области уведомлений (system tray) с меню.

Сочетания клавиш

Нажатие сочетания клавиш Alt+F11 включает масштабирование для активного в данный момент окна. Повторное нажатие выключает масштабирование вне зависимости от того, какое окно активно.

Нажатие сочетания клавиш Ctrl+Alt+F11 включает масштабирование с задержкой 5 секунд. Это позволяет включить масштабирование даже в играх, блокирующих обработку сторонних сочетаний клавиш при активном окне игры: просто нажмите сочетание клавиш при неактивном окне игры и в течение 5 секунд переключитесь на окно игры. Для этой же цели служит пункт «Масштабировать через 5 секунд» меню программы.

Программа также выключает масштабирование при нажатии сочетания клавиш Ctrl+Alt+Delete.

Меню

По щелчку на пиктограмме отображается меню, позволяющее включить масштабирование, просмотреть информацию о программе, перейти по ссылкам на связанные веб-страницы или выйти из программы.

Интерфейс программы поддерживает русский и английский языки, язык выбирается автоматически на основании языка интерфейса операционной системы.

Автомасштабирование

Возможно автоматически применять масштабирование к заданным пользователем играм. Каждая игра задаётся и идентифицируется с помощью полного пути к её исполняемому файлу (*.exe). Такие пути следует указать каждый на отдельной строке в текстовом файле с именем auto.txt в папке IntegerScaler.

Пользова­тельский интерфейс для редактирования этого списка не предусмотрен, поэтому следует использовать сторонний текстовый редактор типа Блокнота Windows. Не рекомендуется использовать национальные символы в путях к файлам игр, иначе автомасштабирование для соответствующих игр может не работать.

Параметры командной строки

Поддерживаются следующие необязательные параметры командной строки:

-bg

Переопределяет цвет фона, заполняющего пространство экрана вокруг отмасштабированного изображения. Поддерживаемые значения:

  • gray — серый;
  • white — белый;
  • произвольный цвет в формате R,G,B (без пробелов), где RG и B — целые числа в диапазоне 0—255, соответствующие красной, зелёной и синей составляющим цвета соответственно, например, 64,128,192.

По умолчанию используется чёрный фон.

-locale

Переопределяет язык интерфейса программы. Поддерживаемые значения:

  • en — английский;
  • ru — русский.

По умолчанию используется язык интерфейса операционной системы, если он русский, и английский язык — в любом другом случае.

-nohotkeys
Запускает IntegerScaler с отключением горячих клавиш (сочетаний клавиш).
-scale [delay]
Применяет масштабирование через полсекунды после запуска IntegerScaler (если задержка не задана) или с задержкой, заданной в миллисекундах.

В этом примере фон переопределяется в серый, язык интерфейса — в английский, отключаются горячие клавиши и применяется масштабирование спустя 3 секунды (3000 мс) после запуска IntegerScaler:

IntegerScaler_64bit.exe -bg gray -locale en -nohotkeys -scale 3000

Параметры указываются через пробел после пути к исполняемому файлу программы. Значение параметра указывается через пробел после его названия. Порядок указания параметров не имеет значения. Параметры можно использовать по отдельности, независимо друг от друга.

Разрядность

Для работы программы необходимо использовать её версию, разрядность которой (32 или 64 бит) совпадает с разрядностью Windows.

Отличия от «Экранной лупы»

IntegerScaler выгодно отличается от стандартной Windows-программы «Экранная лупа»:

  • отображается только значимая часть окна — без рамок и заголовочной панели;
  • пространство вокруг изображения заполняется чёрным цветом, как в полноэкранном режиме;
  • изображение автоматически центрируется на экране без нужды в точном позиционировании мыши;
  • масштабный коэффициент подбирается автоматически для максимального заполнения экрана.

Совместимость с играми

Информацию о совместимости некоторых игр с оконным режимом и программой IntegerScaler см. в таблице.

Оконный режим

Программа совместима со всеми играми, поддерживающими работу в оконном (windowed) режиме, и не работает с играми, запущенными в реальном полноэкранном режиме.

Если в настройках игры не предусмотрено явное переключение между полноэкранным (full-screen) и оконным режимами, может сработать сочетание клавиш Alt+Enter.

HiDPI-режим

Важно убедиться, что игра работает в HiDPI-совместимом (DPI-aware) режиме. Определить это легко: размер окна игры в физических пикселах (точках) должен соответствовать разрешению, выбранному в настройках игры. Например, окно игры, работающей в разрешении Full HD, при системном масштабе 200% на 4K-мониторе должно занимать не весь экран, а примерно 1/4 экрана (1/2 по горизонтали и 1/2 по вертикали).

Для игр, формально несовместимых с HiDPI, требуется отключить DPI-виртуализацию (DPI scaling) в свойствах исполняемого файла (*.exe), чтобы окно игры имело правильный размер и было свободно от размытия, возможного вследствие масштабирования, которое Windows автоматически применяет к HiDPI-несовместимым приложениям.

Отключить DPI-виртуализацию для отдельно взятой игры можно в свойствах её исполняемого файла (пункт «Свойства» контекстного меню файла).

Windows 10

Пункт «Свойства» → вкладка «Совместимость» → секция «Параметры» → кнопка «Изменить параметры высокого DPI» → секция «Переопределение масштабирования с высоким разрешением» → галка «Переопределите режим масштабирования высокого разрешения. Масштабирование выполняется» → пункт «Приложение» выпадающего списка.

Windows 10 (устаревшие версии)

Пункт «Свойства» → вкладка «Совместимость» → секция «Параметры» → галка «Переопределите режим масштабирования высокого разрешения. Масштабирование выполняется» → пункт «Приложение» выпадающего списка.

Windows 7

Пункт «Свойства» → вкладка «Совместимость» → секция «Параметры» → галка «Отключить масштабирование изображения при высоком разрешении экрана».

Мышь

Субъективная скорость движения указателя мыши в играх, использующих системный указатель мыши, может возрастать пропорционально масштабному коэффициенту.

Режим администратора

Для масштабирования игр, запущенных от имени администратора, IntegerScaler тоже следует запускать от имени администратора.

Aero в Windows 7

Для работы масштабирования в Windows 7 необходимо, чтобы был включён режим Aero (DWM composition). Программа автоматически пытается включить Aero, если он выключен. Windows 8 и выше это не касается — там функция DWM composition включена всегда.

Известные проблемы

Программа может аварийно завершать свою работу («падать»), если при включённом масштабировании переключить игру в полноэкранный (exclusive) режим. В таком случае следует перезапустить программу.