※ [本文轉錄自 Falcom 看板 #1PTBM7oR ]
作者: SRWSEED (SRWSEED) 看板: Falcom
標題: [軌跡] PC版 英雄傳說 閃之軌跡 開發過程訪談
時間: Sun Jul 23 22:41:08 2017
XSEED 原文網址:
https://goo.gl/yJyTDZ
來自閃之軌跡吧網友翻譯: 翻譯作者:昀山霧雨
https://goo.gl/dPUeQP
本文翻譯譯文有詢問過原作者,經過同意轉載。
也答應作者必須告訴他轉載的地方
《英雄傳說:閃之軌跡》個人電腦版嘉賓博客一號——性能篇
作者:彼得·“杜蘭特“·托曼
當XSEED聯絡我讓我參與他們開發中的《英雄傳說:閃之軌跡》(以下簡稱“閃軌“)的
個人電腦版本的移植(以下簡稱”PC移植“)時,我對這個項目的前景就感到十分興奮。
《空之軌跡》系列是我在PC上十分喜愛的JRPG之一,因此我也十分期待讓這個系列的後繼
作品能在PC上有著盡善盡美的表現。
當然,剛開始的時候我並不知道我對這個項目的參與程度有多深:我以為我只會對部分程
序作優化,大概一兩周的全職工作即可完成任務。現實卻大不相同。本系列文章將會詳述
其中的原因。
本系列文章目前計劃分為三部分,在八月二日發售日之前將會逐步放出:
1. 第一部分即為本文,此部分將會展現性能部分的狀況,大部分與幀率以及載入問題相
關。
2. 第二部分將會展現PC版本的圖像改善以及圖像選項,以及實現提升的過程。
3. 第三部分將會展現PC版本上一些獨特的功能以及加入這些功能時遇到的一些困難,需
要注意的是這些功能與圖像改善並沒有直接相關。
性能故事的開端
關於程序的故事以載入問題為開端往往是合適的,而我最開始被咨詢到的問題就是讀取時
間。當時的PC版本在配置良好的機子上,讀取時間常態性地需要花費20秒以上,而且這些
讀取並不是偶然間的大型讀取,而是任何需要讀取的情況都會遭遇如此長的讀取時間,例
如每一次開始戰鬥以及戰鬥結束。另外,整個遊戲都出現多處的讀取拖慢現像。
這當然是一個不能接受的版本。經過長時間的分析,我發現造成拖慢以及讀取問題的主要
原因都在於遊戲引擎使用了“Nvidia Cg“(目前來說一款非常老舊、沒有技術支持的高級
著色器語言工具),遊戲常態性地使用這款工具來編譯及加載著色器。通過緩衝以及重新
使用著色器的編譯成果,我成功地將讀取時間(在第一次讀取過後)降到了2-3秒,並消
除了在開始後的大部分拖慢現像。我對剛開始接手的這個問題的進展感到滿意,我彙報了
我的發現並開始編程。
標準
過了一些時日,我被分配到了為游戲的最終發售進行潤色的任務。當時我花費了一些時間
來改善當時還存在的以Cg為基礎版本的遊戲的圖像性能表現,在幾次遊玩測試後我逐漸對
其性能表現感到失望。
因為游戲起先是在PS3甚至是PS Vita平台上發售的(盡管PC版本只會使用PS3級別,甚至
更好的材質以及特效),我所期望的結果是配置良好的桌上型電腦可以極其輕易地運行游
戲。然而,在當時我就已經發現了一個場景中的某個攝影機視角會讓我的電腦掉幀到
45FPS,而且完全是CPU的限制。通過使用了數種分析工具,我發現這個問題主要與這個引
擎處理著色器階段的OpenGL/Cg的渲染後端相關,並導致了每個繪圖指令都會請求數十個
階段設定指令。通過更多的優化和微調,我將測試場景的性能提高到了55FPS。在此時,
我預估即使對Cg為基礎的渲染器進行完全的優化,在我的電腦上也最多只能把幀率提高到
80FPS。
這樣子的結果著實不夠好。
我永遠無法接受在PS3上以30FPS運行的游戲,在經過我的優化後只能在我2015年配置最好
的桌上型電腦上以80FPS的幀率運行,尤其是我的名字還要出現在工作人員名單上。實際
上,我更希望這樣的遊戲能在低功率的攜帶型電腦(如GPD Win)上運行,然而這階段的
性能表現抹殺了這種可能性。
中途換將
這個性能問題的唯一真正的解決辦法是完全替換渲染後端。遊戲使用的引擎已經有了DX11
後端,然而Falcom在制作《閃軌》時顯然只是使用了OpenGL/Cg,游戲本身以及其材質使
用了大量在DX11後端裡不存在或者無法正常運行的功能。因此,轉換到不同的渲染器其實
是到目前為止PC移植的最大改變。
下面是DX11版本開發時我拍的第一張截圖,請注意,這張截圖拍攝時我已經修復了一系列
讓遊戲甚至無法運行的問題。
http://i.imgur.com/iLo8erg.png
在這張截圖你能夠看到超過十數個的渲染問題,其中的一些問題需要從基礎上拓展引擎以
及重做才能修復。然而,這只是與更換渲染後端相關的57個分別渲染問題(不是單獨的例
子)的最終合集。我沒辦法每個問題都展示出來,但是下圖是我在開發後期處理時的一張
特別好笑的截圖——如你所見看起來不是太糟糕了:
http://i.imgur.com/LXw2Dei.png
結果
盡管有著這麼多的問題以及花費了很多功夫才把遊戲移植到了一個完全不同的渲染後端,
在最後結果還是讓人滿意的。下圖是遊戲在不同階段在我的電腦上的(CPU)性能表現
http://i.imgur.com/YlGBFGl.png
遊戲目前的階段,代號為“DX11優化版本“,與大家所期望的優秀的PS3移植到PC版本的
遊戲相符。
關於這個圖標我要指出重要的一點:請不要使用這個圖標作為DX11比OpenGL快多少的論點
這個結果是在相同引擎下這些應用程序接口使用不同渲染後端的直接後果。
我猜想GL/Cg的版本更多的是設計用來在家用機及相似的目標平台上的開發工具,
而不是滿足PC版本上的性能指標。
在高端的PC上達到300FPS固然不錯,但是在回合制的JRPG上就顯得意義不大了。
更值得關注以及真正的成果是游戲運行在低端系統上的性能表現。
本影片(此處應有開發試玩影片https://goo.gl/4JXy5C)展現了遊戲在GPD Win上以
1280x720P的解析度流暢運行。至於圖像設置,影片上的遊戲
使用了“ 攜帶型電腦“的設定,圖像就如字面所示一樣簡陋,同時在擁有卓越性能的PC上
也有可以花費的新功能,但這就是《閃之軌跡》PC移植版的下一篇博客的內容了。
(以上翻譯來自閃之軌跡吧的網友:"昀山霧雨"
原文著作權歸XSEED所有,翻譯權歸本人所有)