IntegerScaler is a free utility for upscaling windowed games with an integer ratio and with no blur. Such scaling is known as integer (integer-ratio, integer-factor, integral) scaling, pixel-perfect scaling, and pixel doubling.
This allows playing games with no quality loss e. g. at Full-HD (1920×1080) resolution on 4K (3840×2160) monitors, unlike ever-blurry bilinear interpolation used for full-screen scaling by displays and graphics drivers.
Such lossless scaling may also be useful for old games and pixel-art games. See e. g. a screenshot showing the “SimCity 2000” game (1993) (640×480 native resolution) upscaled with IntegerScaler to 4K resolution.
For preventing blurring images on web pages, use the SmartUpscale extension for Firefox and Chrome.
The application simulates full-screen mode for windowed games. The scaled image is centered on the screen. The rest screen area around the image is filled with black background.
Integer scaling ratio for filling the screen as entirely as possible is calculated automatically and recalculated when scaled-window size is changed according to the game’s resolution.
Scaling is not applied to maximized windows.
Scaling is automatically disabled when the scaled window is closed, and is also temporarily disabled when the scaled window is minimized or maximized, and automatically enabled once window is returned to normal (not minimized, not maximized) state.
The user interface of the program consists of the two parts:
- keyboard shortcuts (hot keys) for controlling scaling;
- icon in the notification area (system tray) with a menu.
Pressing the Alt+F11 keyboard shortcut enables scaling for currently active window. Pressing it again disables scaling regardless of what window is active.
Pressing the Ctrl+Alt+F11 keyboard shortcut enables scaling with a delay of 5 seconds. This allows to enable scaling even in games which block third-party keyboard shortcuts while the game’s window is active: just press the keyboard shortcut while the game window is inactive and then switch to the game window in 5 seconds. The same action can be done via the “Scale after 5 seconds” item of the application menu.
Additionally, the program disables scaling when the Ctrl+Alt+Delete keyboard shortcut is pressed.
A click on the icon shows the menu that allows to enable scaling, view information about the program, open links to relevant web pages, or close the program.
It’s possible to automatically apply scaling to user-defined games. Each game is defined and identified by full path to its executable file (
*.exe). Those paths should be listed one-per-line in the text file named
auto.txt inside the IntegerScaler folder.
There is currently no user interface for editing this list, so a third-party text editor like Windows Notepad should be used. It’s not recommended to use international characters in paths to game executables, otherwise autoscaling for corresponding games may not work.
The following optional command-line parameters are supported:
Overrides color of background filling the screen space around the scaled image. Supported values:
- an arbitrary color in the
R,G,Bformat (without spaces), where
Bare integers in the 0–255 range, corresponding to the red, green and blue color components correspondingly, e. g.
The default background color is black.
- Limits the mouse-movement area to the client area (window area except borders and title bar) of the game window.
- Resizes the game window so that its client area (window area except borders and title bar) has the size specified in the
Hare the needed width and height in pixels correspondingly. For example,
1920x1080. Useful for games that don’t resize the game window according to in-game resolution or set a wrong size.
Overrides the language of the app’s user interface. Supported values:
Default language corresponds to operating system’s user interface if it’s Russian, and English otherwise.
- Starts IntegerScaler with hot keys (keyboard shortcuts) disabled.
- Applies scaling in 0.5 seconds after starting IntegerScaler (if no delay is specified) or with the delay specified in milliseconds.
In this example, background is overridden to gray, the user-interface language is overridden to Russian, hot keys are disabled and scaling is applied in 3 seconds (3000 ms) after starting IntegerScaler:
IntegerScaler_64bit.exe -bg gray -clipcursor -resize 1920x1080 -locale ru -nohotkeys -scale 3000
Parameters can be specified in the “Object” field on the “Shortcut” tab in properties of the shortcut (
*.lnk) to the executable file (
*.exe). A shortcut can be created with the item “Create shortcut” of the context menu of the executable file, shown via a right click on the executable file.
Parameters should be specified after a space following a path to the app’s executable file. Parameter name and value are separated with a space. Specific order of parameters does not matter. The parameters can be used separately, independently from each other.
For the program to work, its bit version (32 or 64 bit) must correspond to bit version of Windows.
Differences from Windows Magnifier
IntegerScaler have the following advantages over the Windows’ built-in Magnifier:
- only important part of the window is displayed — with no borders and title bar;
- the space around the image is filled with black color like in full-screen mode;
- the image is automatically centered on the screen with no need for precise mouse positioning;
- scaling ratio is calculated automatically for filling the screen as entirely as possible.
Compatibility with games
For information about compatibility of some games with windowed mode and IntegerScaler, see the table.
The application is compatible with all games that support running in windowed mode and does not work with games running in true full-screen mode.
If specific game has no explicit setting for switching between full-screen and windowed modes, the Alt+Enter keyboard shortcut may help.
It’s important to make sure the game is in DPI-aware mode. The criterion is simple: the game-window size in physical pixels should correspond to in-game resolution. For example, window of a game running at Full HD resolution should occupy about 1/4 (1/2 horizontally and 1/2 vertically) of 4K screen at 200% OS-level zoom, not entire screen.
Games that are not DPI-aware require disabling DPI virtualization (DPI scaling) in executable’s (
*.exe) properties, to have proper window size with no possibly blurry scaling automatically applied by Windows to non-DPI-aware applications.
DPI scaling for a specific game can be disabled via properties of the game’s executable (the “Properties” context-menu item).
“Properties” item → “Compatibility” tab → “Settings” section → “Change high DPI settings” button → “High DPI scaling override” section → “Override high DPI scaling behavior. Scaling performed by” checkbox → “Application” dropdown item.
Windows 10 (older builds)
“Properties” item → “Compatibility” tab → “Settings” section → “Override high DPI scaling behavior. Scaling performed by” checkbox → “Application” dropdown item.
“Properties” item → “Compatibility” tab → “Settings” section → “Disable display scaling on high DPI settings” checkbox.
Perceived speed of mouse-cursor moving may increase proportionally with scaling ratio.
For scaling games running as administrator, IntegerScaler should also be running as administrator.
Aero in Windows 7
For scaling to work in Windows 7, the Aero mode (DWM composition) must be enabled. The program automatically tries to enable Aero if it’s disabled. This is irrelevant to Windows 8+ where the DWM-composition feature is always enabled.