什么是全屏模式

时间:2011-02-28 08:03:03

标签: language-agnostic window

我知道你可以通过扩展窗口并取消标题栏,状态栏和其他东西来伪造全屏,我对此不感兴趣,我想知道“真正的”全屏模式(我不知道)我知道怎么称呼它,就像在游戏中一样。

究竟什么是全屏模式? 应该用什么win-api来达到这个目的? 这可以用来全屏播放电影吗?我知道Windows媒体播放器使用假全屏,因为我可以“剪切”它并看到桌面(使用区域win-api)。 我可以通过一个窗口(使用区域win-api)“切割”通过“真正的”全屏幕吗?这是直接写入视频内存并且没有什么“在”下面吗?

谢谢!

4 个答案:

答案 0 :(得分:1)

如果您想在Windows上全屏制作游戏,最佳选择是 XNA 。这使用了DirectX,但隐藏了很多实现细节和管道,以便开发人员可以轻松开始他的游戏。

XNA可以免费下载,并且有很好的文档。

可以下载XNA Game Studio 4.0 here

答案 1 :(得分:0)

如果您不想使用DirectX,请创建窗口并使用CDS_FULLSCREEN标记调用ChangeDisplaySettings。 OpenGL应用程序使用这种方式全屏显示。

答案 2 :(得分:0)

...除了“真正的”全屏外,您可能还想支持“假”全屏模式 - 对于我们这些运行多显示器系统的人来说,这是非常好的。

答案 3 :(得分:0)

就用户而言,全屏就是当一个窗口占据整个屏幕时,他们不再看到任何窗口边框或其他桌面内容。

如您所知,并非所有全屏都是平等的。

'正确'全屏是程序控制屏幕的地方。当游戏使用此模式时,它可以更改屏幕的分辨率。如果你曾经玩过一款旧游戏并且已经存在,看到你的图标都搞砸了,这就是;在玩游戏期间,您的桌面分辨率较低。

'无边框全屏'程序窗口是条纹的任何边框,标题栏和框架等,只是一个纯渲染的矩形。如果您将此渲染上下文设置为与桌面大小相同,则会获得全屏效果。

现在,做无边框通常是用户友好的方式,因为它更容易“标记”,因为其他程序仍然是图形化的。 “正确”的全屏幕可让您完全控制硬件,因此从理论上讲,您可以为程序提供更多功能,但这意味着您必须等待事情重新初始化。

您对渲染上下文的处理取决于您,所以是的,您可以使用它来播放视频。如果您处于“正确”全屏幕状态并不重要,渲染代码将是相同的。

至于切割适当的全屏窗口,我不确定,但我认为没有别的东西可以看,只有你的程序。

至于win-api,只有一个windows api,但我想你的意思是,什么是窗口库;因为这已经成为一个很长的答案,我只想说它很大程度上取决于你想从中得到什么。

如果您需要我澄清或扩展任何要点,请随时发表评论。