遊戲窗口模式和全屏模式的區別在哪?

1.在解析度相同的情況下,哪一種模式能夠更流暢地表現遊戲畫面?
2.從表現上來看窗口模式能夠比全屏模式更快的切換到其他程序,是否是因為全屏狀態下遊戲完全接替了系統對畫面的渲染?此時並沒有進行桌面和資源管理器等的渲染?
3.某些遊戲在全屏狀態下切換出去,會看到桌面的解析度也變成了遊戲中的解析度,這是什麼原因造成的?
4.有說法說Windows 7之後兩種方式已經沒有太大的區別,是什麼原因,是否意味著以後遊戲其實沒有必要有全屏模式?


@可可蘇瑪 已經回答了大部分,我就來補充一下win7的問題吧。

Vista上,由於wddm的限制,加上向下兼容的要求,渲染流程是:

  1. 硬體渲染的東西在GPU上做完
  2. 讀回CPU端
  3. 把GDI這些用軟體渲染
  4. 兩者混合
  5. 拷貝到顯存顯示

這樣的話,相當於整個屏幕都要維持2份拷貝,並且要互相同步。早期的vista驅動上,D3D/OGL和GDI混合使用的話閃得要死或者慢的要死,就是這個原因。(比如Maya就這麼任性地混合使用了)

Win7在開發的時候,終於有個懂圖形的大佬發飆了,說你們TMD搞毛啊。於是新的wddm要求驅動提供overlay和blt,所以流程變得很簡單高效:

  1. 硬體渲染的東西在GPU上做完
  2. 把GDI這些用軟體渲染
  3. Blt到GPU端作為overlay

這樣不但快,而且省電,而且只需要在GPU端維護一份屏幕拷貝,CPU端只需要短暫地維護一個局部GDI的內容就可以了。

好,回到題主的問題,窗口和全屏的區別。

對Vista來說,窗口需要那樣一套流程,全屏因為沒有GDI了,就直接一步去GPU,所以兩者差別比較大。對Win7+,差距明顯小了很多,尤其是少了讀回CPU的巨大同步開銷。但這個差別還是會存在的。要性能就全屏。

順便補充一下,Android之前被長期詬病的一個事情就是電量時間那個條條總是存在,於是所有東西都需要混合,影響了遊戲性能。


本答案只要看最後一句即可。

------------------------------------

嚴格地說,樓主說的全屏實際上是獨佔模式。最主要的區別是Graphics Resource,尤其是Frame buffer是由Compositor還是Graphics API的Pipeline接管。

在獨佔模式下因為少有Context Switch,一般也是單一前台進程,在資源管理上Runtime/Driver也傾向於管的更少(比如DX7/8/9時代開發者入門必知必會的Device Lost的處理),所以系統可用的資源要略多一些,Driver上也可能會有一些優化。當然,僅僅是可能。

這些措施會讓系統的Cost有所下降,但是提供的功能也會少很多,比如IME在獨佔模式下完全需要應用程序進行繪製。

--------------------------------------

P.S. 我也見過獨佔模式卡的和屎一樣的遊戲。


1.在解析度相同的情況下,哪一種模式能夠更流暢地表現遊戲畫面?

全屏


2.從表現上來看窗口模式能夠比全屏模式更快的切換到其他程序,是否是因為全屏狀態下遊戲完全接替了系統對畫面的渲染?此時並沒有進行桌面和資源管理器等的渲染?


你可以這麼理解,不僅如此內存有時候也會被釋放掉


3.某些遊戲在全屏狀態下切換出去,會看到桌面的解析度也變成了遊戲中的解析度,這是什麼原因造成的?


因為遊戲是DX的,它會獨佔顯卡,所以該模式下顯卡被設置到了該解析度


4.有說法說Windows 7之後兩種方式已經沒有太大的區別,是什麼原因,是否意味著以後遊戲其實沒有必要有全屏模式?


不了解,不敢瞎說


答一句無關的,個人及朋友們的親身經歷,窗口模式能有效的緩解、乃至消除3D眩暈症,在FPS和ARPG中效果拔群(當然相對的代入感會削弱,因為盯著屏幕的視線中多了一圈不動的景)。


我有強迫症,不能玩窗口的,另外就是窗口模式只對一些會異常跳出的遊戲有奇效,不過那還是XP時代的事情了


遊戲全屏之後,IME輸入法需要用程序重新繪製。


我記得是
win2k XP的驅動模型下DX可以直接寫屏,全屏和窗口模式差距不大
vista的wddm1.0在窗口模式下直接寫屏有困難,要經過dwm軟混合,性能會低一點
win7、win8和win10的驅動模型都有改進


感覺沒啥區別了。。。 似乎是渲染方式是獨佔和非獨佔的區別。。


我覺得是能不能看見QQ有人m你的區別


你們難道都沒想過用窗口玩可以有效騙過家長老師嗎?(づ ●─● )づ


一個不用彈出來聊天……


窗口可以不錯過任何消息,也可以讓我一邊打遊戲一邊工作,全屏我要不停的alt tab


區別在於能否自由切換和女友聊qq。。(偏題了)


窗口會卡一些,貌似渲染的當時不一樣了???

不過大丈夫萌大奶,
Alt+回車,秒變全屏。

對於雙屏的小夥伴們,你們只能選擇默默忍受了。


窗口模式下玩遊戲相對全屏模式下玩遊戲會更卡頓

據說全屏模式玩FPS更加的穩


解析度相同,全屏模式效率最高
只針對那些說開窗口後遊戲速度變快做答:
對於那些窗口化 幀率上升的遊戲,硬體方面應該沒有變化,都是gpu渲染然後blend. 速度變快的原因,我認為是軟體演算法上的改變,由於不是全屏,需要變換計算的象素就少了許多,fill-rate得升了,而且不需要用高質量大尺寸貼圖,使用了一簡便的演算法,光影效果也有可能會減弱等等。
另外窗口化以後,如果你的遊戲速度變快了,你是否發現有時屏幕產生的圖像會發生錯位,如果是那樣的話,有可能是vsync功能沒有了。


窗口模式玩起來幀率貌似更高吧。而且偷偷玩遊戲的時候也不那麼容易引起懷疑


win10的表示有些遊戲必須用窗口比如紅警2


自打twitch出現以後就沒全屏玩過遊戲,主機的不算吧


我覺得吧,在玩恐怖遊戲時候,用窗口玩不會很怕
偏題了果咩!


推薦閱讀:

TAG:遊戲 | 解析度 | 遊戲開發 | 顯卡 | 渲染 |