解決方案
GTA Online 惡名昭彰的漫長載入時間一直是玩家之間的笑柄:進入遊戲前得盯著載入畫面超過六分鐘。2021 年 3 月,一位化名 t0st 的程式設計師受夠了,他把遊戲拆解開來,自行打造了一套修正方案。
罪魁禍首平淡無奇:GTA Online 開發者選擇解析並排序一個數百萬位元組的大型 JSON 檔案中資料的方式。根據 t0st 自己的非正式基準測試,他的修正讓載入時間縮短了約 70%,而他的報告指出,核心的解析與儲存問題「對單一開發者來說,應該花不到一天就能解決」。
不到兩週內,Rockstar 便聯繫了 t0st,承認他確實揭示了 PC 版載入時間的一項真實改善,依其錯誤懸賞計畫支付他 10,000 美元,並承諾在即將推出的標題更新中實施變更。
達成了什麼
六分鐘的載入時間,歸結於一次受 CPU 限制、針對數百萬位元組 JSON 檔案的解析與排序——一個只需一天就能修好的問題,卻在眾目睽睽之下潛藏多年。
為何奏效
每次啟動都會執行的啟動程式碼潛藏在眾目睽睽之下——沒有人會去剖析那些一直都很慢的部分。
對數百萬位元組檔案進行低效率的解析與排序,會在每次啟動時放大成玩家數分鐘的等待。
一位帶著反組譯器、不帶任何預設成見的外部人士,在幾天內就找到了多年例行開發從未浮現的問題。
可借鏡之處
你的產品中最慢的地方,可能是一個從來沒有人剖析過的資料結構——而有時候,只有帶著反組譯器的顧客才會去檢視它。
後續發展
Rockstar 對 PC Gamer 的聲明證實,t0st「確實揭示了遊戲程式碼中與載入時間相關的一個層面」,且該層面可以改善,並表示變更將在即將推出的標題更新中推出,但未給出時間表。這起事件成為遊戲界社群剖析與錯誤懸賞獎金的標準引用案例。
追溯依據
參考來源
- Developers to update GTA Online to address poor load times after community fix Ars Technica · arstechnica.com ·