Display & Window Modes
Categories:
Display settings are ordinary options — they are only separated here because what they do to the window is worth describing precisely.
For usage guides and setup examples, see The Basics: GS_Core.
Contents
Window Modes
Four canonical PC window modes:
| Mode | Behaviour |
|---|---|
| Windowed | A framed window at the chosen resolution. |
| Borderless | A frameless window at the chosen resolution. |
| Fullscreen Windowed | Frameless, filling the monitor at its native size. |
| Fullscreen | Currently identical to Fullscreen Windowed. |
Fullscreen is a frameless monitor fill, not an exclusive display mode
This is worth stating plainly because users comparing against other engines will notice. GS does not take exclusive control of the display or change the desktop’s display mode. “Fullscreen” gives you a frameless window covering the monitor.
Two alternatives were implemented and removed: changing the actual system display mode froze the machine for many seconds and reshuffled every other window on the desktop, and true exclusive fullscreen was incompatible with the engine’s swapchain configuration and crashed the GPU reliably. The frameless fill is the mode that behaves.
The window-mode apply target carries the width and height to restore when returning to windowed mode, so switching out of fullscreen does not leave the window at monitor size.
Resolution and Render Resolution
Resolution is authored as a WxH string, or native.
For the two fill modes, the chosen resolution drives the internal render resolution and the result is upscaled to the monitor. “Fullscreen at 1024x768” renders at 1024x768 and scales up to fill your display — it does not switch your monitor to 1024x768.
In practice this is what you want from a resolution setting today: it is a performance control, and it behaves identically on every monitor without touching the desktop.
Platform Support
The four-mode behaviour is Windows-only, implemented against the platform’s window API because the engine’s portable interface exposes only a binary fullscreen toggle.
Other platforms fall back to that binary toggle, which on Linux desktops is borderless fullscreen. Fuller support belongs in the engine’s window layer rather than here.
Multi-monitor: display changes act on the monitor the window is currently on.
See Also
For related systems:
- Settings — profiles, apply targets and the launch path
- Options Manager — including why display settings apply on a delay
For conceptual overviews and usage guides:
Get GS_Core
GS_Core — Explore this gem on the product page and add it to your project.