» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 62 12345
发新话题
打印

[其他] 谈谈“虚拟内存”对游戏运行的作用

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

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

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


TOP

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

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

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

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

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

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

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

你把我原文中的“光盘”这个词换成“硬盘”, 你或许应该明白我表达什么意思了。



TOP

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

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

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

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

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


TOP

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

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

TOP

引用:
原帖由 喋血战狼 于 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 编辑 ]

TOP

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

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

当然不要以为XO那半吊子显卡能实现这个功能。

TOP

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

难道PS3的GPU是统一架构的?
不是, 我也没说是, 请不要脑内补完。

TOP

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


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

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

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

TOP

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

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

TOP

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

但360的GPU是统一着色架构的。
so what?

TOP

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

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

TOP

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

[ 本帖最后由 ffcactus 于 2009-6-26 11:33 编辑 ]

TOP

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

光盘和硬盘速度差距是有限的,硬盘和内存速度是天壤之别。
PS3标配硬盘速度不见得比光盘快多少。
so what?

TOP

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


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

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

PS3遊戲中ANIMATION的資料是放在顯存還是內存?
因为你的问法很愚蠢, 放在内存也好, 放在显存也好, so what?

TOP

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

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

TOP

 62 12345
发新话题
     
官方公众号及微博