更新:

我們的一位讀者向我們發送了一條消息,說T0ST的工作已收到其他開發人員的更新,可用這裡。它使我們能夠在所有平台和操作系統上使用該補丁(原件僅在Windows上使用Steam和Rockstar Games Launcher)。實施規則與第一個版本相同。同樣,我們警告說,使用此補丁可能會導致帳戶暫停。

原始內容:

簡而言之

  • 一個名為T0ST的互聯網用戶發現了長期加載時間的原因在線GTA;
  • 事實證明,罪魁禍首是一個錯誤的代碼,該代碼執行了與遊戲中放置的項目相關的不必要的操作;
  • 消除錯誤將在線模式的加載時間從6分鐘降低到110秒。

儘管事實是自發布以來已經過去了近8年大盜竊自動V,包括在線GTA 仍然很受歡迎, 和遺跡出版商Take-Two的金礦。但是,Rockstar Games的在線模式也是以其很長的加載時間而聞名,最多可達10分鐘。從一開始,遊戲就存在於遊戲中,但現在只有一個被稱為t0st的互聯網用戶決定不僅要看它,而且如果可能的話,消除它

最後,他成功了。使用具有平均參數的計算機,T0ST將在線模式的加載時間減少了幾乎70%。所有這些都在對遊戲有缺陷的代碼的微小更改的幫助下。這是他如何做到的詳細描述。

在線模式需要幾分鐘才能加載。

尋找罪魁禍首

T0ST首先決定比較兩種可用遊戲模式的加載時間。為此,他使用了計算機,當時AMD FX-8350處理器,16 GB的RAM,預算SSD和NVIDIA GEFORCE GTX 1070。大約70秒為了加載故事活動。開始在線模式多達6分鐘(這兩次都是從Rockstar的徽標出現的那一刻,開始菜單)。

用戶想確定在線模式加載時計算機到底發生了什麼。為此,他開始加載在線GTA再次,但是這次他打開了Windows的內置任務管理器。一分鐘後,他注意到CPU使用率從25%增加到60%以上。更重要的是,該遊戲僅使用八個可用的核心。其餘的組件幾乎在將近五分鐘的時間裡什麼都沒做。 T0ST得出的結論是,問題是在遊戲代碼中...

CPU消耗在將GTA在線上加載的計算機上加載GTA時,具有平均參數。資料來源:nee.lv(T0ST的網站)

西西弗(Sisyphean)勞動

...他是絕對正確的,因為罪魁禍首原來是一個只有10兆字節和.json擴展的文件。它包含遊戲中可供購買的所有物品的列表(可以使用虛擬現金而不是通過微交易購買的物品及其升級。其中大約有63,000。問題在於,遊戲加載文件時,它會運行該語法檢查。與文件中的項目相比,重複多次。

此外,所有項目都有自己的“哈希”,這是一個識別它們的獨特代碼。每次完成項目的分析時,它被放入列表中,並將其與列表中的列表進行了比較。這是為了避免重複項目的情況。最初,列表是空的,但是隨著時間的流逝,它填充了所有63,000個項目,並且必須將其與另一個進行比較。 T0ST計算了在此過程中,總共執行了近20億個行動。更重要的是,由於每個項目都有獨特的“哈希”,因此從一開始就毫無意義。

解決方案

T0ST創建了自己的代碼,該代碼覆蓋了遊戲的兩個有缺陷的功能。它將游戲執行的語法檢查數量減少到一個和殘疾人的重複項檢查。解決第一個問題的解決方案將加載時間減少到4.5分鐘,並結合第二個解決方案到僅110秒。開發人員在GitHub上分享了他的工作,可以下載這裡。但是,T0ST不能保證該解決方案將在其他計算機上使用,尤其是高端鑽機(差異可能並不明顯),並且警告說,添加此代碼可能會禁止您的帳戶。

該程序員希望Rockstar將花點時間修復此錯誤並釋放正式補丁,因為他認為這可以在不到一天的時間內由一個人修復。

以上翻譯既基於T0ST郵政從他的網站和一篇文章Eurogamer的記者,數字鑄造團隊的成員之一Will Judd。

更多的:在線GTA即將在PS4上失去重要功能,Xone