ゲーム

ハッカーが「グランド・セフト・オート:オンライン」のロード時間を70%も削減することに成功

by downloadsource.fr

車両を盗んだり通行者を撃ち殺したりといった暴力的内容が特徴の超人気ゲーム「グランド・セフト・オート 5」のオンラインモードである「グランド・セフト・オート:オンライン(GTAオンライン)」は、最大30人が同時に街中で大暴れするというハチャメチャな内容に加えて「ロード時間の長さ」も有名でした。そんな悪名高いローディング問題について、あるハッカーが独力でロード時間を70%も削減することに成功。自身のブログでその方法を公開しています。

How I cut GTA Online loading times by 70%
https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/

Hacker reduces GTA Online load times by roughly 70 percent | Ars Technica
https://arstechnica.com/gaming/2021/03/hacker-reduces-gta-online-load-times-by-over-70-percent/

GTAオンラインのロード時間を70%も削減することに成功したのは、ハッカーのT0ST氏。T0ST氏は7年ぶりに起動したGTAオンラインのロード時間が何一つ改善していないと気づいたことをきっかけに、「なぜこんなにもロード時間が長いのか?」について独力で分析してみることにしたとのこと。

タスクマネージャを使ってどのリソースがボトルネックになっているのかを調べたT0ST氏は、CPUこそが原因だと当たりを付けます。GTAオンラインは読み込みに際して、シングルモードと共通のリソースをロードした後にCPUのコアを1つだけ占有するという不可思議な挙動をしており、その間はディスクの読み書きもネットワークの通信もGPUの処理もメモリの使用もほとんど行っていませんでした。


T0ST氏はCPUプロファイラであるLuke Stackwalkerを使って実行中のプロセスのスタックと現在の命令ポインタの位置を出力し、メモリ内で処理されているGTAコードの逆アセンブルを実行。その結果、合計6万3000個のエントリを持つ10MB超のJSONファイルを解析する関数を発見しました。

この関数は難読化されていましたが、T0ST氏はリバースエンジニアリングツールのProcess Dumpで難読化を突破。そして、問題のJSONファイルが「GTAオンライン上のゲーム通貨で購入できる全アイテムのリスト」だと気づきました。


現代のPCの処理速度をもってすれば10MB程度のJSONファイルの解析にそれほど時間はかかりません。しかし、T0ST氏によると、JSONファイルを解析する際の実装に2つ問題があったため、悪名高いロード時間の問題が生み出されていたとのこと。

問題その1は、データを1つ1つ読み込んだ後に時間のかかるチェックを実行していたというもの。T0ST氏は文字列の長さをキャッシュするというシンプルな実装に置き換えるだけでロード時間を50%以上も削減することに成功。問題その2は、データをロードした配列が大きくなるといちいち重複をチェックし出すというもの。T0ST氏は重複を素早くチェックできるハッシュテーブルに置き換えるだけで、ロード時間をさらに25%も短縮しました。


上記の改善を加えたDLLによって、T0ST氏は6分もかかっていたロード時間を2分弱にまで短縮したと記しています。T0ST氏は改善版のDLLをGitHub上で公開していますが、不正行為防止機能などによって問題が生じる可能性があるため、「使用は自己責任で」と明記されています。

GitHub - tostercx/GTAO_Booster_PoC
https://github.com/tostercx/GTAO_Booster_PoC

T0ST氏は今回の問題について、「たった1人のエンジニアでも1日以内に処理できるレベル」と言及。開発元のRockstar Gamesに早急に問題を修正するように促しています。

・つづき
ハッカーが独自開発した「GTAオンラインのロード速度改善DLL」を開発元が採用、夢の「ロード時間70%短縮」が公式化へ - GIGAZINE

by strelkin

この記事のタイトルとURLをコピーする

・関連記事
人気ゲーム「グランド・セフト・オートV」で香港と中国のゲーマーのオンライン抗争が勃発 - GIGAZINE

「グランド・セフト・オート」をリバースエンジニアリングで再現するプロジェクトが著作権侵害で公開停止 - GIGAZINE

「グランド・セフト・オートV」の開発会社が114億円以上も税金の支払いを回避していたことが明らかに、GTA最新作の制作費とのウワサも - GIGAZINE

in ゲーム, Posted by log1k_iy

You can read the machine translated English article here.