Skip to content

SDL2: Not DPI-aware #2764

@Ghabry

Description

@Ghabry

The Player is currently not high DPI aware.

This causes the following issues depending on the OS:

  • Windows: 100% DPI is reported to the app and Windows upscales it
  • macOS: No idea?! @tyrone-sudeium can you tell a bit more how it looks on Retina displays?
  • emscripten: Only appears to be a problem on Windows as Linux does not apply DPI here in my tests: The canvas is scaled by devicePixelRatio but not the framebuffer, making it look like before the Bilinear renderer update.

Should be enough in most cases to set SDL_WINDOW_ALLOW_HIGHDPI and to set the manifest in Windows.

Useful code that contains a workaround for emscripten: https://github.com/MCJack123/craftos2/blob/423e3b42ac0f2eb644cfdb5ee5d4b10feb836e53/src/terminal/SDLTerminal.cpp#L100

Windows DPI docs: https://docs.microsoft.com/en-us/windows/win32/hidpi/setting-the-default-dpi-awareness-for-a-process

Metadata

Metadata

Assignees

No one assigned

    Labels

    EmscriptenWebAssembly/JavaScript port for web browsersWindowsmacOS

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions