Моя проблема в том, что мое окно не поддерживает DPI, поэтому windows растровое масштабирует его. Нормальным решением для этого было бы присвоить окну флаг SDL_WINDOW_ALLOW_HIGHDPI
при его создании, но, к сожалению, пока нет поддержки windows осведомленности о DPI (или я просто ничего об этом не нашел), поэтому он этого не делает. Работа. Некоторые Poeple работают, чтобы получить windows DPI-монитор для каждого монитора (V2) для SDL2 на windows. В любом случае, я только что нашел странное решение для проблемы, которую я описал в приведенном выше вопросе: я могу просто использовать флаг SDL_WINDOW_FULLSCREEN
(ширина и высота не важны), чтобы отобразить мое окно в полноэкранном режиме, игнорируя масштабный коэффициент, который использует windows , что в большинстве случаев делает мое окно непригодным из-за растяжения. Затем я закрываю окно, убираю флаг SDL_WINDOW_FULLSCREEN
и снова запускаю программу. Теперь окно имеет реальный размер пикселя 1: 1, даже если у меня в настройках windows масштабный коэффициент 200%. Я знаю, что это нечистое и странное исправление, поэтому, если кто-нибудь знает, почему это работает или знает лучший способ, go впереди.