我如何将GTA Online加载时间缩短70%(2021年)
一位开发者分析了《GTA Online》加载时间过长的原因,发现游戏在解析一个10MB的JSON文件时存在严重的性能瓶颈——单线程、低效的字符串处理导致了长达数分钟的等待。他通过逆向工程修复了这一问题,将加载时间从约6分钟缩短至不到2分钟,揭示了Rockstar Games代码中一个可改进的优化漏洞。
背景速读
- 这是一位程序员(网名"tostercx")发布的逆向工程分析。他发现《GTA Online》PC版的加载时间异常长(有时超过6分钟),于是自行研究代码,找到了根本原因。
- 问题出在一个CPU密集型函数上——游戏在解析一个近10MB的JSON文件时,执行了O(n²)(平方级)的字符串比较操作,每次启动都要跑数百万次无意义的检查。他写了一个补丁,将加载时间从约6分钟压缩到不到2分钟(提升约70%)。
- 该分析在2021年初引爆了游戏和编程社区,因为Rockstar Games(R星)数年未解决的性能问题,被一名玩家靠反汇编和内存调试工具就找到了。R星后来在更新中采用了类似的修复。
- 背景知识:GTA Online是《侠盗猎车手V》的多人模式,2013年上线,PC版长期有加载慢的抱怨;Rockstar是Take-Two Interactive旗下的顶级游戏开发商。