微軟在今年E3期間除了有兩場遊戲發布會之外,
其實還有一系列針對遊戲開發的Xfest影片,分享一些遊戲技術與開發技巧,
有興趣的可以在以下網址下收看
Xfest 2022
https://www.youtube.com/watch?v=4aBEi4SbPlQ&list=
PLRs2lXTYCDQ3uPs2PBJoc69ET6LrM_EK5
https://tinyurl.com/2bw2kp4w
其中,微軟發表一項今年開始導入Xbox Cloud Gaming雲端遊戲串流技術-Direct Capture
https://www.youtube.com/watch?v=-WIXftoHCl4
影片有中文字幕,雖然是機翻,但大致可以看懂。
Xbox雲端遊戲串流,從遊戲中的一幀遊戲畫面從渲染完成到被編碼成串流畫面,
以往是要完整走完硬體HDMI顯示的流程
https://i.imgur.com/m3yP5MT.jpg
present queue (0-66ms) -> 顯示 -> 顯示回寫 (8.3ms)
根據遊戲不同,遊戲畫面在顯示前會有一個佇列,有些遊戲有雙重甚至三重緩衝,
會占用0到66ms不等的時間。而在螢幕顯示之後,還有一個固定8.3ms的顯示回寫,
才能進入串流編碼,因此走完整個HDMI顯示流程會有8.3至74.3ms不等的延遲,
但2022年,微軟推出新技術Direct Capture,遊戲畫面被編碼成串流畫面前,
可以直接繞過整個HDMI流程
https://i.imgur.com/jiM2cKn.jpg
https://i.imgur.com/OyOfrvR.jpg
Direct Capture處理時間為2-12ms,可以節省至多72.3ms的延遲,
繞過硬體顯示流程,能避免垂直同步、雙重/三重緩衝所造成的等待時間,
免了那台根本不存在雲端資料中心的顯示器所需的縮放處理時間。
而Direct Capture可以自動應用在許多雲端遊戲上,
但目前技術還有一些限制,某些遊戲需要開發者作點變更才能使用
https://i.imgur.com/ewirHY0.png
如目前只支援到1440P的最高解析度,不支援動態解析度、HDR等,
但這些限制會隨技術進步逐漸改進。
另外微軟也堆如何降低遊戲延遲,對開發者作出一些建議
目前Xbox雲端遊戲,PC支援的最高解析度為1080P,移動設備則是720P,
所以遊戲原生解析度超過上述解析度,在串流中都需要縮放處理,增加處理時間,
若想強化雲端遊戲體驗,微軟建議可以降低解析度,除了免去縮放處理時間,
也能在運算資源投在強化遊戲畫面