《GTA Online》即使在七年前发布,仍然是一款流行的流媒体游戏。这一切都归功于它不断涌入的新内容和强大的粉丝群。然而,一段时间以来,游戏的加载时间一直是个笑话,即使是高规格的 PC 也会成为其要求的牺牲品。
痛苦的等待导致一名玩家深入研究游戏的代码,并通过一些调整,设法将加载时间减少了近 70%。
如何改善“GTA5线上模式”中的加载时间
PCGamer报告称,GitHub 用户tOst上传了一个固定代码,并提供了整个过程的细分。但是,GitHub 用户警告玩家,“GTA5线上模式”的加载屏幕修复更多是概念证明,不适合随意使用。
数字程序员表示,玩家还应该尝试对自己的 PC 进行配置,以尝试弄清楚为什么“GTA5线上模式辅助”在加载过程中将单个 CPU 线程最大化超过四分钟。在使用工具转储进程堆栈并在内存中运行时反汇编游戏代码后,tOst 注意到一组函数似乎正在解析一个 10MB 的 JSON 文件,总共有 63,000 个条目。
有问题的 JSON 文件似乎是“网上商店目录”,它描述了“GTA Online”玩家可以用游戏币购买的每件物品。解析一个 10MB 的文件应该不是现代计算机的太多问题,但在具体实现中几乎没有什么晦涩难懂的问题会导致大幅减速。
首先,用于解析 JSON 字符串的特定函数是在读取每条数据后重复运行耗时的 strlen 检查函数。正如Ars Technica报告的那样,简单地缓存该字符串长度值以加快这些检查的速度导致加载时间减少了 50% 以上。
这一点,再加上《GTA5 Online》仅在 tOst CPU 上的单核上运行的事实,似乎是有史以来最大的瓶颈。然而,通过对优化代码的一些修复,GitHub 用户能够将加载时间减少到更容易消化的一分 50 秒,比原始时间提高了 69.4%。
进行GTA5辅助器的使用
Eurogamer报告称,任何具有游戏编程技能的人都可以通过这个简单的技巧来升级“GTA5线上模式辅助”中的加载时间。请注意,以这种方式在游戏运行时修改游戏功能是典型的黑客行为,因此请注意。
而对于其他对游戏编程的工作原理一无所知的人,那就是等待 Rockstar 在不可预见的未来为“GTA Online”实施的注释补丁。
修复的相对简单性和节省的时间量应该意味着它至少值得研究,特别是对于使用较旧 AMD 处理器的游戏机或 PC 的玩家。
TOst 建议“GTA Online”玩家如果 Rockstar 发现这一点,就对游戏黑客采取一些措施,并且单个开发人员解决问题不应超过一天。游戏程序员建议玩家可以切换到哈希图进行重复数据删除,或者在启动时完全跳过它作为更快的解决方案。对于 JSON 解析器,将库换成性能更高的库