【隨記】關於GTA4的優化設置

GTA4 是衆所周知的 PC 端優化差的代表性遊戲之一,歸咎於從主機端到 PC 端的暴力移植,但哪怕是目前頂級的旗艦配置,在一些複雜場景中也不一定能穩定60幀,幀數波動較大。

經過個人長期的測試以及國內外GTA社區資料的查詢,下面介紹在 PC 端流暢運行 GTA4 的綜合優化方案,主要涉及遊戲文件參數修改、第三方補丁以及注意事項。(方案尊重遊戲原始畫面,並不涉及使用ENB等畫面修改提升等)

1. DXVK

DXVK 是基於 Vulkan 的 D3D9,D3D10 和 D3D11 轉換層,允許使用 Wine 在 Linux 上運行 3D 應用程序,PC 玩家可以使用 DXVK 來解決一些 DX8 或 DX9 老遊戲中存在的卡頓和優化問題。

GTA4 使用的圖形 API 爲 DX9 ,利用 DXVK 可以將圖遊戲的圖形 API 改爲 Vulkan,實測可使幀數得到明顯提升,且幀數更加穩定,有效緩解複雜場景下掉幀嚴重的問題。需要注意的是,使用 DXVK 的前提是需要設備支持Vulkan,且上述的提升在中高端的PC中較明顯,若機器本身性能較差,可能結果適得其反。

當然,DXVK 並不完美,在遊戲中仍然可能出現圖形渲染錯誤,但在 GTA4 中的支持較好,在 DXVK 2.0 版本之後,幾乎沒有出現圖形錯誤。

注意DXVK對一些畫面補丁ENB的兼容性不好

DXVK 項目在 GitHub 上頻繁進行維護和改進,主要集中於提升兼容性、修復已知的遊戲渲染問題、增強對新版本 Vulkan 的支持、性能優化、新的配置選項和錯誤修正等:

https://github.com/doitsujin/dxvk

N網上也有更加詳細使用,講解如何在 GTA4 中使用 DXVK(包括參數設置、常見問題解決、ENB的搭配使用方法等):

https://www.nexusmods.com/gta4/mods/188

1.1 DXVK的簡單使用

簡單來說,DXVK 的使用方法就是將 dxvk 包中 \x32\d3d9.dll 文件複製到遊戲根目錄即可。還可以在根目錄下創建一個名爲dxvk.conf的文件,用記事本打開可添加一些命令來對 DXVK 做一些額外配置,具體命令見GitHub。一般推薦添加如下命令:

d3d9.maxFrameLatency = 1

d3d9.numBackBuffers = 3

用於緩解初次使用 dxvk 造成的遊戲卡頓。

  • 因爲初次使用 dxvk 時需要頻繁構建緩存而造成遊戲頓卡,隨着遊戲的運行,這種卡頓會逐漸減少。

  • 推薦使用2.0版本以上的 DXVK 以獲得更大的性能提升,若使用較高版本的 DXVK,需要注意更新顯卡驅動,避免遊戲無法啓動的問題。

2. 錯誤修復及優化

此外,可以考慮自行添加一些著名的第三方修復補丁如 FusionFix、ZolikaPatch,實現對諸多遊戲錯誤和畫面問題的修正。

FusionFixhttps://github.com/ThirteenAG/GTAIV.EFLC.FusionFix(主要包含遊戲錯誤修復、畫面增強等)

ZolikaPatch:https://zolika1351.pages.dev/mods/ivpatch(主要修復原始遊戲畫面的錯誤如燈光陰影及其他兼容問題等)

還可以參考以下博客,完成 GTA4 的進一步優化,其中包括降級、優化、修復補丁、疑難解答等詳細的教程:

https://gillian-guide.github.io/

3.其他優化

3.1 修改可用內存

遊戲默認限制內存使用量爲2GB,可將根目錄下 \pc\stream.ini 文件中的 204800 數值修改爲 409600,將遊戲內存限制提升到4GB。

當然,還可以修改爲更大的數值,但考慮到 GTA4 是32位程序,最大尋址空間爲4GB,也就是說其最多隻能使用到4GB內存空間,所以設置大於 409600 的數值則意義不大。

.\pc\stream.ini 修改可用內存

3.2 設置啓動命令

遊戲根目錄下,創建.txt文件並命名爲”commandline.txt“,每當遊戲啓動時,都會預讀取該文件並應用其中命令指定的畫面設置。

下面列舉常用的命令:

-texturequality 2 #設定貼圖質量(取值0-2)

-renderquality 4 #設定渲染質量(取值0-4)

-viewdistance 99 #設定視野距離(取值0-99)

-detailquality 99 #設定細節質量(取值0-99)

-vehicledensity 99 #設定車輛密度(取值0-99)

-shadowdensity 16 # 設定陰影密度(取值0-16)(僅在1.0.4.0版本中可用)

-novblank # 關閉垂直同步

-norestrictions # 取消顯卡設定的限制

-width # 設定渲染寬度(默認800) (渲染寬度和高度即爲遊戲分辨率大小)

-height # 設定渲染高度(默認600)

-frameLimit 60 # 限制遊戲幀數

-refreshrate 60 # 設定渲染窗口速率

-windowed # 強制遊戲在窗口模式下運行

-noprecache # 關閉預讀取

-nomemrestrict # 關閉顯存限制

-availablevidmem # 設定使用多少比例的顯存

-percentvidmem # 使用多少百分比的顯存

對於 1.0.4.0 或 1.0.7.0 的遊戲版本,存在顯存識別BUG,尤其是對於顯存大於2GB的顯卡,遊戲無法正確識別顯存大小(例如只識別出幾百MB顯存),這會導致無法修改畫面選項的問題。

顯存識別錯誤導致無法修改畫面選項

推薦使用如下命令解決:

-nomemrestrict

-norestrictions

-percentvidmem 100

-availablevidmem 1 # 此時可使遊戲識別3GB左右的顯存。也可以嘗試其他數值,觀察遊戲內識別顯存大小的變化

或者也可以使用上述的 ZolikaPatch 補丁修復,只需在 ZolikaPatch.ini 配置文件中設置 VRAMFix=1 命令即可。

  • 需要注意:對於Steam中的 GTA4完全版(GTA IV : Complete Edition),上述通過在根目錄下創建 commandline.txt 文件設置命令的方法將失效,需要在Steam中右鍵遊戲並設置啓動參數,將上述需要使用的命令粘貼進去纔可生效。

命令行

3.3 垂直同步和鎖幀

因爲 GTA4 所使用的Rage引擎限制,若遊戲的幀數過高,會使得與幀率相關的功能失常,從而導致遊戲出現一些奇怪的BUG,如結局無法上飛機、過場鏡頭過度拉近等問題。爲了保證遊戲正常運行同時擁有流暢的體驗,一般建議鎖定60幀,可通過開啓垂直同步實現,開啓垂直同步有多種方式:

  • NVIDIA 控制面板

若使用的是N卡,可到控制面板中,打開管理3D設置,在程序設置下,根據 gta4.exe 路徑添加 GTA4 程序,在設置中將垂直同步設置爲“開”。

Nvidia控制面板開啓垂直同步

  • 微星小飛機的RTSS

我們常用的在遊戲內監控幀數、硬件狀態等數據的微星小飛機Afterburner,安裝時自帶 RTSS ,這是實際繪製監控數據的軟件,通常打開微星小飛機時 RTSS 會同時自動啓動。其中通過設置 Framerate limit,可以實現鎖幀。

RTSS開啓鎖幀

  • DXVK配置

若使用了 DXVK,可以在根目錄下新建一個.txt文件,在其中添加一行命令,表示強制遊戲開啓垂直同步:

d3d9.presentInterval = 1

保存後,將該文件命令爲dxvk.conf,注意連同文件後綴名一起修改。

  • 遊戲內開啓

若使用了上述方法的其中一種,那麼遊戲內的垂直同步選項則失效,否則,可通過遊戲內該選項直接開啓垂直同步。相比與其他第三方的垂直同步方法,遊戲自帶的垂直同步有時並不好用,有可能使幀生成時間不穩定。目前較多人認爲 RTSS 的鎖幀方式最穩定。

遊戲內垂直同步選項

3.4 DXVK加載慢問題

若在 1.0.7.0 遊戲版本中使用 DXVK,可能會出現加載時間很長的問題(如加載存檔、加載過程動畫、進入任務時),原因是使用了上述遊戲外第三方的鎖幀方法,解決方法是不使用任何第三方鎖幀方法。

但是在 1.0.7.0 版本中,若開啓遊戲內自帶的垂直同步,會出現鎖定的幀數小於設置的屏幕刷新率的問題。例如,刷新率設置爲 50Hz 時幀數會鎖在 45 幀,刷新率設置爲 60Hz 時幀數會鎖在 53 幀。該問題可以通過上述的 ZolikaPatch 補丁修復(在 ZolikaPatch.ini 中設置命令 VSyncFix=1),但又會導致加載時間很長的問題。

刷新率鎖幀問題

綜上所述,同時解決上述兩個問題的方法是在 commandline.txt 中添加如下兩個命令:

-frameLimit 70

-refreshrate 70

通過命令強制將刷新率設置爲70,則遊戲垂直同步幀數則會鎖定在60幀,同時不會出現DXVK加載慢的問題。

最後

非常感謝GTA4社區修復補丁的開發者以及優化方案貢獻者,也感激愛折騰的自己,大家都是用愛發電,希望大家依然保持對遊戲的熱愛。

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com