【发布时间】:2014-04-01 03:25:08
【问题描述】:
我正在为我正在编写的引擎使用 win32 API 和 x11。它是一个游戏引擎,当然它需要能够以最佳分辨率创建全屏窗口。目前,我设法在 Windows 上做到这一点,但我在其他计算机上尝试过,似乎有时窗口在监视器之外开始或在它之外结束,所以我的方法是不可靠的。我所做的是将分辨率更改为我之前选择的某个受支持的分辨率(全部在 C++ 中以编程方式完成),这在我的开发计算机上运行良好,但不一定在其他计算机上运行。在我见过的许多游戏中,都会自动选择最佳分辨率。这是怎么发生的? windows中是否有特殊功能可以选择最佳游戏分辨率?我不知道我应该如何处理这个问题。 linux 也是如此,我什么都没有。有人可以告诉我如何使用 x11/xfree86 或 sth 创建全屏窗口吗?我知道标题但不知道代码。感谢您的宝贵时间。
顺便说一句,我曾经通过获取桌面分辨率尺寸并将窗口大小调整为这些尺寸来创建全屏窗口,这非常有效且可靠。然而,大多数游戏(甚至像 bf4 这样的专业游戏)总是在开始游戏之前更改分辨率。这有什么原因吗?也许是性能(缓冲区大小?)?
【问题讨论】:
-
@πάνταῥεῖ 包括一个函数的完整 API 是一个真正的矫枉过正。您应该在以这种方式发表评论之前阅读问题。真的。
-
@PawełStawarz 至少我提到我没有读过它,为什么......
-
好的,我明白了,感谢您理解我,但请其他人注意:我不想为我的引擎使用 Qt 或 GTK 或类似的东西。
-
@πάνταῥεῖ 这不会让你的评论变得更好。我希望一个有这种声誉的人知道如何对待那些提出他们真正考虑过和研究过的问题的人。
-
@PawełStawarz 1. 格式化和突出重点对于判断问题质量很重要 2. OP 在他们的问题中没有说明使用适当的 GUI 框架不是一个选项 3. 我提出了一个建议:你可能想要说真的,我不明白我的评论有什么问题,这就是 SE 功能的目的。
标签: c++ winapi fullscreen x11