正确的全屏调整窗口和 linux C++的大小
Proper fullscreen resizing windows and linux C++
我正在使用win32 API和x11作为我正在编写的引擎。它是一个游戏引擎,当然它需要能够创建具有最佳分辨率的全屏窗口。目前,我设法在 Windows 上执行此操作,但我在其他计算机上尝试过,似乎有时窗口在显示器外部开始或在显示器外部结束,所以我的方法不可靠。我所做的是将分辨率更改为我之前选择的某个受支持的分辨率(全部以 C++ 年编程方式完成),这在我的开发计算机上运行良好,但不一定在其他计算机上运行。在我见过的许多游戏中,最佳分辨率都是自动选择的。这是怎么回事呢?窗口中是否有特殊功能可以选择最佳游戏分辨率?我不知道我应该如何处理这个问题。linux也是如此,我什么都没有。有人可以告诉我如何使用 x11/xfree86 或 sth 创建全屏窗口吗?我知道标题,但不知道代码。谢谢你的时间。
顺便说一句,我曾经通过获取桌面分辨率尺寸并简单地将窗口大小调整为这些尺寸来创建全屏窗口,这工作得很好并且可靠。但是,大多数游戏(甚至是像 bf4 这样的专业游戏)总是在开始游戏之前更改分辨率。这有什么原因吗?也许性能(缓冲区大小?
如果您谈论的是"真正的"全屏,例如《战地风云》和《使命召唤》等流行的 PC 游戏,那么您必须首先了解这些类型的游戏不仅仅使用足够大的窗口来覆盖视口。使用"真正的"全屏,分辨率也可能更改可用颜色的数量以满足您的需求 - 它实际上接管了整个视口和屏幕,并且不与常规 Windows UI 交互。
使用 DirectX 实现"真正"全屏的 Windows 教程
使用 OpenGL GLUT 实现"真正"全屏的 Linux 教程
相关文章:
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 这里在 Linux 中具有"CreatePipe"和"CreateProcessW"功能吗?
- 函数在Windows或Linux上运行时表现不同
- 在Linux下捕获SIGKILL的C++程序
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- mysql C++ connector [mysql-connector-c++-8.0.19-linux-glibc2
- 这些是什么样的错误?即使我不在 Linux 上工作,我也遇到了 Linux 错误
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建