游戏窗口模式和全屏模式的区别在哪?
游戏窗口模式和全屏模式的区别在哪?
2.从表现上来看窗口模式能够比全屏模式更快的切换到其他程序,是否是因为全屏状态下游戏完全接替了系统对画面的渲染?此时并没有进行桌面和资源管理器等的渲染?
3.某些游戏在全屏状态下切换出去,会看到桌面的分辨率也变成了游戏中的分辨率,这是什么原因造成的?
4.有说法说Windows 7之后两种方式已经没有太大的区别,是什么原因,是否意味着以后游戏其实没有必要有全屏模式?
131 个回答
叛逆者,GPU专家
Vista上,由于wddm的限制,加上向下兼容的要求,渲染流程是:
- 硬件渲染的东西在GPU上做完
- 读回CPU端
- 把GDI这些用软件渲染
- 两者混合
- 拷贝到显存显示
这样的话,相当于整个屏幕都要维持2份拷贝,并且要互相同步。早期的vista驱动上,D3D/OGL和GDI混合使用的话闪得要死或者慢的要死,就是这个原因。(比如Maya就这么任性地混合使用了)
Win7在开发的时候,终于有个懂图形的大佬发飙了,说你们TMD搞毛啊。于是新的wddm要求驱动提供overlay和blt,所以流程变得很简单高效:
- 硬件渲染的东西在GPU上做完
- 把GDI这些用软件渲染
- Blt到GPU端作为overlay
这样不但快,而且省电,而且只需要在GPU端维护一份屏幕拷贝,CPU端只需要短暂地维护一个局部GDI的内容就可以了。
好,回到题主的问题,窗口和全屏的区别。
对Vista来说,窗口需要那样一套流程,全屏因为没有GDI了,就直接一步去GPU,所以两者差别比较大。对Win7+,差距明显小了很多,尤其是少了读回CPU的巨大同步开销。但这个差别还是会存在的。要性能就全屏。
顺便补充一下,Android之前被长期诟病的一个事情就是电量时间那个条条总是存在,于是所有东西都需要混合,影响了游戏性能。
收藏 • 没有帮助 •
• 作者保留权利
知乎用户,我是男生啊摔
1.在分辨率相同的情况下,哪一种模式能够更流畅地表现游戏画面?
全屏
2.从表现上来看窗口模式能够比全屏模式更快的切换到其他程序,是否是因为全屏状态下游戏完全接替了系统对画面的渲染?此时并没有进行桌面和资源管理器等的渲染?
你可以这么理解,不仅如此内存有时候也会被释放掉
3.某些游戏在全屏状态下切换出去,会看到桌面的分辨率也变成了游戏中的分辨率,这是什么原因造成的?
因为游戏是DX的,它会独占显卡,所以该模式下显卡被设置到了该分辨率
4.有说法说Windows 7之后两种方式已经没有太大的区别,是什么原因,是否意味着以后游戏其实没有必要有全屏模式?
不了解,不敢瞎说
收藏 • 没有帮助 •
• 作者保留权利
知乎用户,低善友,正经侠,抠脚汉,不如汪。
------------------------------------
严格地说,楼主说的全屏实际上是独占模式。最主要的区别是Graphics Resource,尤其是Frame buffer是由Compositor还是Graphics API的Pipeline接管。
在独占模式下因为少有Context Switch,一般也是单一前台进程,在资源管理上Runtime/Driver也倾向于管的更少(比如DX7/8/9时代开发者入门必知必会的Device Lost的处理),所以系统可用的资源要略多一些,Driver上也可能会有一些优化。当然,仅仅是可能。
这些措施会让系统的Cost有所下降,但是提供的功能也会少很多,比如IME在独占模式下完全需要应用程序进行绘制。
--------------------------------------
P.S. 我也见过独占模式卡的和屎一样的游戏。
收藏 • 没有帮助 •
• 作者保留权利
Answer,九年无冠
收藏 • 没有帮助 •
• 作者保留权利
萌萌哒贱熊
收藏 • 没有帮助 •
• 作者保留权利
杨林,The early employee of ATI
只针对那些说开窗口后游戏速度变快做答:
对于那些窗口化 帧率上升的游戏,硬件方面应该没有变化,都是gpu渲染然后blend. 速度变快的原因,我认为是软件算法上的改变,由于不是全屏,需要变换计算的象素就少了许多,fill-rate得升了,而且不需要用高质量大尺寸贴图,使用了一简便的算法,光影效果也有可能会减弱等等。
另外窗口化以后,如果你的游戏速度变快了,你是否发现有时屏幕产生的图像会发生错位,如果是那样的话,有可能是vsync功能没有了。
收藏 • 没有帮助 •
• 作者保留权利
姜姜,读书,充实自己
收藏 • 没有帮助 •
• 作者保留权利
yang leonier,Tsukuba University, Member of YKSOFT S…
win2k XP的驱动模型下DX可以直接写屏,全屏和窗口模式差距不大
vista的wddm1.0在窗口模式下直接写屏有困难,要经过dwm软混合,性能会低一点
win7、win8和win10的驱动模型都有改进
收藏 • 没有帮助 •
• 作者保留权利
阿汤哥,设计师
不过大丈夫萌大奶,
Alt+回车,秒变全屏。
对于双屏的小伙伴们,你们只能选择默默忍受了。
收藏 • 没有帮助 •
• 作者保留权利
Kolar Sullen,服装设计
收藏 • 没有帮助 •
• 作者保留权利
知乎用户,傍晚时间最如鱼得水。
收藏 • 没有帮助 •
• 作者保留权利
黑化的寒蝉,弱受抖M病娇姐控、讨厌大男子主义直男癌。
别的帝国时代的窗口化也不咋样,经常点出窗口。
收藏 • 没有帮助 •
• 作者保留权利
没吃药de张敬,点击头像以查看介绍(loli/双马尾/大蝴蝶…
收藏 • 没有帮助 •
• 作者保留权利
知乎用户,头像是我女神
收藏 • 没有帮助 •
• 作者保留权利
伟大的驼驼,一个每天都会写小情书的公众号tucaohuisi
全屏不方便我一边聊qq一边玩游戏。
所以一直都在用窗口模式玩
(最可怕的是我居然还用的笔记本妈蛋啊)
收藏 • 没有帮助 •
• 作者保留权利
希言子,twitter:希言子@XiYanZi 群己權界主義(…
--------------------------------------------------------------------------------------
PS:我想做一款Heroes3的MOD,望有意者合作。
英雄無敵3希言子版MOD(或補丁、插件)修改說明 3.1版。諸位有何高見、有誰有意合作? - 电脑游戏
2我翫其他遊戲也是全屏。
收藏 • 没有帮助 •
• 作者保留权利
张禺,什么都不懂
收藏 • 没有帮助 •
• 作者保留权利
Yuri Wu
收藏 • 没有帮助 •
• 作者保留权利
伯爵猫,无存在感小宅一只
偏题了果咩!
收藏 • 没有帮助 •
• 作者保留权利
Travis L,WOW! So that's how Rick Pitino recruits!
收藏 • 没有帮助 •
• 作者保留权利
游戏窗口模式和全屏模式的区别在哪?相关推荐
- pycharm的演示模式、无干扰模式、全屏模式(presentation mode、distraction free mode、full screen mode)
在左上角此处进入: 演示模式: 无干扰模式: 全屏模式: 三者可混合搭配使用,如需退出,鼠标移动到最上边,点右边缩小按钮就行
- 微信支付四大支付模式分别有哪些区别?
微信支付是集成在微信客户端的支付功能,用户可以通过手机完成快速的支付流程.微信支付已为百货.餐厅.便利店.酒店.快递.景区.医院.售货机等提供了支付与营销的全方位支持. 目前微信支付已实现刷卡支付.扫 ...
- 框架模式和设计模式的区别
框架模式和设计模式的区别 有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式.实际上它们完全是不同的概念.[7] 框架.设计模式这两个概念总容易被混淆,其实它们之间还是有区别的. 框架 ...
- MVC、MVP、MVVM模式的概念与区别
------<MVC.MVP.MVVM模式的概念与区别> 前言: 预热: 挨个讲讲: MVC MVP MVVM 结尾: 前言: 首先MVC,MVP,MVVM都是为了解决UI页面与逻辑代码分 ...
- 数据库 关系模式和关系的区别
定义 关系(Relation) D1 × D2 × ··· × Dn 的子集叫做在域D1,D2,···,Dn 上的关系,表示为 R(D1,D2,···,Dn ),其中R就是关系名,n就是目或度. 一个 ...
- 发布订阅者模式和观察者模式的区别
发布订阅者模式和观察者模式的区别 1.什么是观察者模式 定义:当对象之间存在一对多的依赖关系时,其中一个对象的状态发生改变,所有依赖它的对象都会收到通知,这就是观察者模式. 在观察者模式中,只有两种主 ...
- Android 必知必会 - 动态切换着色模式和全屏模式
如果移动端访问不佳,欢迎使用 ==> Github 版 通过代码动态切换页面的着色模式和全屏模式,兼容 Android 4.4 + . 本文假设读者已经了解着色模式和全屏模式(沉浸模式). 背景 ...
- 关系、关系模式、关系数据库的区别和概念以及关系的完整性约束条件
以下内容是本人利用网络资料以及课堂学习总结的学习笔记,如有错误欢迎评论区更正. 前言 这是一组关系实例 域(Domain):一组具有相同数据类型的值的集合(如:整数.实数.具有某一范围的一个整数... ...
- Builder Design模式和Factory Design模式之间有什么区别?
Builder设计模式和Factory设计模式有什么区别? 哪一个更有利,为什么? 如果我想测试和比较/对比这些模式,如何将我的发现表示为图形? #1楼 建筑商和抽象工厂 在某种程度上,Builder ...
最新文章
- c语言和画图软件,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
- 函数式编程之-bind函数
- IE/Firefox中css兼容常见问题
- .net core EPPlus npoi_微软官方上线免费C#、.NET在线教程视频
- 计算机图形学二维变换知识点,计算机图形学 二维变换及二维.ppt
- Vue中数组变动监听
- 11个不常被提及的JavaScript小技巧
- iPhone 12快来了!苹果或本周公布发布会时间
- 灵魂拷问!java数据结构面试题
- linux使用清华镜像安装numpy,NumPy 安装
- 中颐软启动器说明书_中颐软启动器维修
- 有限单元法(The Finite Element Method)
- 使用百度批量拾取坐标点-汇总
- 2020-12-24《重学操作系统——上》林䭽 前阿里巴巴高级技术专家(P8)
- ANSI标准判断sql空值与去空去空格
- 详细设计-程序结构图
- Mac系统应用已经删除,但是右键还有残留的解决办法
- 前端检测图片加载失败,替换图片
- 32位驱动模式写保护开关
- operator-和operator-*