R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

《GTA5》的禁售提議最終會不會得逞,現在我們還不得而知。但前幾天的一件事,卻是實實在在的把R星的程式猿釘在了恥辱柱上。

如果雞友們有玩過《GTAOL》也就是《GTA5》的線上模式,那一定有被那超長的載入時間噁心過。

快則一根菸的功夫,5-6分鐘的載入時間不過是家常便飯,電腦配置稍差一些的,要等20分鐘才能開啟遊戲,這可不是什麼誇張的謠言。

R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

要知道,《GTAOL》已經上線了整整7年半,這個問題卻一直沒有被解決。

喜歡玩《GTAOL》的玩家不僅要遭受外掛神仙們的煩擾,每次上線前還要先經過一次超長的“看雲”(載入遊戲時都會有一段從高空俯視洛聖都的鏡頭)。

R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

最近,有一位國外的程式猿玩家,終於忍受不住這種折磨,使用逆編譯器逐條檢視遊戲的執行情況,結果還真被他找到了原因。

首先用Windows任務管理器來判斷《GTAOL》在啟動時,都呼叫了哪些計算機資源。

R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

看不懂沒關係,我也一樣

可以看到,聯機版 GTA 5,載入時呼叫大量 CPU 資源至少長達 4 分鐘之久,而同時,記憶體、GPU、硬碟的使用情況幾乎沒有明顯變化。

那問題就很清楚了,很大機率問題就出在程式碼身上。

至於程式碼的問題,就不在這裡多說了,反正你們也看不懂(主要是我不懂)。

但有一個問題是很明確的,那就是遊戲在那段超長的載入時間裡,用你的CPU執行了19。8億次if命令。

目的就是檢查遊戲內可購買物品,剛開始的時候還好,可是隨著遊戲更新,可購買物品的數量越來越多,載入時間也就隨之增長了起來。

R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

那麼到底是什麼原因,讓R星從來都不去修復這個屎一樣的程式碼問題呢?答案也許很簡單,就是懶。。。

對於一款上線已久的遊戲而言,體驗最佳化的優先度是排在很後面的。也就是說,其實這個問題R星並不是不知道或者不能解決,而是沒空做罷了。

因為程式猿大哥一頓操作之後,輕輕鬆鬆就把載入時間從原來的6分鐘,降低到了現在的1分50秒,而且電腦還是七八年前的老配置。

自己搞定了之後,這位玩家沒有隻顧著自己爽,而是把修改好的程式碼,上傳到了Github,免費供大家下載。

原本只是隨手做好事,人家也沒想到R星竟然會主動聯絡到他,說是認可了他的改進方案,會在後續更新中修復這個祖傳問題。

最重要的是,R星竟然還給他發了1萬美刀作為獎金!這一刻,我酸成了一個檸檬精。。。

1萬美刀對於每年都能在《GTA5》身上賺幾個億美金的R星而言,算不得什麼。但對於身在拉脫維亞的程式猿大哥而言,那可是相當於三四個月的工資。

R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

拉脫維亞

能提前大半年領到2021年的年終獎,程式猿大哥自然是表示相當開心,而且他還說後續還會繼續觀察《GTA5》的更新,說不定還能拿到更多獎金。

雖然R星這個招安舉動還算有良心,但是玩家們哪管你這麼多,該噴的還是要噴,誰讓你懶呢。

至於R星這邊嘛,在招安了之後也趕緊在前兩天釋出了更新補丁,玩家們終於可以擺脫長時間“看雲”的困擾了。

R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

補丁公告上還提到了這位程式猿大哥t0st

對這個補丁作出的貢獻

不過有點搞笑的是,這個補丁釋出之後,程式猿大哥第一時間就下載了下來測試,使用了同樣的方法和硬體,結果載入時間為1分54秒。

R星懂個錘的GTA,祖傳爛程式碼還得靠玩家幫忙解決

那就是說,R星補丁的載入時間,還是要比他的自制補丁要慢4秒,這大概才是真正的民間高手吧。

不知道現在去學程式碼,還來不來得及呢。。。