一位名叫 t0st 的 GTA Online 开发者成功改善了游戏的加载时间过长的问题,并请求 Rockstar 将他的修复程序添加到游戏中。
货运列车可能会很长,就像DMV 的线路一样。 CVS 药房的收据甚至更长,但最长的事情是 GTA 在线模式荒谬的加载时间。一位名叫 t0st 的软件工程师玩家因进入游戏的漫长等待而感到沮丧,因此他尝试自行查找问题的原因。他通过使用自定义代码成功地将平均加载时间缩短了近 70%,并恳求 Rockstar 调查他的发现并可能实施官方解决方案。
在一个周末发布的博客文章,t0st 概述了他寻找导致 GTA 在线模式加载时间超过六分钟的原因的旅程。他首先进行了一些基本的扶手椅故障排除,并在游戏加载时观察了 Windows 任务管理器。他指出,他的 AMD 8350 CPU 的一个核心受到游戏进程的影响,而他的磁盘和网络带宽几乎没有被使用。这一发现尤其令人担忧,因为传统观点认为游戏需要从磁盘加载数据并与服务器交换网络数据以加载到在线游戏会话中。
通过使用调试工具,t0st 发现单个 10MB JSON 文件在加载过程中造成了巨大的瓶颈。该文件包含 GTA 在线模式中可获得的所有物品的列表,每次加载 GTA 在线模式时都会从头开始构建该文件,但游戏代码会扫描该文件并在每个条目中验证其内容数万次。文件中有近 63,000 个项目,启动过程执行的冗余完整性检查接近 20 亿次。当然,这些操作会堵塞 t0st 的 CPU,并且在该过程完成之前,GTA Online 无法正常加载。
T0st 通过将自己的代码注入到游戏中来解决这个问题。它创建了一个缓存,启动器可以检查项目完整性,而不是重建列表 63,000 次,从而显着降低了 CPU 负载,并将修复前总加载时间缩短了近 70%。该修复程序可在 t0st 的博客上找到,但玩家应注意,使用它可能会导致被禁止。 t0st 希望他的发现能够传达给 Rockstar,他们将能够正确解决根本问题并改善整体状况侠盗猎车手在线模式所有玩家的体验。