POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 2739|回复: 32
打印 上一主题 下一主题

换个思路论证:硬件落后软件5年

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-27 13:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
之前我发贴http://we.pcinlife.com/thread-867816-1-1.html说:硬件落后软件5年,放出了一个replay。但是没怎么论证,现在补一下,大家看看。

观点的提出:2002年的魔兽3是世界上最好的游戏公司之一暴雪开发的,如果你说他的寻路算法差,那世界上没几个人能做的更好了。

论证要点1:星际很多人都打过,请进入一个最大尺寸256×256的地图(其中1代表32个屏幕象素)也就是6万个单元格,找到一条最短路线,哪怕是最差的情况,从左上点击到右下,当中有无数障碍物,需要绕无数弯路,算法的完成时间依然是千分之一秒级别。

论证要点2:这个结果算出来是实时的,不是让单位边走,然后再边算(如果你不同意我说不是边走边算这个观点,我稍后会展开)。

论证要点3:当你选择12个单位,12个单位一起寻路,结果依然是千分之秒级别。

论证要点4:为什么我说都是千分之一秒级别,因为你的鼠标点下目的地的一瞬间,不会感觉到一丝一毫的卡住。也可以理解为百分一秒级别,不过据我了解,人类可以感觉到百分之一秒级别的卡。

论证要点5:以上是我在1700+或者赛样4级别的机器上测试的结果,根本还没谈到双核2140超到3.5g的级别.我想说的是,这个算法要求不高。

论证要点6:我测试的rpg地图,就是左边的单位A到右边去,没有任何额外判断阿,算法阿,特殊处理一类的,不信可以打开rpg地图看看。并且路径也相当简单,基本上障碍物没几个,就2条大直道,对寻路很有利。不太存在所谓地图导致问题的可能性。

论证要点7:什么叫硬件落后软件,也就是说,普通用户在用5年后的硬件,打一个5年前的rpg的时候,觉得卡的没法打,这个就是落后的定义。

观点的总结:魔兽3的寻路算法是暴雪继推出魔兽1,2,星际之后,经过无数次改进的算法,基本可以认为没有什么严重效率问题。

由此观点(软件设计无严重缺陷)+显卡非瓶颈+内存非瓶颈 推出 => CPU是瓶颈

先说这些,如果有谁认为有不同看法,我的每个观点都标了号码,可以随便反驳。

[ 本帖最后由 hunguqi 于 2007-12-27 13:33 编辑 ]
33#
发表于 2007-12-27 20:42 | 只看该作者
能让现在的硬件玩不动的老游戏多了去了,CM3(冠军足球经理3)全开所有的联赛,连Q系所有四核都要完蛋,现在我用3G的2140开8个联赛,都觉得慢得要死了,这游戏是1999年出的。
回复 支持 反对

使用道具 举报

32#
发表于 2007-12-27 16:59 | 只看该作者
原帖由 hunguqi 于 2007-12-27 16:46 发表
回答30楼,的确很冤,但是用户的需求摆在这里,暴雪出1。20以后补丁却视而不见,不做改进。

是否可以理解为暴雪觉得改动引擎是不可能的,绝对不能为了某一小群配置变态的客户而改。

整体的架构定下来,就不可能再做什么大的变化了,Win98也不可能靠着修修补补来支持新的应用,比如大内存支持一类。很多程序如果要支持新技术而大修,那最明智的就是重新写过,别说当时的设计人员可能已经走的七七八八了,就算他们全都在,建个新房也总比靠着老房的框架把它重新装扮成另一个形状的新房要省事的多。
回复 支持 反对

使用道具 举报

31#
 楼主| 发表于 2007-12-27 16:46 | 只看该作者
回答30楼,的确很冤,但是用户的需求摆在这里,暴雪出1。20以后补丁却视而不见,不做改进。

是否可以理解为暴雪觉得改动引擎是不可能的,绝对不能为了某一小群配置变态的客户而改。
回复 支持 反对

使用道具 举报

30#
发表于 2007-12-27 16:37 | 只看该作者
这类现象多的是。很多多年以前就玩的很流畅的游戏,现在的配置也一样流畅,但无论如何都会有小卡的现象出现,仔细观察一下,就可以发现这时候都在读硬盘。

游戏设计出来,设计者都希望它的受众足够广,所以配置要求很多时候不能变态,要主流以下,可又要兼顾好的效果,往往只能取折中的办法。比如内存的用量要控制(以后有多大我不管,至少我得要现在的人能玩吧),一个看起来好像整体的场景,内部其实给分割了多个部分,需要的时候就读硬盘,这时候内存的用量得到了很大控制,但带给用户的体验却只是个别地方小卡一下,算是很成功的设计了。你要拿多年以后的眼光看,个SB怎么不把场景全装入啊,我内存大的很,读硬盘再快的配置都没用了。。。。这个设计者也未免太冤了。
回复 支持 反对

使用道具 举报

29#
 楼主| 发表于 2007-12-27 16:30 | 只看该作者
bill_max说的有道理。
可能暴雪是精简了算法,他当初就是不为大面积对战的rpg考虑而设计的。
也有可能但是他就是不为2g以上的内存设计的,他认为没人会在2002年有2g内存,就像当年比尔盖茨犯的错误一样。
也可能是cpu的2缓问题,不过请有6mb缓的cpu的朋友帮忙载入录像看一下效果,如果的确是1mb的2缓关系,那我承认我发贴发的很失败。
回复 支持 反对

使用道具 举报

28#
发表于 2007-12-27 16:18 | 只看该作者
原帖由 hunguqi 于 2007-12-27 15:59 发表


如果是这样的话,恰恰说明了,硬件容量达标了。
我的标题可以改为《硬件容量达标,但硬件的速度落后用户对软件的需求5年》,不知道对不对。


1、受当时硬件水平的限制,软件设计有时候也只能应用到当时硬件的资源,对于几年后多出来的资源,由于设计初的算法考虑的因素,不一定就能用到。所以从某些角度可以说,多出来的部分硬件能力,并未发挥出人们认为应该发挥出的水平。例如你现在玩一些DOS游戏还是有640K内存的限制,不管你有多少G内存,你都得配置那640K才能运行。又例如现在的4G内存不认的情况,都是当初的软件未必能用好现在的硬件的例子。这不能说是哪个落后哪个的问题,当初星际(魔兽)由于考虑到了当时的硬件水平,在算法设计上可能就有所精简。
2、LZ建立的军队数目也太多了。 我假设一下,这会不会是由于CPU 缓存的问题。大家都知道寄存器和缓存都只有这么一点,数量多运算肯定多,缓存的速度和内存不是一样的和硬盘也不是一样多,存在缓存多越多,要交换到内存到硬盘的也会变多。这么多要保存的数据把缓存占完了,那怎么还能快呢?
回复 支持 反对

使用道具 举报

头像被屏蔽
27#
发表于 2007-12-27 16:17 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

26#
发表于 2007-12-27 16:03 | 只看该作者
原帖由 还是zlps566a 于 2007-12-27 14:41 发表
不能这么单纯的考虑,如果只着眼于自己的所见,我也可以说软件落后硬件几年呢,p4 HT 就是最好的例子,当初没有对ht优化的软件,大家甚至都认为ht是垃圾,1年后才出现大量软件对ht技术的支持,p4硬件设计上的ht才得到 ...


1、一般来说,都是在当时的条件下先设计好硬件(所以硬件受当时的各种因素限制,只能设置成当时的可以接受的情况),然后再由软件去充分发挥这个被限定了条条框框约束的硬件,意思就是“由软件来发挥当时某个硬件的性能”,所以一般情况下都是先有硬件才有软件,我觉得从这个角度上说软件设计是一定在硬件后的。
2、但有一些情况下,比如MS的DX,先提供了函数再由硬件厂商专门针对这些个函数集成专门的加速硬件,从这里看来似乎一些说硬件滞后于软件的说法在一定范围内也正确。
3、在某个阶段,软件在充分发挥了硬件性能之后又并不满足,开始设计更为复杂的应用,这样原来的硬件处理起来就吃力了,所以硬件又增加了更多的运算去满足软件的运算需求,从原来的3D游戏需求更好的处理器就可以看出这点。但是硬件的增加运算后的能力,又比上面说的软件需求超出了一大截,形成了闲置的状态,于是软件商门又开始打那些部分的主义,继续开发出运算能力需求更高的软件。由此重重复复、重重复复。。。。
4、所以我觉得硬件和软件,不能单说哪个比哪个落后多少年,而要在特定时刻才能比较一下。
回复 支持 反对

使用道具 举报

25#
发表于 2007-12-27 16:03 | 只看该作者
楼主试试看用2007年的机器,打1996年的游戏《血狮》,会得出硬件落后软件11年的结论。
回复 支持 反对

使用道具 举报

hh 该用户已被删除
24#
发表于 2007-12-27 15:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

23#
 楼主| 发表于 2007-12-27 15:59 | 只看该作者
原帖由 fifalan 于 2007-12-27 15:52 发表


相反地是反对你的标题,一个2002年的软件肯定无法预测2007年硬件发展的具体水平。
所以当时程序现在看相对节约内存……

如果现在内存1G的价钱还高高在上,请问你是不是只能配到1G?是不是会出现内存不够用, ...


如果是这样的话,恰恰说明了,硬件容量达标了。
我的标题可以改为《硬件容量达标,但硬件的速度落后用户对软件的需求5年》,不知道对不对。
回复 支持 反对

使用道具 举报

fifalan 该用户已被删除
22#
发表于 2007-12-27 15:52 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

fifalan 该用户已被删除
21#
发表于 2007-12-27 15:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

20#
 楼主| 发表于 2007-12-27 15:46 | 只看该作者
原帖由 potomac 于 2007-12-27 15:37 发表

还好是打击了一片,否则还浪费弹药哦。:loveliness:

让游戏跑顺,不是件容易的事,就如同提升一个人的智商。
相反,把游戏搞得很白~痴~,则简单的多得多。

你换个标题,叫《怎么把系统弄宕机》


请看我6楼的回答!不是我把系统弄当机,是我要打rpg而已,很普通的一个需求。

在2007年一个普通的人,打一个2002年的游戏,打一个普通的rpg,卡住。
推出=>硬件发展落后了。

请问一个人打一个5年前的游戏,是否属于一件很普通而且应该无论如何都被满足的事情?
反之的意思就是:如果满足不了,我理解为落后了。
回复 支持 反对

使用道具 举报

19#
发表于 2007-12-27 15:44 | 只看该作者
War Craft 3的AI算法是Influence Mapping。
回复 支持 反对

使用道具 举报

18#
 楼主| 发表于 2007-12-27 15:43 | 只看该作者
原帖由 fifalan 于 2007-12-27 15:40 发表


这相反的证实了软件设计上很难领先硬件这点。

当时内存多金贵啊~

:shifty: :shifty: :shifty: :shifty: :shifty: :shifty:

而且,你认为,资源只是内存?CPU不算?每个单位都要活动,都要有一定的AI… ...


那你同意了我的标题吧:硬件落后软件5年。
你到底是反对我还是赞同我,不知道你观点是什么。
回复 支持 反对

使用道具 举报

fifalan 该用户已被删除
17#
发表于 2007-12-27 15:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

fifalan 该用户已被删除
16#
发表于 2007-12-27 15:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

potomac 该用户已被删除
15#
发表于 2007-12-27 15:37 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-12-30 19:06

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表