新足迹

 找回密码
 注册

精华好帖回顾

· Royal Melbourne Hospital 历险记-史海钩沉之新年病人 (2007-5-8) 喵呜 · ZMZHU中文经典之达明一派 (2008-12-22) zmzhu
· 参加活动--时令果蔬总动员之栗子蛋糕,已上做法 (2011-5-3) jyy_jessie · 看了一国产偶像剧叫《奋斗》 (2007-10-7) 东食西宿
Advertisement
Advertisement
查看: 1575|回复: 13

转大腿哥的帖子 玩D3经常出现卡帧的有福了 [复制链接]

发表于 2013-5-2 15:06 |显示全部楼层
此文章由 dragonben 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dragonben 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 dragonben 于 2013-5-2 14:09 编辑

ds用完的确快了不少 代价只是一个12刀的16gb u盘

http://bbs.ngacn.cc/read.php?tid ... 0.15979057180143041
http://bbs.d.163.com/thread-172080578-1-1.html

简单来说,用硬盘读取场景会顿卡,因为D3不会一次性LOADING场景,而是不断的在读取你的硬盘
作者发现硬盘花费250ms(平均)-1,500ms(最大)的响应时间都在读取这个文件夹:
"C:\Program Files (x86)\Diablo III\Data_D3\PC\MPQs"
试了磁盘碎片整理,都没有用,响应时间依旧很慢

随后这家伙想出一个办法
1)你至少需要1个16GB的USB盘,8GB是不够用的

2)从“C:\Program Files (x86)\Diablo III\Data_D3\PC\MPQs”
复制整个"MPQs"文件夹到你的USB里,比如我的USB的盘符是D盘,那么最后结果是"D:\MPQs",每个人的盘符可能不一样,这个没关系

3)重命名原来的"MPQs"(在你的硬盘里),随便写成啥

现在是最巧妙的部分了,准备OK?

4)到windows开始菜单,搜索栏里输入cmd,
win7不要按回车,按(CTRL+SHIFT+ENTER)进入管理员模式的命令行

5)当你已进入命令行,键入以下内容(for win7)
cd "C:\Program Files (x86)\Diablo III\Data_D3\PC"
mklink /j "C:\Program Files (x86)\Diablo III\Data_D3\PC\MPQs" "D:\MPQs"

***注意:你不能在命令行中用"CTRL+V",但可以用右键菜单中"粘贴"代替
***注意:如果你用XP,那 "C:\Program Files\...."里不包括(86)
***注意:如果你不是装在c盘而是e盘根目录下,那就是E:\Diablo III\Data_D3\PC"
mklink /j "E:\Diablo III\Data_D3\PC\MPQs" "D:\MPQs"

如果你收到一个信息说 "一个软链接已经被创建.." 那末你已经干对了,完成!
基本上,我们伪造了一个链接让它重新定位到USB盘,它的读取速度快过你的HDD

现在你拥有仅5ms的读取响应时间!
ENJOY "stutter-free" Diablo 3 !!!!!!!!!!!!!!!!!!!


效果实测:
刚刚测试了一下,确实对游戏的流畅性有了不少提高。

原理分析:
可能很多人会问,U盘的速度不是比硬盘慢得多么,为什么放到U盘反而会快?
这里需要说明这么一个概念,“速度”确实包含了好几个概念:写入,读取,寻道时间
那么USB drive VS HDD究竟如何呢?

写入:完败。常见的U盘的写入速度只有可怜的几MB/s,而HDD的连续写入速度即便是笔记本的5400转硬盘也能轻松超过60MB/s
读取:大败。U盘的读取速度能够达到2、30MB/s,而硬盘的读取速度能够轻松超过100
寻道时间:完胜。传统的机械硬盘在读写数据的时候需要移动磁头到特定的位置才可以,这个过程通常需要10ms左右的时间,当并发读写大量数据的时候还会更高。而U盘由于没有机械结构,其响应时间会短得多,大约1ms左右,甚至于可以忽略不计。因此在这方面,即便是U盘也可以完胜HDD,更不用说SSD。

分析完了U盘的优劣之后,再来看看为什么会导致把游戏放到U盘上面能够流畅的多。

大家玩过Diablo3之后都会发现,游戏的载入速度非常的快,这是因为菠萝3的游戏并非在加载的时候就将当前场景中的模型,贴图,技能效果等信息全部载入内存中,而是在遇到怪物、释放技能等活动的同时不断的从硬盘中读取载入。因此,很少有持续性的大量数据读取。再因为菠萝3是一个网络化的“单机游戏”,几乎所有的数据都是保存在服务器端,因而在本地几乎没有大量的数据写入(会有一些cache)。再由于即使在玩游戏的时候,通常系统盘仍会在会在后台进行其他数据的读写,如果菠萝也安装在了系统盘,那么大量的并发读取会进一步增加硬盘的响应时间。

因此,可以不夸张的说,大菠萝3在U盘上面的表现完胜硬盘,甚至于让我不免怀疑blizzard的员工会不会也用U盘玩游戏呢 (当然我知道,其实人家都用SSD。。。)

结论:
如果你玩大菠萝经常会出现刚刚进入游戏的时候、切换到新的场景、遇到新的怪物、施放新的技能时候出现明显的卡顿(丢帧),那么可以尝试将游戏的MPQ文件复制到U盘上面,并通过mklink建立硬链接的方式来访问U盘;或者也可以将整个Diablo III文件夹复制到U盘上面,然后在U盘上面运行游戏。这样有可能能够大幅改善你的游戏体验。

后记&补充:
1. 造成卡顿的原因可能有多种,CPU,显卡不给力;网络延迟;硬盘等等。此方法仅仅能够改善由于HDD响应时间长导致的卡帧,并非万能良药。
2. 恢复的方法,直接删掉硬盘上面建立的链接后(就是删掉那个看起来像快捷方式的东西),将原文件夹更名回来就可以了。
3. 原帖说的是将MPQ文件复制到U盘上面,但是个人更建议将整个文件夹放上去,直接在U盘上面运行游戏。因为其实整个D3除去MPQ文件之外也就剩下100MB左右了,全都拷过去又省心又省事。
4. 此帖必然会引来大批SSD优越党进来炫耀,诚然SSD的确是最好的解决方式,但是至少在目前SSD还没有普及,很多人仍在在用机械硬盘。虽然我自己的系统盘的确是SSD,但是80G已经只剩下15左右,再考虑SSD需要保留10%左右的空间为佳,因此并没有把菠萝放在SSD上面。
5. 如何诊断判定是否是硬盘造成的卡顿?在win7系统中,可以在窗口模式下运行游戏,然后点击开始按钮,输入resmon,调用系统自带的资源监视器,在磁盘选项卡中勾选上diablo3.exe的进程,然后观察下方的磁盘访问情况中的响应时间一项,如果经常大大超出20ms甚至于达到100以上,那么很有可能是硬盘造成的掉帧
6. 移动硬盘是否可以?移动硬盘也可能能够改善,因为除了U盘的响应时间短之外,造成卡帧的另一个原因是本机的硬盘通常后台还有其他的程序在进行读写,导致响应时间变长,放到移动硬盘上面可能会好一些
7. USB2.0的U盘可以不?完全可以,因为主要的瓶颈是响应时间(寻道时间)而不是持续读取速度,因此USB3.0>USB2.0>>HDD。我自己测试用的就是Sandisk Cruzer Edge 16GB的U盘。


评分

参与人数 1积分 +4 收起 理由
wangsam + 4 昨晚想试试,无奈电脑死B了,该换了!.

查看全部评分

美服全职业DS dragonben#6868
Advertisement
Advertisement

发表于 2013-5-2 16:23 |显示全部楼层
此文章由 zq132 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zq132 所有!转贴必须注明作者、出处和本声明,并保持内容完整
太深了 不会弄

发表于 2013-5-2 16:43 |显示全部楼层
此文章由 kentwang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kentwang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
基本上只用SSD了,HDD只是用来保存一下以前的资料和绝密资料。

发表于 2013-5-2 16:47 |显示全部楼层
此文章由 dragonben 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dragonben 所有!转贴必须注明作者、出处和本声明,并保持内容完整
kentwang 发表于 2013-5-2 15:43
基本上只用SSD了,HDD只是用来保存一下以前的资料和绝密资料。

例如9e哥硬盘里那些需要隐藏目录的?!!!
美服全职业DS dragonben#6868

发表于 2013-5-2 17:22 |显示全部楼层
此文章由 simonlee 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 simonlee 所有!转贴必须注明作者、出处和本声明,并保持内容完整
马瑞卡

发表于 2013-5-2 18:44 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这样搞是不是就可以出海景了?
Advertisement
Advertisement

发表于 2013-5-2 20:12 |显示全部楼层
此文章由 Vacual-污医 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Vacual-污医 所有!转贴必须注明作者、出处和本声明,并保持内容完整
MAC 可以嘛?

发表于 2013-5-2 20:31 |显示全部楼层
此文章由 Murphy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Murphy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看过的.最简单来个SSD的硬盘!

发表于 2013-5-3 14:44 |显示全部楼层
此文章由 wkp 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 wkp 所有!转贴必须注明作者、出处和本声明,并保持内容完整
楼主用的是486吧? 请直接换台电脑!!!

发表于 2013-5-3 21:11 |显示全部楼层
此文章由 dragonben 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dragonben 所有!转贴必须注明作者、出处和本声明,并保持内容完整
wkp 发表于 2013-5-3 13:44
楼主用的是486吧? 请直接换台电脑!!!

486~!!!!!现在值老钱了````不巧我这台就是!
美服全职业DS dragonben#6868

发表于 2013-5-7 00:06 |显示全部楼层
此文章由 kone_zhang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kone_zhang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
啊 这不是我的帖子么 被转回来了
Advertisement
Advertisement

发表于 2013-5-7 11:25 |显示全部楼层
此文章由 dragonben 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dragonben 所有!转贴必须注明作者、出处和本声明,并保持内容完整
就是eason哥的帖子!!!很有用!!!!

发表于 2013-5-7 17:55 |显示全部楼层
此文章由 kone_zhang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kone_zhang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
dragonben 发表于 2013-5-7 10:25
就是eason哥的帖子!!!很有用!!!!

我这样的都成大腿了啊
等108打算回归组队刷刷
Eason#1967
D3足迹基友群:153273414

发表于 2013-5-7 17:57 |显示全部楼层
此文章由 dragonben 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dragonben 所有!转贴必须注明作者、出处和本声明,并保持内容完整
kone_zhang 发表于 2013-5-7 16:55
我这样的都成大腿了啊
等108打算回归组队刷刷

大腿必须的 当年我还收过大腿送的装备
美服全职业DS dragonben#6868

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部