我正在开发运行 macOS BigSur 11.2.3 版的 2020 M1 Macbook Air,安装了 Python 3.9,PyGame 2.0.0。
显示器的分辨率为 2560x1600。 PyGame 似乎也知道这一点,因为 print(pygame.display.list_modes())
列出了 (2560, 1600), (2048, 1280), ...
。
但是当我用 screen = pygame.display.set_mode((2560, 1600))
设置窗口大小时,窗口中的内容是像素化的,所以我猜 dpi 有问题。
此外,窗口太大,不适合屏幕,大小大约增加了一倍。在全屏模式下,正确的分辨率确实有效。
这也发生在外部屏幕上:在 1920x1080 时,窗口完全适合我的 4K 屏幕。
我在 Windows 上遇到了类似的问题,但这可以通过 ctypes.windll.user32.SetProcessDPIAware()
解决。也许这个问题有类似的起源?
我没有找到有关该问题的任何信息,所以我可以想象它只会发生在 M1/Apple Silicon 机器上。
无论如何感谢您的帮助!