网易首页 > 网易号 > 正文 申请入驻

黑客教R星做游戏?上架了8年的GTA5,竟连10M的文件都搞不定?

0
分享至

  大家好,这里是正惊游戏,我是你们的正惊小弟。

  GTA5作为一款老游戏,可能很多玩家都有玩过。不过有些玩单机版的玩家可能不知道,GTA5的联机版也就是GTA5 online游戏加载情况却被人诟病已久。

  

  就这么说吧,对于大众游戏,除去第一次的内容解压,一般玩家第二次打开游戏界面,游戏内容加载也就在10-30秒,配置差一点的玩家可能在1分钟。但是这款2013年的游戏却让高配置玩家等待3-6分钟,差一点的配置玩家可能需要10分钟甚至更久。

  

  

  也就是说当你双击游戏图标时点开一支烟,这根烟抽完了你才刚刚进入游戏……

  

  或许有些玩家觉得这款游戏太费烟,开始较真起来,其中以国外的一个ID为T0ST的黑客大佬为代表,他好好的分析了一下GTA5游戏打开时的程序后台的电脑资源占用情况。

  所谓是内行看门道,这位黑客发现自己的GTX1070+FX8350联机版打开竟然需要6分钟,于是开始着手一篇优化GTA5OL的博客。

  

  大佬在博客中写到,GTA5OL运行时在这漫长的6分钟里,程序的有一行代码被执行了1.98亿次。这行代码就是程序里常用的判断语句,也就是if...else语句,换做文字就是“如果是,则执行“这样的语句,而且这段代码使用的架构非常奇怪和低效。

  

  至于这行代码为什么要执行这么多遍,这位老哥也顶着掉头发的风险,使用专门的工具测了出来,发现罪魁祸首就是一个仅有10m大小的文件。根据文件内容猜测,似乎是在线商店物品列表。GTA5启动时,必须将这个文件从头到尾查阅一遍甚至多遍。

  

  这个大概是什么概念呢,小弟简单计算,理想状态下一个if语句要读取50个字节长度的内容需要1毫秒,那么读取完这个10m的文件就需要整整200秒,也就是3分钟左右。这还仅仅是这一个文件的读取,更不用提数个G大小的游戏本体了……

  

  为了读取完这个10M大小的文件,再将读取的结果进行储存,R星程序员竟然简单的用的if语句进行比对,这段if代码计算下来执行了(63000^2+63000)/2 = 1984531500次!

  你抽一根烟的功夫,你电脑的CPU把这段代码悄悄执行了将近20亿次。更加噩梦的是,如果R星在商店里增加新东西,这段代码的执行次数还会以指数级进行增加!

  小弟打个比喻,这感觉大概就像是,你本来和妹子的约会地点10分钟就能到,结果你脑子秀逗了,在家门口来回转圈了19.8亿次,才去找妹子,让妹子硬生生多等了你60分钟。

  你说是不是找打?

  

  不过非常可疑的是,从GTA5上线至今R星竟然从来没有考虑过优化这段代码。黑客大佬又在伴随着头发掉落的声音独自研究起这段反编译后的代码,发现了一个致命的问题,就是这个文件的读取明明存在着更有效率的方法。

  

  于是这位黑客大佬使用了代码中的hook strlen+hash map的方法,将这个文件的读取和储存过程进行了优化。

  如果让小弟用“人话”来描述就是,把这个文件看做一个小区,每个数据看成每户人家,cpu想要做人口普查(读取数据),可以根据直接找到对应的的门牌号然后进行数据读取,再用小本本记录下来(储存数据)。下次想要再读取这家内容,直接看本本,不用每家每户再敲一次门,大大提升了数据的读取和存储效率。

  

  也就是这个方法的添加,自己的游戏启动现在只需要1分50秒就能加载完成,相比较之前的6分钟效率提高了70%。那么相比较来看,之前R星的这段祖传代码,完全就是“屎山”(比喻极其糟糕的代码)。

  

  

  这位大佬还把这段程序开源放在了github上,玩家如果需要可以自行下载。

  

  而且有意思的是,在这段反编译后的源码中,竟然出现了大量的TODO字样,一般在IT公司中这些都是给实习生或者新人做的工作,国外网友打趣道:这家伙竟然发现了R星分配给了实习生的活啊!

  

  之后这位黑客大佬的行为在国外论坛和新闻上被广泛传播,很多玩家表示想要给大佬打CALL,并强烈建议大佬开通打赏功能,因为这件事实在是解决了大家一个扎心的痛点。更有人建议作者给R星发邮件。

  

  不过大佬表示现在R星肯定已经看到了,这样做可能会让一部分人陷入麻烦,在社交媒体上公布已经足够了。

  

  可以给作者捐赠咖啡钱

  相比较R星的直接搁置这个事情的优化不同,隔壁的《地平线4》开发团队就显得有诚意的多。在很多玩家吐槽加载时间长时,其开发团队在数次更新中优化此类问题。玩家也发现加载时间由原来的几分钟到现在的一分钟甚至秒进,简直有了飞一般的速度。

  

  

  那么网友们对于黑客大佬优化GTA5OL加载时间的这件事又是怎么看的呢?

  ——有人应该尝试计算等待诸如此类的笨拙代码所浪费的时间。在这么多玩家的陪伴下,我敢打赌它至少有千年的历史。

  ——我确定R星现在很可能会拿这个补丁来卖钱。

  ——如果修复了这个加载时间,就能在商店加更多东西了不是嘛?

  

  (花费一亿美元的开发工作,竟然在读取二进制文件之前没有对文件进行基本的分析)

  ——6分钟的加载时间?我会等疯了的

  ——我觉得肯定是很多程序员的才华被R星埋没了

  ——是不是GTA3开始这段代码就没有变过,太辣鸡了

  看到这里小弟跟你讲,小弟终于知道GTA5开发时间为什么有5年了,大概全都浪费在了游戏启动上。

  最后一个正惊问题:你的GTA5OL启动要多久?

  

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐

顶级库吹!伊戈达拉发图称赞库里:上帝

直播吧
2021-04-13 10:57:05

三连板后又上演“天地板”!这家公司昨晚刚提示交易异动,今天就“垮”了,网友:走势太难得一见…

每日经济新闻
2021-04-13 16:26:43

继沙特之后,伊朗也宣布上调亚洲市场油价!已对中国出口1780万吨

金十数据
2021-04-12 17:36:14

江西红黄蓝幼师晒男孩闻脚照,配文不雅惹争议,称已屏蔽家长

千寻社评
2021-04-13 13:49:20

不进口日本海鲜?日本专家:一点不慌,最终还是中国人买单

见证历史瞬间
2021-04-12 20:17:35

姚策案关键“突破口”被发掘,婴儿产房当班护士,风口上的郭希志

辛东方频道
2021-04-12 11:48:44

30227亿,中国经济交出亮眼“成绩”!美在华贸易地位或长期降级

金十数据
2021-04-13 12:23:56

原广东省委常委林树森讲述:贵广高铁背后的地方博弈,惊心动魄!

大美客家
2021-04-13 03:37:32

胆固醇排行榜公布,鸡蛋黄排第5,榜首是它的5倍,看看你有吃吗?

小珊喜娱乐
2021-04-11 09:28:25

万吨大驱055出动陪辽宁舰巡逻!新消息显示:美军将领有话要说

每日新防务
2021-04-13 10:50:47

柳岩还真是挺会穿的,“透肉装”看着真妩媚,这身材难怪能秀出来

Ainee小屋
2021-04-12 18:05:36

《尚气》定档梁朝伟造型曝光,虽有改动但仍被指辱华,这钱也赚吗

娱乐的定表
2021-04-12 19:07:22

“二胎家庭”有福了!4月10号起,国家新增3项福利!

生活对你下手了
2021-04-11 16:23:40

蒋欣新剧中演了可怕的中国式家长:举报老师、窒息控娃、唯争气论

不八卦会死星人
2021-04-13 15:29:14

属蛇最命苦出生日期,属蛇最命苦出生日期是什么时候

暖暖装修
2021-04-12 20:32:08

高司令现身灰色人片场,穿西裤蜜桃臀抢镜,金发颜值重返18岁

猫眼电影
2021-04-13 14:06:27

成也太阳败也太阳,仅剩5亿年,太阳留给人类的时间不多了

钟铭聊科学
2021-04-13 14:15:45

永不停歇!随着056最后两舰服役,或开始建造此大吨位“目标舰”

铁血观世界
2021-04-13 12:38:47

14岁就被妈妈带去整容,陆续花了400万,直言:我脸上就是一栋楼

小鱼奶爸课堂
2021-04-12 21:50:24

雷吉-米勒谈抱团:如乔丹招募我去公牛 我会告诉他“QNMD”

直播吧
2021-04-13 08:43:02
2021-04-13 19:45:08
17173游戏网
17173游戏网
中国游戏第一门户
21065文章数 338515关注度
往期回顾 全部

游戏要闻

CDPR为挽回口碑 会继续修复《赛博朋克2077》

头条要闻

从科大讯飞跳槽到腾讯 员工被判赔1200万

头条要闻

男幼师让男童闻脚 男童母亲:看到图才知道情况更严重

体育要闻

玫瑰铿锵!中国女足绝境逆转 进军东京

娱乐要闻

最萌身高差!王子文吴永恩认爱后合体

财经要闻

科技要闻

比特币破6.3万美元再创新高,首家加密货币交易所将上市

汽车要闻

车名注册了20年 东风雪铁龙全新车叫"凡尔赛"

态度原创

艺术
房产
手机
时尚
亲子

艺术要闻

2020年十大考古发现揭晓

房产要闻

大快人心!广州这些楼盘因虚假广告被罚百万!

手机要闻

苹果全新手机OS来了!造型变了

张雨绮疑似新恋情被拍 男友是小8岁的帅哥提琴手

亲子要闻

孩子入睡难,家长该怎么处理才好?