Board logo

标题: [其他] 谈谈“虚拟内存”对游戏运行的作用 [打印本页]

作者: 喋血战狼    时间: 2009-6-25 23:41     标题: 谈谈“虚拟内存”对游戏运行的作用

    联动贴:http://club.tgfc.com/thread-6090821-1-1.html
    还有,帖子太长没看完,不清楚论战结果
     一家之言,欢迎指正,人参自重

  扯淡之前,先讲一个实例。假如一个游戏需要512MB的内存,我现在只有256MB的空余内存,能不能跑动这个游戏?
    答案是:能运行,但是会
优化的水平的高低,只能减少卡的时间和次数,但是一定会卡。
     估计很多人不会看完,先把我的结论说下
     与其让所需内存超过256MB面临未可知的麻烦,不如把所需内存限制在256MB内优化



一、虚拟内存在使用上等同内存,但性能上实际上是硬盘水平
    当初设计出内存的原因(回头想想这句是表达不当,该说成在PC中添加内存这一结构),就是硬盘的性能和高速缓存的性能(cache)相差实在太大而高速缓存的造价太高,所以才让内存作为硬盘和高速缓存的一个桥梁。(此段大误,我重新查了资料,是为了解决内存造价过高,牺牲了性能发展了辅存外存(磁盘,硬盘,光盘)。是为了解决内存和CPU之间N个数量级的速度差,才引进了高速缓存,但是价格更要命)

      虚拟内存虽然带有“内存”这2个字,但是实际上是利用了硬盘空间。所以写在虚拟内存这部分数据,会造成整个数据传输的瓶颈部分。
     “  PS3的内存是先进的XDR,速度很快,并且PS3标配硬盘,可以运用虚拟内存技术或类似的机理解决内存不足的问题。”(那一贴的原文)
     
      假如PS3使用了虚拟内存技术,确实能解决内存不足的问题。也就是,让原本跑不动的程序变得可能跑动(不是一定,后面解释)。但是,无论内存再怎么先进,也改善不了硬盘传输速度的瓶颈。就比如说,前面的管子开的再大,和后面小水管供水的速度没有关系





二、虚拟内存对多任务并发操作有显著性能提升,对单任务而言意义不大
     
       人们使用计算机的时候,不可能只干一件事情。也就是说,不可能让一个程序使用完整个内存。

      计算机解决方法就是:如果内存不够,又有新程序申请分配内存,就让部分暂时用不上的数据写到虚拟内存。多余的空间装在新程序,如果不够,剩下的部分也入驻虚拟内存。

       如果CPU需要的部分不在内存里,CPU会让这个任务挂起,然后发出命令把需要的部分从虚拟内存读出来。在这个过程中,CPU会调用其它任务运行,直到需要的内容全部写在了内存里,再次通知CPU可以运行自己(具体更复杂,这里只是最简单的模型)。由于是有多个任务进行,一个任务的挂起不会影响其他任务的运行。所以提高了整个运行效率,但是对于挂起的任务,就在那等待。

        对于单任务而言,如果能全部装载进内存,则无问题;一旦所需的内存大于实际空闲内存,就必定有写进虚拟内存的部分。一旦需要虚拟内存的数据,整个程序会住等待硬盘数据的读取。前面说过,机械硬盘的读取速度是无法解决的的硬伤。不然也没必要分什么内存、虚拟内存、高速缓存了。

         很遗憾的是,就游戏机而言,运行的是属于单任务的范畴。



三、对单个任务而言,一旦使用虚拟内存,就必定造成运行效率降低

        一个工匠,做一件家具需要4件工具(需求512MB内存),现在有2个工匠,一个能同时拿4件工具(能提供512MB内存)。另个一个只同时能拿在手上的只有2件(只能提供256MB内存),但是可以用工具袋装下另外2件(256MB虚拟内存)。毫无疑问,2个工匠都能做完这件家具。但是过程很值得思量。

          第一个工匠没什么好说的,要的东西全在手上,直接干活就是了。

           第二个工匠么,一旦需要第三件工具会怎么做?

          第一步:停下工作,把手上不要用的工具放回工具袋已-------修改数据回写,如果数据没有被修改,可以直接丢弃。

          第二步:找到需要工具的位置,并拿出来------虚拟地址变换实际地址,磁头寻轨,数据读取。其中话的大量时间在磁头寻轨和数据读取上,而且花的时间不短,数据量大的情况下甚至能让人感觉到停顿

          第三步:继续做。

          以上是虚拟内存工作的简单模型。也就是说,就算是有虚拟内存,但是一旦需要虚拟内存的数据,还必须先读到内存里。 也就面临“抖动”风险。
  
         如,四件工具,1和2在手上,3和4 在包里。
  
         现在需要工具的顺序,1234121212.....
  
         解释比较枯燥,大概的意思就是,刚放进工具袋的工具(刚写入虚拟内存),就是下次要用的工具,又必须拿出来。造成了大量的读写I/O(硬盘)操作,巨废时间。
  
          所谓的虚拟内存优化,只是减少抖动的次数和程度。但是除了理想算法(必须知道需要资源的次序,这个不可能实现),现在没有任何一个算法不造成抖动,除非不使用虚拟内存。




四、虚拟内存不能完全解决内存不足的问题
       扯淡扯累了,简单的说下
  
        如果同时需要3件工具,第二个工匠得立刻回家。
  
        也就是说,需求的资源分布超过256MB,神机3就傻眼了。必要要做天文次数的读写操作。这个不是不可能,长时间运行后,数据在内存的分布有很大的未知性,如果用汇编语言严格控制内存,你一个游戏写一辈子吧。




五、结论
           与其让所需内存超过256MB面临未可知的麻烦,不如把所需内存限制在256MB内优化
      

[ 本帖最后由 喋血战狼 于 2009-6-26 13:53 编辑 ]
作者: ...    时间: 2009-6-25 23:51

结论,360的显卡有512MB,CPU是0MB,不用跟PS3比,连跑程序自己都完败了。。。。

不过早就说了,越多的资源,开发人员就会越吃不消,这是很容易了解的问题,为什么还有人不懂呢。参照以下比如吧:
用2个4核心CPU+50核心集合所有技术的GPU+1000GB内存的PC。你叫开发人员怎么开发呢,开发怎么样的游戏呢,以现在的技术,吃不消吧。

[ 本帖最后由 ... 于 2009-6-25 23:55 编辑 ]
作者: 喋血战狼    时间: 2009-6-25 23:54

引用:
原帖由 ... 于 2009-6-25 23:51 发表
结论,360的显卡有512MB,CPU是0MB,不用跟PS3比,连跑程序自己都完败了。。。。
扯淡总要讲点道理吧
   无论对还是不对,总要拿出依据来
     纯粹搞笑有意思?
作者: ...    时间: 2009-6-25 23:56

引用:
原帖由 喋血战狼 于 2009-6-25 23:54 发表

扯淡总要讲点道理吧
   无论对还是不对,总要拿出依据来
     纯粹搞笑有意思?
那句话是给某F看的,某F自己最清楚了。并非针对你的内容。
作者: ffcactus    时间: 2009-6-26 00:04

当初设计出内存的原因,就是硬盘的性能和高速缓存的性能(cache)相差实在太大,而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁。
这一段是扯谈。 内存估计是比CPU更早出现的东西。

另外一个观点,虚拟内存技术对单任务没什么含义。
你这里谈的任务实际上是想表达“软件”的意思。如果你电脑上什么软件都不运行, 就运行个大型的软件, 比如大型的CAD软件什么的, 虚拟内存技术也是非常有用。

另外一个观点,只要使用虚拟内存性能就必定下降。
这句话是没错的, 下降1%, 与下降90%都是下降。是不是所有情况都会下降非常明显呢?显然不是。
举几个例子,第一个例子。现在如果你PC开了休眠,那么你的C盘上应该有一个和你内存一样大小的文件,这个文件中保持的就是你内存里的实时内容。你电脑是不是性能下降了90%?
第二个例子。一个软件或游戏在256MB的内存上运行, 它需要300MB的内存才能维持运行, 但是我可能并不是每时每刻都要用这300MB的信息,大概每个时间段只需要30MB就可以了。
第三个例子,我这个游戏读光盘上200MB的程序, 运行后产生了10MB的信息保留在内存中,但是这个信息我并不需要时常用到,我到底是把这10MB的信息保留在内存中,还是丢弃,用的时候我再去加载200MB的光盘程序,再运算一遍呢?
作者: 恨水无痕    时间: 2009-6-26 00:08

楼主有心了,不过何必对X弹琴呢?让别人的神机梦继续做下去不好吗?
作者: 喋血战狼    时间: 2009-6-26 00:20

引用:
原帖由 ffcactus 于 2009-6-26 00:04 发表
当初设计出内存的原因,就是硬盘的性能和高速缓存的性能(cache)相差实在太大,而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁。
这一段是扯谈。 内存估计是比CPU更早出现的东西。

另外一个 ...
第一点,内存是解决硬盘和高速缓存的速度差。是书上原话,如果你认为你的话比大学教材还靠谱,你可以无视

第二点,CAD作图更依靠的是内存,如果内存不够就想用CAD作图。搞笑吧,看卡不死你。加内存对CAD运行速度影响很大,设计专业的都知道,而不是依靠什么可怜的虚拟缓存

第三点,对于一个软件,我能容许只有30MB,在内存里。其余的临时再读,应为停顿关系不是很大。但是对于游戏这个需要大量数据现炒现卖的东西,你认为有时间等你读硬盘???

第四点,我真不知道你是不是有机,有游戏机的都知道。光盘的传输速度甚至远远不及硬盘,所以只能一次读取足够的数据

第五点,你承认会性能降低,这个很好。但是具体降低百分之一还是百分之九十,这个就很不好说,看抖动程度了。但是256MB的内存运行需要512MB内存的游戏,抖动的程度不难想象。最 乐观估计多话30%时间。(提供一个最直观的测试方法,用1G的内存和1.5G的内存跑跑永恒之塔。你就知道用虚拟内存玩游戏多么可笑)

还有PC休眠那个例子,我都怀疑你是故意自抽的。
   PC从休眠状态唤醒需要多少秒???你可以自己去用秒表看看
   如果出一帧游戏也要几秒,原谅我,其实我在看幻灯片

[ 本帖最后由 喋血战狼 于 2009-6-26 00:40 编辑 ]
作者: 测试一下    时间: 2009-6-26 00:25

引用:
原帖由 ffcactus 于 2009-6-26 00:04 发表
当初设计出内存的原因,就是硬盘的性能和高速缓存的性能(cache)相差实在太大,而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁。
这一段是扯谈。 内存估计是比CPU更早出现的东西。

另外一个 ...
直接笑喷了...
作者: tntforbrain    时间: 2009-6-26 00:27

楼主,你蛋疼了,居然为了这么个人写了这么个科普帖...= =
作者: RestlessDream    时间: 2009-6-26 00:35

认真你就输了

我觉得,FF神,很成功
作者: ffcactus    时间: 2009-6-26 00:37

引用:
原帖由 喋血战狼 于 2009-6-26 00:20 发表

第一点,内存是解决硬盘和高速缓存的速度差。是书上原话,如果你认为你的话比大学教材还靠谱,你可以无视

第二点,CAD作图更依靠的是内存,如果内存不够就想用CAD作图。搞笑吧,看卡不死你。加内存对CAD运行速度影响很大,设计专业的都知道,而不是依靠什么可怜的虚拟缓存

第三点,对于一个软件,我能容许只有30MB,在内存里。其余的临时再读,应为停顿关系不是很大。但是对于游戏这个需要大量数据现炒现卖的东西,你认为有时间等你读硬盘???

第四点,我真不知道你是不是有机,有游戏机的都知道。光盘的传输速度甚至远远不及硬盘,所以只能一次读取足够的数据
我还真不知道你是阅读的什么高级计算机教材,好吧,姑且算你那句话没问题。但是你说而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁就扯谈了,微电子技术我就不想多扯谈了懂的人肯定不多。世界上第一台计算机大家都了解吧。有硬盘吗?有高速缓存吗?但是肯定有内存。

更大的内存是可以在运行大型CAD软件时效果更好,但是虚拟内存可以让你的电脑运行起来比“当前”内存的效果更好,你说有意义吗?哦, 你非要去买内存,好啊,你买了后,有虚拟内存只会更好,当然你又可以去买内存。。。

为什么你就那么肯定有戏中有那么多需要现炒现卖的东西,所有的游戏都如此吗,哪怕有10%的内容不是非要现炒现卖,那存在就有意义啊。

你把我原文中的“光盘”这个词换成“硬盘”, 你或许应该明白我表达什么意思了。
作者: xphi    时间: 2009-6-26 00:49

引用:
原帖由 测试一下 于 2009-6-26 00:25 发表


直接笑喷了...
实在是太好笑了,亏他敢说出来……
作者: 测试一下    时间: 2009-6-26 00:51

引用:
原帖由 ffcactus 于 2009-6-26 00:37 发表
我还真不知道你是阅读的什么高级计算机教材,好吧,姑且算你那句话没问题。但是你说而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁就扯谈了,微电子技术我就不想多扯谈了懂的人肯定不多。世界上第一台计算机大家都了解吧。有硬盘吗?有高速缓存吗?但是肯定有内存。
虽然不和CPU比年龄了...

但为什么我依然想笑...

居然刷不出敲地板的表情~

太郁闷了...

[ 本帖最后由 测试一下 于 2009-6-26 00:53 编辑 ]
作者: 喋血战狼    时间: 2009-6-26 00:52

引用:
原帖由 ffcactus 于 2009-6-26 00:37 发表


我还真不知道你是阅读的什么高级计算机教材,好吧,姑且算你那句话没问题。但是你说而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁就扯谈了,微电子技术我就不想多扯谈了懂的人肯定不多。 ...
第一:那句话是我表达有问题,但是“而高速缓存的造价太高,所以才让内存作为硬盘和高速缓存的一个桥梁”是很靠谱的。可以从20386这块芯片问世起,那句话就是成立的
  我承认你抓住了我表达的漏洞,那个表达也确实是错的。可以你的反驳照样没有力力度,没有内存,没有高速缓存,没有硬盘的构架,关我那句话什么事情??
我那句话的前提是高速缓存存在,硬盘也存在,之后才有了内存这个桥梁。
而20386可以说是现在CPU的代表构架了

第二:很好,你再次承认了更大的内存比小内存加虚拟内存要速度快,但是你为什么一直说高速缓存构架可以弥补内存小的缺陷么??
用PC的前提是,设计的人不知道用户有多少内存,而用户也不知道要多大内存才跑的舒坦。这个时候虚拟内存的作用很大
但是多游游戏机,所以东西一个萝卜一个坑。在范围内设计

第三:冒着性能下降1%-90%(你的数据)的危险,却为了10%的东西去使用虚拟缓存。未免太儿戏
   更何况,如果只多需求10%的内存,可以考虑压缩算法或者稍稍降低制材减少特效都可以,毕竟游戏是一流畅运行为最基本的要求。

[ 本帖最后由 喋血战狼 于 2009-6-26 01:08 编辑 ]
作者: ffcactus    时间: 2009-6-26 01:04

引用:
原帖由 喋血战狼 于 2009-6-26 00:52 发表

第一:那句话是我表达有问题,但是“而高速缓存的造价太高,所以才让内存作为硬盘和高速缓存的一个桥梁”是很靠谱的。可以从20386这块芯片问世起,那句话就是成立的
而20386可以说是现在CPU的代表构架了

第二 ...
第一:那句话是我表达有问题,但是“而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁”是很靠谱的。可以从20386这块芯片问世起,那句话就是成立的
而20386可以说是现在CPU的代表构架了
--- 那你就矛盾了, 未必内存时386时代出现的东西?

第二:很好,你再次承认了更大的内存比小内存加虚拟内存要速度快,但是你为什么一直说高速缓存构架可以弥补内存小的缺陷么??
--- 请你不要脑内补完(这可是软饭的纱帽表现之一哦), 弥补不等于消灭所有缺陷,不等于就完美无缺了。

第三:冒着性能下降1%-90%(你的数据)的危险,却为了10%的东西去使用虚拟缓存。未免太儿戏
   更何况,如果只多需求10%的内存,可以考虑压缩算法或者稍稍降低制材减少特效都可以,毕竟游戏是一流畅运行为最基本的要求。
--- 这就搞笑了,你以为是重了病毒啊,性能在1%-90%之间跳来跳去, 那还要交换算法干什么?又不是随机抽取内存数据,是根据陈旧度算来的。
作者: seek    时间: 2009-6-26 01:19

引用:
原帖由 ffcactus 于 2009-6-26 01:04 发表

第一:那句话是我表达有问题,但是“而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁”是很靠谱的。可以从20386这块芯片问世起,那句话就是成立的
而20386可以说是现在CPU的代表构架了
--- ...
我看不下去了...
如果你不是电脑盲的话,那就是个故意找茬咬文嚼字的
- -...

[ 本帖最后由 seek 于 2009-6-26 01:20 编辑 ]
作者: epicgame    时间: 2009-6-26 01:24

引用:
原帖由 ffcactus 于 2009-6-26 01:04 发表

--- 这就搞笑了,你以为是重了病毒啊,性能在1%-90%之间跳来跳去, 那还要交换算法干什么?又不是随机抽取内存数据,是根据陈旧度算来的。
能说出几个计算“陈旧度”的算法吗?
作者: 喋血战狼    时间: 2009-6-26 01:25

引用:
原帖由 ffcactus 于 2009-6-26 01:04 发表

第一:那句话是我表达有问题,但是“而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁”是很靠谱的。可以从20386这块芯片问世起,那句话就是成立的
而20386可以说是现在CPU的代表构架了
--- ...
第一:认为我那句话有矛盾的人才有矛盾,别估计来估计去的吧,这样扯淡很没意思。要别人拿出具体数据的同时,自己一个估计就算了。
内存确实未必是30386时代的东西,但是30386构架的PC却肯定有高速缓存和内存及存储设备(硬盘,软盘,光盘)

第二:我实在看不出脑内补完的样子,你表达的意思和我表达的意思完全一样,为什么说我脑内补完??

第三:无论哪种替换算法,都不可避免抖动。还有,那些替换算法是以命中率为坐标竖轴的,性能降低的地方就是不命中地方。有转到了原地
还是不能避免磁盘读写速度的瓶颈,不可避免的停顿等数据。你认为游戏中突然停一下掉几帧的高画质游戏很爽么?
PS:1-90%是你自己的数据,现在想用自己的数据咬我一口啊
当然,你自己认为你自己的数据很搞笑也很正常,毕竟都是估计的啊
说来说去 你还是没说什么

[ 本帖最后由 喋血战狼 于 2009-6-26 01:34 编辑 ]
作者: 村上春樹    时间: 2009-6-26 02:50

引用:
第一个例子。现在如果你PC开了休眠,那么你的C盘上应该有一个和你内存一样大小的文件,这个文件中保持的就是你内存里的实时内容
開啟休眠的視窗系統是隨時在硬盤上儲存內存資料,還是當使用者下休眠指令時才將內存資料轉存?

FF神會異想天開地拿休眠當作內存轉存硬盤,效能影響不大的證據,令人對其IT水平的理解層次感到畏懼

[ 本帖最后由 村上春樹 于 2009-6-26 02:53 编辑 ]
作者: 喋血战狼    时间: 2009-6-26 02:57

引用:
原帖由 村上春樹 于 2009-6-26 02:50 发表


開啟休眠的視窗系統是隨時在硬盤上儲存內存資料,還是當使用者下休眠指令時才將內存資料轉存?

FF神會異想天開地拿休眠當作內存轉存硬盤,效能影響不大的證據,令人對其IT水平的理解層次感到畏懼
我还没注意他这个说法
  他还真当开了睡眠,内存数据就和硬盘缓存文件数据随时同步??
   我靠,CPU光做数据交换工作别干其他事情了
作者: 战甲威龙    时间: 2009-6-26 03:12

LZ和这种死不认输的人认真没有任何意义……
作者: waner    时间: 2009-6-26 05:42

算啦LZ,虚拟内存是个很神奇的东西,让某人整个都虚拟了~~
作者: supervision    时间: 2009-6-26 07:16

引用:
原帖由 ffcactus 于 2009-6-26 00:04 发表
当初设计出内存的原因,就是硬盘的性能和高速缓存的性能(cache)相差实在太大,而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁。
这一段是扯谈。 内存估计是比CPU更早出现的东西。

另外一个 ...
你以为效率只会降低一点么?只要程序开始调用虚拟内存,速度就会直线下降(可以查一下硬盘和内存的读写速度差距)~~虚拟内存只是让原来因为内存小不能运行的程序变得可运行,但是就不要指望速度了~~~如果游戏使用虚拟内存,那就等着被卡死吧
作者: 多余的云    时间: 2009-6-26 08:08

看了FF的发言,我整个人都虚拟内存了~~~~
此外,不光是PS3会搞这个的,看看HALO3在有硬盘和无硬盘时的表现吧~~当然人家不叫“虚拟内存”,人家叫读取缓存,从光碟缓存到硬碟上,读取时速度快N倍~~
作者: lijgame    时间: 2009-6-26 08:20

引用:
原帖由 ffcactus 于 2009-6-26 00:04 发表
当初设计出内存的原因,就是硬盘的性能和高速缓存的性能(cache)相差实在太大,而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁。
这一段是扯谈。 内存估计是比CPU更早出现的东西。

另外一个 ...
233
“当初设计出内存的原因,就是硬盘的性能和高速缓存的性能(cache)相差实在太大,而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁。”
这个可是教科书上得标准内容,ff大神就这么轻易否定了?
所有计算机从业人员类目啊
作者: zhangjingy2008    时间: 2009-6-26 08:30

太逗了,XO是统一架构,用512和0来分配比较吗?哈哈哈。
作者: firesun    时间: 2009-6-26 08:38

我预料lz一定在FF大神的谆谆教诲下内存溢出
作者: ffcactus    时间: 2009-6-26 08:57

引用:
原帖由 lijgame 于 2009-6-26 08:20 发表

233
“当初设计出内存的原因,就是硬盘的性能和高速缓存的性能(cache)相差实在太大,而高速缓存的造价太高,所以才设计出内存作为硬盘和高速缓存的一个桥梁。”
这个可是教科书上得标准内容,ff大神就这么轻易否 ...
你那教科书还真不是一般的搞笑,你是否认为教科书上的内容100%都是真理?
当初设计出内存的原因, 我是不是可以这么认为,在当初以前,就还没设计出内存,就还没有内存这个东西,对吧,你不觉得可笑吗? 世界第一台计算机有内存,电子手表有内存,小霸王游戏机有内存,算账的计算器有内存,单片机有内存,这些是不是都有硬盘,是不是都有高速缓存? LZ觉得认识到错了以后, 就说什么这个概念从80386开始,那还是搞笑,80286难道没有内存吗?
作者: 喋血战狼    时间: 2009-6-26 09:52

引用:
原帖由 ffcactus 于 2009-6-26 08:57 发表


你那教科书还真不是一般的搞笑,你是否认为教科书上的内容100%都是真理?
当初设计出内存的原因, 我是不是可以这么认为,在当初以前,就还没设计出内存,就还没有内存这个东西,对吧,你不觉得可笑吗? 世界第 ...
你已经技穷了么???
       你请看我的帖子,感谢指正我的饿错误,这点我表述不清楚,我已经承认了
         我已经改成了 (PC中添加内存这一结构
引用:
原帖由 zhangjingy2008 于 2009-6-26 08:30 发表
太逗了,XO是统一架构,用512和0来分配比较吗?哈哈哈。
天姐老因为自己的无知而发笑,情何以堪
   我不知道XO是怎么样的统一构架的,但是统一个构架不是新技术
     相反是个老的不能再老的老构架
       C51单片机可以说是代表吧
     用个很简单的机制就可以解决问题
代码段在内存由下向上   数据段从上往下分配
还有,这已经是个成熟构架,也用了几十年,别担心2个段不会不相遇的问题(课没继续开,只知道原理不知道具体实现。不过话说回来,如果我要是也知道具体怎么实现了,也不会闲的来灌水)


就一般情况而言一个程序的代码段是用不了多少内存的,而且大小是可以预知的。可以空出的多少内存做其他用途(这句话是出自接口技术,别一个估计又秒杀了)

[ 本帖最后由 喋血战狼 于 2009-6-26 10:02 编辑 ]
作者: zhangjingy2008    时间: 2009-6-26 09:56

说XO的统一架构是老的不能再老,小心软狗出来咬LZ,哈哈哈。
作者: boostloki    时间: 2009-6-26 10:09

我可以很负责任的告诉大家

X360的统一架构 是在Direct3D9.0c的末期才有的,说这个技术是老的不能再老的人,不知道您真的了解GPU吗?
作者: 喋血战狼    时间: 2009-6-26 10:11

引用:
原帖由 zhangjingy2008 于 2009-6-26 09:56 发表
说XO的统一架构是老的不能再老,小心软狗出来咬LZ,哈哈哈。
老构架=技术落后??
       天姐我再次情何以堪
         还有,我前文已近说了,我不清楚XO的构架怎么实现
           但是使用统一构架不会造成 512+0的结局
              天姐转移话题的功夫再次见识了
                用错误的观点嘲笑别人被拆穿,还能继续换话题嘲笑
                    C51构架可以说是目前世界上效率最高的构建之一了
                      而使用范围,是你想想不到的广
作者: csitd    时间: 2009-6-26 10:12

[posted by wap]

统一架构是指psvs统一,内存统一xbox就是这样了
作者: 喋血战狼    时间: 2009-6-26 10:13

引用:
原帖由 boostloki 于 2009-6-26 10:09 发表
我可以很负责任的告诉大家

X360的统一架构 是在Direct3D9.0c的末期才有的,说这个技术是老的不能再老的人,不知道您真的了解GPU吗?
先搞清楚内存统一构建和GPU的渲染统一构架再来发言
谢谢
这一天姐是指内存的统一构架
  你是很负责,话也没错,但是不对题
   真是莫名其妙,看帖不认真还把人往死抽

[ 本帖最后由 喋血战狼 于 2009-6-26 10:14 编辑 ]
作者: zhangjingy2008    时间: 2009-6-26 10:14

引用:
原帖由 喋血战狼 于 2009-6-26 10:11 发表

     老构架=技术落后??
       天姐我再次情何以堪
         还有,我前文已近说了,我不清楚XO的构架怎么实现
           但是使用统一构架不会造成 512+0的结局
              天姐转移话题的功夫再次见识 ...
我说到技术落后了吗?看清楚再说吧
512比256,软狗这么比的多了去了,你应该给他们上上课。
我的观点错误啊,那你说说正确的吧,哈哈哈。
作者: boostloki    时间: 2009-6-26 10:15

另外,看样子大家都是搞技术的,或者对技术十分感兴趣的,有必要争得你死我活吗?
研讨技术就要有点研讨技术的态度。
作者: 喋血战狼    时间: 2009-6-26 10:16

引用:
原帖由 zhangjingy2008 于 2009-6-26 10:14 发表


我说到技术落后了吗?看清楚再说吧
512比256,软狗这么比的多了去了,你应该给他们上上课。
我的观点错误啊,那你说说正确的吧,哈哈哈。
天姐  别继续转移话题啊
   你为什么“觉得”统一构架会造成512+0的结局
    还用这个观点战了2天嘲弄无数人啊
当然也不会是512:256
但是  至少是比256高的内存供给GPU
256+X  X等于多少看优化本本事
个人推测在100MB左右浮动(此条没任何依据,无须战)
还是那句话,代码段要求的内存不会很高

[ 本帖最后由 喋血战狼 于 2009-6-26 10:20 编辑 ]
作者: zhangjingy2008    时间: 2009-6-26 10:17

引用:
原帖由 喋血战狼 于 2009-6-26 10:16 发表

天姐  别继续转移话题啊
   你为什么“觉得”统一构架会造成512+0的结局
    还用这个观点战了2天嘲弄无数人啊
你小学语文没学好吗?我如何觉得会有512+0呢?我那是反讽某些软狗啊,我看你别讨论技术了,回去先学语文吧,哈哈哈。

友情放上原话
引用:
原帖由 zhangjingy2008 于 2009-6-26 08:30 发表
太逗了,XO是统一架构,用512和0来分配比较吗?哈哈哈。
[ 本帖最后由 zhangjingy2008 于 2009-6-26 10:23 编辑 ]
作者: ffcactus    时间: 2009-6-26 10:19

引用:
原帖由 喋血战狼 于 2009-6-26 09:52 发表

   你已经技穷了么???
       你请看我的帖子,感谢指正我的饿错误,这点我表述不清楚,我已经承认了
         我已经改成了 (PC中添加内存这一结构)
            


   天姐老因为自己的无知而发笑, ...
你已经技穷了么???
       你请看我的帖子,感谢指正我的饿错误,这点我表述不清楚,我已经承认了
         我已经改成了 (PC中添加内存这一结构)
到底是技穷还是你本来就说错了?我指出你说错了就是技穷?
8086,80286是PC吗(请先允许我模糊下概念)? , 有高速缓存吗(没有)?  有内存吗(有)? 有硬盘吗(有)?
既然如此,哪你的逻辑到底是怎么建立起来的呢?

引用:
原帖由 zhangjingy2008 于 2009-6-26 08:30 发表
太逗了,XO是统一架构,用512和0来分配比较吗?哈哈哈。
天姐老因为自己的无知而发笑,情何以堪
   我不知道XO是怎么样的统一构架的,但是统一个构架不是新技术
     相反是个老的不能再老的老构架
       C51单片机可以说是代表吧
     用个很简单的机制就可以解决问题
代码段在内存由下向上   数据段从上往下分配
还有,这已经是个成熟构架,也用了几十年,别担心2个段不会不相遇的问题(课没继续开,只知道原理不知道具体实现。不过话说回来,如果我要是也知道具体怎么实现了,也不会闲的来灌水)
笑死了, C51单片机我是熟得不能再熟了。还统一架构,我看你还是先去预读下课本吧,C51用的是哈佛结构。也就是说内存寻址,和代码寻址是不同的总线。不仅总线不同,内存用的是RAM, 程序用的是ROM或FLASH。不像PC,全部都在RAM中(要执行的部分)。


就一般情况而言一个程序的代码段是用不了多少内存的,而且大小是可以预知的。可以空出的多少内存做其他用途(这句话是出自接口技术,别一个估计又秒杀了)

[ 本帖最后由 ffcactus 于 2009-6-26 10:22 编辑 ]
作者: ffcactus    时间: 2009-6-26 10:35

引用:
原帖由 喋血战狼 于 2009-6-26 10:11 发表

     老构架=技术落后??
       天姐我再次情何以堪
         还有,我前文已近说了,我不清楚XO的构架怎么实现
           但是使用统一构架不会造成 512+0的结局
              天姐转移话题的功夫再次见识 ...
你是没有明白统一架构是什么意思(GPU方面), 以前的显卡,有专门的单元来处理“渲染”和“着色”大概是如此吧, 也就是处理渲染的单元不能去处理着色。这样导致显卡设计时很难调配这些单元以适应不同的需求,只好把这两个单元都做得尽量的多。
而统一架构下,这些处理单元通过编程,是设成是处理渲染,还是着色, 那么前面的问题就很好的解决了。

当然不要以为XO那半吊子显卡能实现这个功能。
作者: 喋血战狼    时间: 2009-6-26 10:40

引用:
原帖由 ffcactus 于 2009-6-26 10:19 发表

你已经技穷了么???
       你请看我的帖子,感谢指正我的饿错误,这点我表述不清楚,我已经承认了
         我已经改成了 (PC中添加内存这一结构)
到底是技穷还是你本来就说错了?我指出你说错了就是技穷? ...
引用:
原帖由 ffcactus 于 2009-6-26 10:19 发表

你已经技穷了么???
       你请看我的帖子,感谢指正我的饿错误,这点我表述不清楚,我已经承认了
         我已经改成了 (PC中添加内存这一结构)
到底是技穷还是你本来就说错了?我指出你说错了就是技穷? ...
第一:我已经指明了芯片 80386  谢谢,不是8086  也不是80386
说80386没有高速缓存的泪牛满面啊 ,纠结我我的表述问题  256+虚拟内存构架就可以性能飙升了??

第二:暂时离开,稍候一下。个人感觉是装B再次遭雷P ,而且被P的很有可以是我,真的把C51的构建搞错了
对就是对,错就是错  大家看的明白

但是256MB+虚拟内存能不能弥补小内存的缺点???
   对于一个游戏,原本用2256跑不动的,现在用虚拟内存让它跑动了,但是会卡会掉桢
   对于游戏来说说利大于弊??

[ 本帖最后由 喋血战狼 于 2009-6-26 10:42 编辑 ]
作者: Vimrise    时间: 2009-6-26 10:43

引用:
原帖由 ffcactus 于 2009-6-26 10:35 发表

你是没有明白统一架构是什么意思(GPU方面), 以前的显卡,有专门的单元来处理“渲染”和“着色”大概是如此吧, 也就是处理渲染的单元不能去处理着色。这样导致显卡设计时很难调配这些单元以适应不同的需求,只好 ...
难道PS3的GPU是统一架构的?
作者: ffcactus    时间: 2009-6-26 10:52

引用:
原帖由 Vimrise 于 2009-6-26 10:43 发表

难道PS3的GPU是统一架构的?
不是, 我也没说是, 请不要脑内补完。
作者: ffcactus    时间: 2009-6-26 10:59

引用:
原帖由 喋血战狼 于 2009-6-26 10:40 发表


第一:我已经指明了芯片 80386  谢谢,不是8086  也不是80386
说80386没有高速缓存的泪牛满面啊 ,纠结我我的表述问题  256+虚拟内存构架就可以性能飙升了??

第二:暂时离开,稍候一下。个人感觉是装B再次 ...
你首先说“为了匹配高速缓存与硬盘之间的速率差才设计出内存的”
---我说,抛开电子技术发展不谈,难道第一台计算机有硬盘或高速缓存? 但是他有内存啊。
你又说“是针对80386来讲的”
---我说,难道386之前没有内存?
你又说是针对PC来讲的。
---我说,未必286不是PC,他没高速缓存啊。

你的逻辑再次混乱, 并没有人要逼迫你非用虚拟内存不可啊, 也没说非要设计一个大游戏去利用这一技术啊。如果设计的游戏因此变得令人不能接受,那你就要重新设计。如果你的游戏因此变得可以运行,并且感觉也没有问题,那就是意义啊。怎么成了毫无意义呢?
作者: Vimrise    时间: 2009-6-26 11:00

引用:
原帖由 ffcactus 于 2009-6-26 10:52 发表

不是, 我也没说是, 请不要脑内补完。
但360的GPU是统一着色架构的。
作者: 喋血战狼    时间: 2009-6-26 11:10

引用:
原帖由 ffcactus 于 2009-6-26 10:59 发表

你首先说“为了匹配高速缓存与硬盘之间的速率差才设计出内存的”
---我说,抛开电子技术发展不谈,难道第一台计算机有硬盘或高速缓存? 但是他有内存啊。
你又说“是针对80386来讲的”
---我说,难道386之前没有 ...
那句话我修改N久了
  最极端的说法,那句话说错的
     那就证明了 硬盘虚拟内存技术的速度能和内存一样??没有传输瓶颈??
作者: ffcactus    时间: 2009-6-26 11:17

引用:
原帖由 喋血战狼 于 2009-6-26 11:10 发表

那句话我修改N久了
  最极端的说法,那句话说错的
     那就证明了 硬盘虚拟内存技术的速度能和内存一样??没有传输瓶颈??
不一样, 有瓶颈, so what?
然后又要我重新讲一遍?
作者: ffcactus    时间: 2009-6-26 11:18

引用:
原帖由 Vimrise 于 2009-6-26 11:00 发表

但360的GPU是统一着色架构的。
so what?
作者: 喋血战狼    时间: 2009-6-26 11:21

引用:
原帖由 ffcactus 于 2009-6-26 11:17 发表

不一样, 有瓶颈, so what?
然后又要我重新讲一遍?
既然知道有瓶颈还理直气壮的来句 SO WHAT??
作者: 喋血战狼    时间: 2009-6-26 11:27

游戏程序和一般的程序不同,他必须把可能用到的东西全要抓在手上
    一个游戏最基本的要求 每秒30FPS
        如果用虚拟内存欺骗了CPU  告诉他所有的东西都持有
    而且高效算法命中率确实不错
    但是我前面强调N次,除了理想算法,没有任何算法能避免抖动
     任何算法也无法保证,我丢硬盘的东西,下一个刻肯定用不上
    这样才有不命中的情况
    一旦不命中,你认为有多少时间等硬盘吧东西传输过来??
     这样不是贴图错误就是掉桢,这样也算是成功解决了内存不够的问题??
----------------------------------------------------------
一个游戏以一般画质,以30FPS的速度运行  可以判定  这个游戏是流畅的
领一个游戏  以高画质  以30FPS的速度运行  但是偶尔出现 20FPS的情况??这个游戏是否是流畅的??
那中间的20FPS就是不命中而去读硬盘的情况
这样的游戏能容忍??

[ 本帖最后由 喋血战狼 于 2009-6-26 11:35 编辑 ]
作者: ffcactus    时间: 2009-6-26 11:28

引用:
原帖由 喋血战狼 于 2009-6-26 11:21 发表

   既然知道有瓶颈还理直气壮的来句 SO WHAT??
有瓶颈, so what?
下载速度有读碟速度快吗? 光盘速度有硬盘快吗? 硬盘速度有内存快吗? 内存速度有高速缓存快吗? 高速缓存有CPU快吗? CPU有晶振快吗?
好像都没有,哪干脆不做计算机得了。
作者: Vimrise    时间: 2009-6-26 11:29

引用:
原帖由 ffcactus 于 2009-6-26 11:28 发表

有瓶颈, so what?
下载速度有读碟速度快吗? 光盘速度有硬盘快吗? 硬盘速度有内存快吗? 内存速度有高速缓存快吗? 高速缓存有CPU快吗? CPU有晶振快吗?
好像都没有,哪干脆不做计算机得了。
光盘和硬盘速度差距是有限的,硬盘和内存速度是天壤之别。
PS3标配硬盘速度不见得比光盘快多少。

[ 本帖最后由 Vimrise 于 2009-6-26 11:31 编辑 ]
作者: ffcactus    时间: 2009-6-26 11:32

引用:
原帖由 喋血战狼 于 2009-6-26 11:27 发表
游戏程序和一般的程序不同,他必须把可能用到的东西全要抓在手上
    一个游戏最基本的要求 每秒30FPS
        如果用虚拟内存欺骗了CPU  告诉他所有的东西都持有
    而且高效算法命中率确实不错
    但是我前面 ...
30FPS与内存速度根本就没什么关系,你换了块显卡,到了120FPS, 未必你内存速度快了4倍?我也不知道你一直在YY什么。
我也讲过无数遍了, 游戏中不是所有的数据都与你那可笑的“30FPS”有关系,不同游戏区别甚至都很大。

[ 本帖最后由 ffcactus 于 2009-6-26 11:33 编辑 ]
作者: ffcactus    时间: 2009-6-26 11:32

引用:
原帖由 Vimrise 于 2009-6-26 11:29 发表

光盘和硬盘速度差距是有限的,硬盘和内存速度是天壤之别。
PS3标配硬盘速度不见得比光盘快多少。
so what?
作者: Vimrise    时间: 2009-6-26 11:34

引用:
原帖由 ffcactus 于 2009-6-26 11:32 发表

so what?
360可以直接从光盘获取数据,不见得比PS3效率低多少。
作者: 村上春樹    时间: 2009-6-26 11:34

引用:
原帖由 ffcactus 于 2009-6-26 11:32 发表

30FPS与内存速度根本就没什么关系,我也不知道你一直在YY什么。
我也讲过无数遍了, 游戏中不是所有的数据都与你那可笑的“30FPS”有关系,不同游戏区别甚至都很大。
令人哭笑不得的it資訊水平哪

我之前在別的帖子就問過你,你至今仍不敢回答

PS3遊戲中ANIMATION的資料是放在顯存還是內存?
作者: 喋血战狼    时间: 2009-6-26 11:40

引用:
原帖由 ffcactus 于 2009-6-26 11:32 发表

30FPS与内存速度根本就没什么关系,你换了块显卡,到了120FPS, 未必你内存速度快了4倍?我也不知道你一直在YY什么。
我也讲过无数遍了, 游戏中不是所有的数据都与你那可笑的“30FPS”有关系,不同游戏区别甚至都 ...
这样说来,我用顶级显卡+1G的内存  就可以跑永恒之塔了
   如果显卡升级,内存不变   那个游戏我跑的更快
     原来我错了 其实我只要64MB内存+顶级显卡就够了
-------------------------------------------------------------------------------
  原来当年升级巫妖王  广大WOW众只升级显卡 和内存没关系

既然没关系,你开贴说虚拟内存弥补小内存的缺陷死磕三红机干什么

原来有发挥作用的技术能给PS3的性能带来飞升

[ 本帖最后由 喋血战狼 于 2009-6-26 11:44 编辑 ]
作者: ffcactus    时间: 2009-6-26 11:41

引用:
原帖由 村上春樹 于 2009-6-26 11:34 发表


令人哭笑不得的it資訊水平哪

我之前在別的帖子就問過你,你至今仍不敢回答

PS3遊戲中ANIMATION的資料是放在顯存還是內存?
因为你的问法很愚蠢, 放在内存也好, 放在显存也好, so what?
作者: 村上春樹    时间: 2009-6-26 11:44

引用:
原帖由 ffcactus 于 2009-6-26 11:41 发表

因为你的问法很愚蠢, 放在内存也好, 放在显存也好, so what?
果然不敢回答了,以為選兩邊站就不會錯?嘿嘿

為什麼ANIMATION的資料要放在顯存中?顯存究竟是在放什麼的你懂不懂阿。
作者: ffcactus    时间: 2009-6-26 11:44

引用:
原帖由 喋血战狼 于 2009-6-26 11:40 发表

这样说来,我用顶级显卡+1G的内存  就可以跑永恒之塔了
   如果显卡升级,内存不变   那个游戏我跑的更快
     原来我错了 其实我只要64MB内存+顶级显卡就够了
你这可笑的逻辑是不是首先你就以为虚拟内存的效率和内存的效率是一样的?
这里有谁说过是一样的吗? 你怎么上的大学的,脑子这么不好使。
作者: 村上春樹    时间: 2009-6-26 11:45

引用:
原帖由 ffcactus 于 2009-6-26 11:44 发表

你这可笑的逻辑是不是首先你就以为虚拟内存的效率和内存的效率是一样的?
这里有谁说过是一样的吗? 你怎么上的大学的,脑子这么不好使。
這裡倒是有人的"常識"大腦認為虛擬內存用於遊戲領域的效率可以很不錯,至於為何很不錯.至今有沒有PS3遊戲表明應用,那是另一回事.
作者: 喋血战狼    时间: 2009-6-26 11:46

引用:
原帖由 ffcactus 于 2009-6-26 11:44 发表

你这可笑的逻辑是不是首先你就以为虚拟内存的效率和内存的效率是一样的?
这里有谁说过是一样的吗? 你怎么上的大学的,脑子这么不好使。
开始人参了
    我从头到尾都是在说,虚拟内存造成传输瓶颈  在游戏中不可取
       是你一直说对PS3性能有很大的提升啊
        现在又用你自己的观点来咬我一口
          更无奈的还指着自己的观点是错的
作者: ffcactus    时间: 2009-6-26 11:47

引用:
原帖由 Vimrise 于 2009-6-26 11:34 发表

360可以直接从光盘获取数据,不见得比PS3效率低多少。
从光盘读啥数据?读运算过程中的、或者运算结果的数据?
作者: 喋血战狼    时间: 2009-6-26 11:48

引用:
原帖由 ffcactus 于 2009-6-26 11:47 发表

从光盘读啥数据?读运算过程中的、或者运算结果的数据?
别转移话题啊
     你承认了 会照成传输瓶颈   还承认了 效率不一样
       那你还要问一句SO WHAT???
   我还真没见过把自己坚持了几天的观点突然强加给别人头上
  还理直气壮的指出那个观点是错的

[ 本帖最后由 喋血战狼 于 2009-6-26 11:50 编辑 ]
作者: 测试一下    时间: 2009-6-26 11:51

引用:
原帖由 ffcactus 于 2009-6-26 10:59 发表

你首先说“为了匹配高速缓存与硬盘之间的速率差才设计出内存的”
---我说,抛开电子技术发展不谈,难道第一台计算机有硬盘或高速缓存? 但是他有内存啊。
你又说“是针对80386来讲的”
---我说,难道386之前没有 ...
你有没有下限啊~

你找出第一台计算机有内存的证据出来...

难道你以为你从内存寿命可能大于CPU改为第一台计算机有内存就会正确了?~

你该不会查了下大学教材看到描述冯诺伊曼结构体系时有内部存储器和外部存储器之分就以为第一台计算机有内存吧~

电子表什么时候出的?~

小霸王又是什么时候出的?~

[ 本帖最后由 测试一下 于 2009-6-26 11:53 编辑 ]
作者: ffcactus    时间: 2009-6-26 11:51

引用:
原帖由 喋血战狼 于 2009-6-26 11:46 发表

  开始人参了
    我从头到尾都是在说,虚拟内存造成传输瓶颈  在游戏中不可取
       是你一直说对PS3性能有很大的提升啊
        现在又用你自己的观点来咬我一口
          更无奈的还指着自己的观点是错的
你说不可取,这就是一个没有余地的说法。当然你这个说法是建立在你对游戏运行到底需要些什么数据来维持并不了解的基础上造成的。你认为游戏中所需要的数据都是无时无刻的被需要,以为每秒要把内存中的所有数据过滤至少30遍?
本人从来没说有很大的提升,在适用范围内,可以让游戏得以运行实现, 这就是意义。
作者: epicgame    时间: 2009-6-26 11:53

引用:
原帖由 ffcactus 于 2009-6-26 11:44 发表

你这可笑的逻辑是不是首先你就以为虚拟内存的效率和内存的效率是一样的?
这里有谁说过是一样的吗? 你怎么上的大学的,脑子这么不好使。
引用:
原帖由 ffcactus 于 2009-6-24 09:51 发表
       PS3的内存是先进的XDR,速度很快,并且PS3标配硬盘,可以运用虚拟内存技术或类似的机理解决内存不足的问题。
可笑啊可笑,如果虚拟内存的效率不如内存,又如何解决内存不足的问题?
试问一个慢速的设备如何能替代一个高速设备~
作者: ffcactus    时间: 2009-6-26 11:53

引用:
原帖由 测试一下 于 2009-6-26 11:51 发表


你有没有下限啊~

你找出第一台计算机有内存的证据出来...

难道你以为你从内存寿命可能大于CPU改为第一台计算机有内存就会正确了?~

电子表什么时候出的?~

小霸王又是什么时候出的?~
你又来找骂了不是? 不管什么时候出的, 未必比硬盘的出现还晚?
作者: 测试一下    时间: 2009-6-26 11:55

引用:
原帖由 ffcactus 于 2009-6-26 11:53 发表

你又来找骂了不是? 不管什么时候出的, 未必比硬盘的出现还晚?
彻底败了...

果然人不要脸天下无敌...
作者: liuyicheng    时间: 2009-6-26 11:55

ff神你究竟买了ps3没有?
作者: ffcactus    时间: 2009-6-26 11:56

引用:
原帖由 epicgame 于 2009-6-26 11:53 发表


可笑啊可笑,如果虚拟内存的效率不如内存,又如何解决内存不足的问题?
试问一个慢速的设备如何能替代一个高速设备~
因为内存里面保存的数据并不是每时每刻都需要被调用。有的可能每秒上万次, 有的可能几小时一次。
作者: 村上春樹    时间: 2009-6-26 11:58

引用:
原帖由 ffcactus 于 2009-6-26 11:56 发表

因为内存里面保存的数据并不是每时每刻都需要被调用。有的可能每秒上万次, 有的可能几小时一次。
既然是幾小時一次,那為何還要放在硬盤裡當作虛擬內存

哈哈.
作者: ffcactus    时间: 2009-6-26 11:58

引用:
原帖由 测试一下 于 2009-6-26 11:55 发表


彻底败了...

果然人不要脸天下无敌...
还欠骂啊?
欠骂就回答下面的问题:
电子手表现问世还是硬盘现问世?
电子手表里面有内存吗?
那“为了解决硬盘与高速缓存之间速率的问题,才设计出内存。”这句话有没有问题?
作者: epicgame    时间: 2009-6-26 12:01

引用:
原帖由 ffcactus 于 2009-6-26 11:56 发表

因为内存里面保存的数据并不是每时每刻都需要被调用。有的可能每秒上万次, 有的可能几小时一次。
“几小时一次”的东西为什么要占据内存的宝贵空间?
512MB显然不是为了这些这些“几小时一次”的数据,512M的价值在于可以驻留更多常用数据,而256M只能保留其一半,这就限制了程序员的发挥空间~
在我看来,FF大神google了虚拟内存的知识,却忘了google内存的基础知识~
作者: 喋血战狼    时间: 2009-6-26 12:02

引用:
原帖由 ffcactus 于 2009-6-26 11:53 发表

你又来找骂了不是? 不管什么时候出的, 未必比硬盘的出现还晚?
为了解决硬盘与高速缓存之间速率的问题,才设计出内存
这句话我已经反复表述 我表达有误
SO WHAT??



这个别岔开话题了
   我前面已经解释了
     我那句话的前提是  有高速缓存  有内存 有硬盘 这三层结构
       连3层结构的没有的构架去指责我错了 我真无奈
       就比如,我说  猪的鼻子很短,有人跳出来扇我一耳光
       你这个猪头,很久前猪鼻子很长??
       我靠 ,很久前猪的鼻子长不长关现在猪鼻子短不短什么事情??  
    我后面又有说  就算退一万步  我那句话是错的  那虚拟内存的性能就可以替代内存了??
  后面你自己有承认了 有瓶颈  效率不一样   现在又回头纠结你认为我的语言漏洞  有意思么
还有,对就是对,比人指出我错误的地方  我也很干脆的认了
SO WHAT???
虚拟内存就赢了饿??

[ 本帖最后由 喋血战狼 于 2009-6-26 12:04 编辑 ]
作者: 村上春樹    时间: 2009-6-26 12:04

有這麼SB的程序開發員?

自己預測讀取到內存的資料中有些是會幾小時才用到一次的我就先讀進去然後放在虛擬內存裡面

現在玩家還在打第一關,就先把最後一關的音樂先丟到內存了
.
.
.現在玩家還在城鎮里,就先把洞穴的資料全部丟到內存了
.
.
..
然後這些曾經丟到內存的東西,因為暫時用不到而轉存至硬盤上

..
作者: 测试一下    时间: 2009-6-26 12:05

引用:
原帖由 ffcactus 于 2009-6-26 11:58 发表

还欠骂啊?
欠骂就回答下面的问题
电子手表现问世还是硬盘现问世?
电子手表里面有内存吗?
那“为了解决硬盘与高速缓存之间速率的问题,才设计出内存。”这句话有没有问题?
这是何等的下限啊...

继续看你炫耀智商...
作者: ffcactus    时间: 2009-6-26 12:06

引用:
原帖由 村上春樹 于 2009-6-26 11:58 发表


既然是幾小時一次,那為何還要放在硬盤裡當作虛擬內存
哈哈.
读取硬盘上100MB的程序,可能运算出一个1MB的结果, 这个结果可能十几分钟才要被调用一次。
假如内存中有100个这样的1MB的结果,是保持这100个1MB在内存? 浪费100MB的空间。 丢掉再次参上就要读取硬盘上100*100MB的数据再计算产生。程序员可以以为这100个1MB的数据都在内存中。然而,如果有虚拟内存,那么这些数据将会被系统临时存放在硬盘。需要的时候系统会调用, 这样,既不浪费内存空间, 也不浪费重新读取程序并重新计算的时间。
作者: YOUYUCAO    时间: 2009-6-26 12:12

我X~~~~~~~~我X~~~~~~~~每次来TG学习都在课堂遇到神仙,心潮久久不能澎湃~~~~
作者: 村上春樹    时间: 2009-6-26 12:13

引用:
原帖由 ffcactus 于 2009-6-26 12:06 发表


读取硬盘上100MB的程序,可能运算出一个1MB的结果, 这个结果可能十几分钟才要被调用一次。
假如内存中有100个这样的1MB的结果,是保持这100个1MB在内存? 浪费100MB的空间。 丢掉再次参上就要读取硬盘上100*10 ...
什麼東西叫作「100個1MB」的結果?這個1MB結果究竟是什麼東西

技術盲自創的想像,還真不是正常人士可以參悟的.
作者: 小色    时间: 2009-6-26 12:13

我觉得ff神的工作做得很足很到位,底气十足,语量丰富,无论任何人的疑问都能一一驳回,而且胸有成竹,振振有词,其势可见一斑,估计只有真正游戏程序开发或者设计专才才能满足ff神,tg里面何人能出?
作者: 喋血战狼    时间: 2009-6-26 12:13

当初设计出内存的原因(回头想想这句是表达不当,该说成在PC中添加内存这一结构),就是硬盘的性能和高速缓存的性能(cache)相差实在太大,而高速缓存的造价太高,所以才让内存作为硬盘和高速缓存的一个桥梁。
   此段大误,我重新查了资料,是为了解决内存造价过高,牺牲了性能发展了外存(磁盘,硬盘,光盘)。是为了解决内存和CPU之间N个数量级的速度差,才引进了高速缓存,但是价格更要命
    好了  我再次强调 OK??凡是指出我错误的地方  我不会死撑


[ 本帖最后由 喋血战狼 于 2009-6-26 12:19 编辑 ]
作者: 喋血战狼    时间: 2009-6-26 12:14

引用:
原帖由 ffcactus 于 2009-6-26 12:06 发表


读取硬盘上100MB的程序,可能运算出一个1MB的结果, 这个结果可能十几分钟才要被调用一次。
假如内存中有100个这样的1MB的结果,是保持这100个1MB在内存? 浪费100MB的空间。 丢掉再次参上就要读取硬盘上100*10 ...
可能万岁
    估计无敌
      推测秒杀
        大概血洗
这个  你 可能 估计 大概 就把大家的数据和论点全秒了啊

  100MB可能运算出1MB  这1MB可能十几分钟才用一次
  于是 FF神就可能赢了

[ 本帖最后由 喋血战狼 于 2009-6-26 12:18 编辑 ]
作者: 爱你一棒陲    时间: 2009-6-26 12:17

引用:
原帖由 zhangjingy2008 于 2009-6-26 09:56 发表
说XO的统一架构是老的不能再老,小心软狗出来咬LZ,哈哈哈。
连UMA和US都分不清就出来喷粪?
作者: ffcactus    时间: 2009-6-26 12:18

引用:
原帖由 村上春樹 于 2009-6-26 12:04 发表
有這麼SB的程序開發員?

自己預測讀取到內存的資料中有些是會幾小時才用到一次的我就先讀進去然後放在虛擬內存裡面

現在玩家還在打第一關,就先把最後一關的音樂先丟到內存了
.
.
.現在玩家還在城鎮里,就先 ...
数据种类太多, 请不要用你仅有的知识去衡量。
作者: ffcactus    时间: 2009-6-26 12:20

引用:
原帖由 测试一下 于 2009-6-26 12:05 发表


这是何等的下限啊...

继续看你炫耀智商...
这回变聪明了, 知道继续玩你那低级的把戏。 否则骂死你。
作者: 村上春樹    时间: 2009-6-26 12:21

引用:
原帖由 ffcactus 于 2009-6-26 12:18 发表


数据种类太多, 请不要用你仅有的知识去衡量。
既然數據種類太多,怎麼可以用你有限的知識去覺得「虛擬內存用於遊戲效率可以不錯」呢

有限的東西可以被掌握,越簡單的東西越能掌握就能控制效能

越複雜的情況,什麼都交給系統去預測,系統怎知道A玩家不用到的東西不是B玩家會用到的?

現實狀況還是遊戲開發者在內存中直接規劃各項組件使用的記憶體,並控制遊戲全程使用的記憶體不會超過規畫的上限

[ 本帖最后由 村上春樹 于 2009-6-26 12:23 编辑 ]
作者: 喋血战狼    时间: 2009-6-26 12:22

引用:
原帖由 ffcactus 于 2009-6-26 12:18 发表


数据种类太多, 请不要用你仅有的知识去衡量。
这个  不是说可能么 怎么有变成太多了??
   如果太多  要多少个1MB来存储十多分钟后需要的数据啊
    中间的十多分钟会发生多少次这个情况???那不是需要几十上百MB来保存这些可能用的上的东西
  太可怕了  虚拟内存无敌
作者: ffcactus    时间: 2009-6-26 12:22

引用:
原帖由 喋血战狼 于 2009-6-26 12:14 发表

  可能万岁
    估计无敌
      推测秒杀
        大概血洗
这个  你 可能 估计 大概 就把大家的数据和论点全秒了啊

  100MB可能运算出1MB  这1MB可能十几分钟才用一次
  于是 FF神就可能赢了
请你不要将别人的习惯用语当成你的理由。
作者: cc0128    时间: 2009-6-26 12:25

引用:
原帖由 ffcactus 于 2009-6-26 12:06 发表


读取硬盘上100MB的程序,可能运算出一个1MB的结果, 这个结果可能十几分钟才要被调用一次。
假如内存中有100个这样的1MB的结果,是保持这100个1MB在内存? 浪费100MB的空间。 丢掉再次参上就要读取硬盘上100*10 ...
这个是程序员自己写的硬盘缓存,和虚拟内存没半点关系。
拿硬盘做缓存 != 虚拟内存
丢人现眼
作者: 村上春樹    时间: 2009-6-26 12:25

引用:
原帖由 喋血战狼 于 2009-6-26 12:22 发表

  这个  不是说可能么 怎么有变成太多了??
   如果太多  要多少个1MB来存储十多分钟后需要的数据啊
    中间的十多分钟会发生多少次这个情况???那不是需要几十上百MB来保存这些可能用的上的东西
  太可怕了 ...
真是太可怕了

下一個一分鐘又要更新之前計算過的東西,硬盤又得更新了

所有可能的東西都得三不五時存儲,而且是用低速的硬盤在做暫存...這效率阿。

真正需要的時候一讀,發現不在硬盤裡面,是要重新算一次還是怎樣...ff神珍當作業系統自動化有如神一般地高明
作者: 喋血战狼    时间: 2009-6-26 12:25

更何况,我需要那个1MB的数据怎么办??硬盘读取??
我靠   回到起点,  有时间等你读出来么????
一般这种保存运算结果的东西不会乱丢,至少该是丢堆栈段吧  或者是把保存结果的地址放入堆栈段
对于一个先进后出的堆栈段  谁能判定什么时候需要提前读取????

[ 本帖最后由 喋血战狼 于 2009-6-26 12:27 编辑 ]
作者: ffcactus    时间: 2009-6-26 12:32

引用:
原帖由 喋血战狼 于 2009-6-26 12:25 发表
更何况,我需要那个1MB的数据怎么办??硬盘读取??
我靠   回到起点,  有时间等你读出来么????
一般这种保存运算结果的东西不会乱丢,至少该是丢堆栈段吧  或者是把保存结果的地址放入堆栈段
对于一个先进 ...
你可以不去读这1MB结果, 而去读硬盘上100MB的程序,再来计算这个结果。

堆栈不是用来保存这个的。
把地址放入堆栈更是可笑, 把地址保存了, 然后数据丢掉? 哪还要地址干嘛,找空气?
为什么要暂时挪出去,当然是在内存不够的情况下啊, 你内存够又不要你挪。
作者: cc0128    时间: 2009-6-26 12:33

引用:
原帖由 ffcactus 于 2009-6-26 12:32 发表

你可以不去读这1MB结果, 而去读硬盘上100MB的程序,再来计算这个结果。

堆栈不是用来保存这个的。
把地址放入堆栈更是可笑, 把地址保存了, 然后数据丢掉? 哪还要地址干嘛,找空气?
为什么要暂时挪出去, ...
请看C++入门。了解下point的作用。

[ 本帖最后由 cc0128 于 2009-6-26 12:34 编辑 ]
作者: ffcactus    时间: 2009-6-26 12:34

引用:
原帖由 村上春樹 于 2009-6-26 12:25 发表


真是太可怕了

下一個一分鐘又要更新之前計算過的東西,硬盤又得更新了

所有可能的東西都得三不五時存儲,而且是用低速的硬盤在做暫存...這效率阿。

真正需要的時候一讀,發現不在硬盤裡面,是要重新算一 ...
在内存一定的情况下, 将不常用的东西用低效率的方法保存, 给频率高的东西腾出内存空间,这么说你明白了吗? 台妓系高材生。
作者: 村上春樹    时间: 2009-6-26 12:34

引用:
原帖由 ffcactus 于 2009-6-26 12:32 发表

你可以不去读这1MB结果, 而去读硬盘上100MB的程序,再来计算这个结果。

堆栈不是用来保存这个的。
把地址放入堆栈更是可笑, 把地址保存了, 然后数据丢掉? 哪还要地址干嘛,找空气?
为什么要暂时挪出去, ...
讀100mb的程序啊

以硬盤一秒10~20MB平均速,光這樣讀取就要4秒以上

每秒30FPS的 需求呢?

光等一個計算結果就要三四秒,還沒考慮應用程式中各項交互關聯的依存性呢

AI計算後的資料沒出來,ANIMAION要怎麼做對應更改?物件要怎麼顯示位置?遊戲中的光源怎麼做出反應?

[ 本帖最后由 村上春樹 于 2009-6-26 12:35 编辑 ]
作者: 村上春樹    时间: 2009-6-26 12:37

引用:
原帖由 ffcactus 于 2009-6-26 12:34 发表


在内存一定的情况下, 将不常用的东西用低效率的方法保存, 给频率高的东西腾出内存空间,这么说你明白了吗? 台妓系高材生。
高材生倒是不知道SCE精銳開發組為何還都是像我那樣說的去規劃內存空間呢?

想必你還弄不清楚緩衝與虛擬內存的關係吧.
作者: ffcactus    时间: 2009-6-26 12:38

引用:
原帖由 cc0128 于 2009-6-26 12:33 发表

请看C++入门。了解下指针的作用。
你C++学到脑残了吧。
你没看他说, 这东西一般不会乱丢(也就是说不会在硬盘上保存副本,而释放内存里的原始数据),起码也会压堆栈,或者将数据地址压堆栈(那就是说,将数据地址压入堆栈, 数据删除,也不做备份)。
作者: 喋血战狼    时间: 2009-6-26 12:38

引用:
原帖由 ffcactus 于 2009-6-26 12:32 发表

你可以不去读这1MB结果, 而去读硬盘上100MB的程序,再来计算这个结果。

堆栈不是用来保存这个的。
把地址放入堆栈更是可笑, 把地址保存了, 然后数据丢掉? 哪还要地址干嘛,找空气?
为什么要暂时挪出去, ...
红字部分吓的我魂飞魄散。能找到地址,居然还找不到数据。
     打个比方,我去我朋友家。只要他家的地址,沿路去找就是了。
     你总不能说,要朋友先把家里的东西都给你  然后才可以吧
    更何况,一个十多分钟才可能要用的东西,我现在居然花大力气算出来
    那我算这个时候  游戏画面不要贴图之类的了??不要响应人物操作了??
   100多MB的东西诶
作者: ffcactus    时间: 2009-6-26 12:39

引用:
原帖由 村上春樹 于 2009-6-26 12:34 发表


讀100mb的程序啊

以硬盤一秒10~20MB平均速,光這樣讀取就要4秒以上

每秒30FPS的 需求呢?

光等一個計算結果就要三四秒,還沒考慮應用程式中各項交互關聯的依存性呢

AI計算後的資料沒出來,ANIMAION要 ...
又来30FPS了, 算了, 你智商太低,不便交流, 本来我也不想看繁体。




欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) Powered by Discuz! 6.0.0