E X P
本文约 810 字,3 张图表,马上就好…
  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 拼 命 加 载 中 ...

    很多读者朋友都是Steam的忠实用户,现在宽带的带宽普遍增多了,像200Mbps、500Mbps这样入户的也不少见了,可能很多网速较快的朋友在Steam上下载游戏时会发现自己电脑的CPU占用率很高,难不成下载速度快了CPU会跟不上吗?这是有可能发生的,原因呢,出在Steam的整套下载机制上。

    Steam使用了一套较为复杂的文件下载机制。首先,开发者可以给自己的游戏建立多个仓库,每个仓库中可以存放不同的文件。Steam会根据仓库中的文件内容,形成一份清单,同时将该仓库中的所有文件进行分块,每个块大小约为1MB,为了不让没有购买过该游戏的用户轻松获取到游戏文件,Steam内容系统将每个块都使用LZMA算法进行了压缩,并且使用一个256-bit长度的密钥对文件块进行了AES加密。每个仓库都有一个独一无二的密钥,并且在仓库的清单中记载有原始文件名、文件大小、文件校验值、文件类型和文件区块的元数据,同时还会记载每个区块的ID、校验码、文件位置偏移值和压缩前后的大小。通过这样的设计,Steam能够有效保障整个下载过程是高效的,并且在下载时不会有差错。同时,对于所有Steam用户来说,每个区块文件都是一样的,这也允许CDN存储静态的内容,而不是动态加密的。


    大概就是这样子,把整个仓库的文件给压缩并加密了

    在下载一个已经发售的游戏时,Steam是可以第一时间拿到用于解密文件的密钥的,为了节约时间,Steam使用了边下载边解密的办法,而LZMA解压缩(就是7-Zip用的算法之一)和AES解密都是较为吃CPU资源的,这也就是Steam下载速度越快,CPU占用率越高的原因了——因为你同时间要解密的数据量更大了。


    在公司500Mbps的网络环境下,用Steam下载游戏大概会吃掉我这块i7-4770K约50%的占用率,还是很高的

    而在下载尚未发售游戏的数据时,也就是在预载游戏时,由于拿不到用来解密数据的Key,Steam会把下载到的数据存到*.csd文件中,在游戏正式发售之后,就会使用拿到的密钥进行解密和解压缩。如果你的存储设备速度慢,而网速较快的话,那确实不如不做预载、直接在正式发售后进行下载。

    本文主要参考了SteamDB对Steam下载机制的解读文章,如果各位读者对Steam下载还有别的疑惑的话,欢迎在评论区中提出。

    ×
    热门文章
    1英伟达将会对整个RTX 30系列GPU更新以限制挖矿,包括未发布的RTX 3080 Ti
    2微星GeForce RTX 3080 Ti在运输途中被发现,标签确认了新GPU的显存容量
    3AMD Van Gogh预计8月发布,CPU最多4核,8组RDNA 2 CU
    4实在没什么新功能好加了,Android 12只好加入个“回收站”功能
    5优派发布数款新显示器,专为居家办公而设
    6Acer EL491CRG9现身,第二款得到VESA DisplayHDR 2000认证的显示器
    7华硕CMP 30HX矿卡曝光,散热器带ARGB灯
    8Adobe联合创始人兼PDF格式发明者查尔斯·格什克去世,享年81岁
    9技嘉钛雕Z590 AORUS TACHYON主板评测:为冲击极限记录而生
    已有 16 条评论,共 158 人参与。
    登录快速注册 后发表评论
    • 这些评论亮了
    • deviluser初中生 2020-07-17 16:20    |  加入黑名单

      为啥喜欢看超能网,不仅是因为他们的IT新闻时效性很强,而且小编的水平也很高

      支持(82)  |   反对(0)  |   举报  |   回复

      5#

    • 游客  2020-07-17 23:03

      J4105这种我都不把他当凌动,L3不小,热量还有功耗比J3455高一点而且必须使用DDR4价格不低

      支持(2)  |   反对(2)  |   举报  |   回复

      17#

    • 游客  2020-07-17 22:58

      Pigeon.GuGuJi 博士

      是这么个理
      AES的问题我看有大佬好像讨论过,当时有一种说法的说是由于部分软件用的是软AES,硬件上指令集的缺失并不会有太大影响
      不过另一方面,看测试的结果,这两年的N4000这种双核的好像也能跑到接近900Mbps,J4105跑千兆都不带喘的,我不清楚是不是大佬的固件本身编译的时候就做了优化(毕竟直接拿来就用了)
      所以说买新不买旧还是有点道理的,新U功耗低,跑特定任务还快
      2020-07-17 19:03
    • 支持(4)  |   反对(0)  |   举报  |   回复
    • 给家里的股票机还是用老酷睿,国际象棋单核还是要强于阿童木(E8400 和 J1900),还是稍快点

      已有1次举报

      支持(3)  |   反对(0)  |   举报  |   回复

      16#

    • 游客  2020-07-17 21:18

      还有硬盘啊 机械硬盘那读取写入速度导致下载速度忽高忽低

      支持(0)  |   反对(0)  |   举报  |   回复

      15#

    • QQ23870862终极杀人王 2020-07-17 19:31    |  加入黑名单

      原来如此

      已有2次举报

      支持(0)  |   反对(0)  |   举报  |   回复

      13#

    • Pigeon.GuGuJi博士 2020-07-17 19:03    |  加入黑名单

      游客

      缺乏指令,特定环境下老酷睿远不如前几年4核阿童木
      2020-07-17 18:52
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • 是这么个理
      AES的问题我看有大佬好像讨论过,当时有一种说法的说是由于部分软件用的是软AES,硬件上指令集的缺失并不会有太大影响
      不过另一方面,看测试的结果,这两年的N4000这种双核的好像也能跑到接近900Mbps,J4105跑千兆都不带喘的,我不清楚是不是大佬的固件本身编译的时候就做了优化(毕竟直接拿来就用了)
      所以说买新不买旧还是有点道理的,新U功耗低,跑特定任务还快

      支持(4)  |   反对(0)  |   举报  |   回复

      12#

    • 游客  2020-07-17 18:52

      Pigeon.GuGuJi 博士

      V2+AES在几个富强软件里头负载应该是比较高的了
      千兆跑满的时候搞死一颗老的双核酷睿都不是问题
      2020-07-17 16:23
    • 支持(2)  |   反对(0)  |   举报  |   回复
    • 缺乏指令,特定环境下老酷睿远不如前几年4核阿童木

      支持(1)  |   反对(0)  |   举报  |   回复

      11#

    • 游客  2020-07-17 18:46

      TR2920X+64GB内存表示从来不惧任何高负载应用【狗头】

      支持(1)  |   反对(0)  |   举报  |   回复

      10#

    • Caroys教授 2020-07-17 18:06    |  加入黑名单

      原来steam还有这种操作,下游戏时没什么知觉,可能是受了多核心的好处吧,看来当时脑子一热上了1700也不坏。

      支持(8)  |   反对(0)  |   举报  |   回复

      9#

    • yjherculesss研究生 2020-07-17 16:53    |  加入黑名单

      终于解决了我的疑惑,我昨天还百度了下载速度跟CPU的关系。

      已有1次举报

      支持(0)  |   反对(0)  |   举报  |   回复

      8#

    • onelite教授 2020-07-17 16:34    |  加入黑名单

      你迅雷下载还不用满速,CPU占用也很高的。虽然懒得骂迅雷这个臭流氓了!

      支持(7)  |   反对(0)  |   举报  |   回复

      7#

    • Pigeon.GuGuJi博士 2020-07-17 16:23    |  加入黑名单

      游客

      V2R在流量高的时候也是很占CPU的
      2020-07-17 15:01 已有1次举报
    • 支持(2)  |   反对(0)  |   举报  |   回复
    • V2+AES在几个富强软件里头负载应该是比较高的了
      千兆跑满的时候搞死一颗老的双核酷睿都不是问题

      支持(2)  |   反对(0)  |   举报  |   回复

      6#

    • 游客  2020-07-17 16:17

      别的不说,只是开个直播,我的i5 8500的占用率都有30%左右。

      支持(2)  |   反对(0)  |   举报  |   回复

      4#

    • vigo93一代宗师 2020-07-17 15:39    |  加入黑名单

      该评论因举报过多,自动进入审核状态。

      3#

    • 游客  2020-07-17 15:09

      原来如此

      已有1次举报

      支持(1)  |   反对(0)  |   举报  |   回复

      2#

    • 游客  2020-07-17 15:01

      V2R在流量高的时候也是很占CPU的

      已有1次举报

      支持(2)  |   反对(0)  |   举报  |   回复

      1#

    提示:本页有 1 个评论因未通过审核而被隐藏

    登录 后发表评论,若无帐号可 快速注册 ,请留意 评论奖罚说明
    为你推荐