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


发新话题
打印

[其他] 不知道什么是“虚拟内存”,我就来教育下。(Update)

引用:
原帖由 csitd 于 2009-6-24 15:28 发表
[posted by wap]

区别是效率差别太大,谁用虚拟内存谁傻
这下连MS都傻逼了。


TOP

引用:
原帖由 sniperm82 于 2009-6-24 15:29 发表
XDR的前辈,高科技,进步的RAMBUS,在P4初期怎么被低性能的DDR给抡了,我想这段历史这里很多人都知道吧?
是因为还没DDR尖端吧。



TOP

引用:
原帖由 gyfsgm 于 2009-6-24 15:30 发表


可问题这里都是IT业内,没有实际会PS3,360编程语句的业内。
PC和游戏机由于操作系统的差距,影响力太大,实际应用应该是完全不同的。
这个帖子里, 除了软狗大军, 有那个是业内?
人家博士生都不敢现身。。。


TOP

引用:
原帖由 csitd 于 2009-6-24 15:31 发表
[posted by wap]

是的,如果微软的游戏这么设计的话
微软的操作系统就是这么设计的。你说游戏还能怎么设计?

TOP

彩妹、TNT也就打个擦边球。
那个什么superjay,或许还稍微懂得多点,放了一句话就没影了。

TOP

引用:
原帖由 csitd 于 2009-6-24 15:38 发表
[posted by wap]

我是说游戏开发者要是利用操作系统来做这事,就是弱智了,你能告诉我有哪个是这样的吗?
你说这句话表明你严重缺乏对操作系统和应用软件之间的关系的认识。
一个应用软件我们把它看成一个简单的进程(或许不止一个),什么是进程,进程就是代码、数据、资源、系统调用等等组成的一个环境。
这些全部都是由操作系统来维护的,游戏开发者根本就不可能决定用不用虚拟内存,这都不是他能支配的事情。就像你觉得喝水、呼吸没有必要啊,但是你的细胞组织需要水分氧气。

TOP

引用:
原帖由 爱游戏 于 2009-6-24 15:40 发表
---比如主人公把某个场景的环境砸得个稀巴烂,或者触发了某些事件,然后去了另外一个地方,游戏并不会强迫你存盘,但是这些信息在你去另外一个新地方时就是无用的了,可以暂时不用。这是从游戏的角度去看的。反应到操作系统上则是当用户破换场景、触发事件时, 应用程序向操作系统申请了一片内存,操作系统隔一定时间就把这片内存的时间计数加1,如果应用程序又用到了这片内存,那么把计数清零。当操作系统发现这片内存的时间计数操过某个数值,则操作系统认为这片内存肯定暂时不用了,则自动把它挪到硬盘上,给应用程序腾出内存空间。----

不明白这么做对提高游戏的性能和画面有什么好处...
相反如果256mb只能表现同屏100个固定多边形数量和贴图精度npc,我们假如硬要做出200个,请教一下ff神用虚拟内存应该如何实现呢?
一个计算机系统的内存资源是很宝贵的。在效率下降不明显的情况下,提供更多的内存,当然有好处。
当然,不是所有的数据都可以交换出去临时保存,那些常用的也不会被调度算法给挑出来调度。
一个游戏表现100个固定多边形和贴图精度的NPC,并不要以为内存中的信息就是这些,还有大量的其他信息信息。假如表现100个NPC需要的内存几乎已经占据了所有内存, 那当然表现200个NPC就变得不现实, 因为没有人说虚拟内存能实现一切,是万金油。游戏设计人员也不会这么做。
设想100个NPC需要100个内存资源, NPC正在打仗,打仗的算法需要100个内存单元,系统其他消耗56个内存单元。但是开发者有一个更好的算法能使得打仗的AI更真实,不过需要120个内存单元。怎么办?没关系啊,你就用那消耗120的呗,操作系统会自动将系统其他消耗的56个单元中的某些挪出来暂存。当然你要用个超高智能的需要1000个内存单元的AI,那当然不现实。

TOP

引用:
原帖由 amego 于 2009-6-24 15:54 发表
lz,一知半解别出来秀
虽然我不曾参与虚拟内存理论的提出, 也没产于MMU的设计, 也没参与操作系统内存管理的设计。
不过我肯定PS3有使用虚拟内存技术的物理基础还是有把握的。
或者你觉得不行?

TOP

引用:
原帖由 元始天尊 于 2009-6-24 16:17 发表
ff大神百度了不少东西啊
我要每条都去百度下, 哪就不要回帖了,再说这么简单的东西还需要百度吗?
但我有不懂的地方确实会去查资料,不能学某些软饭专靠意淫来满足自己的高潮。

TOP

引用:
原帖由 任黑 于 2009-6-24 16:21 发表
真理往往掌握在少数人手中,支持楼主!
这应该是计算机专业的常识, 谈不上什么真理。

TOP

引用:
原帖由 Nothing 于 2009-6-24 16:24 发表

很好,那么每次算AI的时候系统把56个单元挪到硬盘里去...大家等等,读写ing...算完了系统要回来干活了,56个单元再挪回来,AI挪进去...大家再等等,读写ing...
你这个想法代表了很多人的想法,当然实际情况并不是这样的, 可能有很多人以为运行一个东西,内存就在一个连续的地方,要擦写就得擦写一片。操作系统当然不会设计得这么脑残,操作系统对内存的管理是以很小的单元进行的,比如说以1KB为一个单位。比如前面举例中的56个单元,可能操作系统是分56*1024个单元来管理的,任何一个小单元都可以用于交换,不需要将56*1024整体搬迁。
这样一来, 你可以想象,当程序运行久了以后,一个功能在内存中的分配表现到实际内存条中时已经是杂乱无章了。不过操作系统都记录得清清楚楚呢。

TOP

引用:
原帖由 火彩 于 2009-6-24 16:31 发表


不是高抬,而是手头最好让虚拟缓存大神理解的就是HT总线了,要不PCI-E?
反正都差不多嘛,大神补完这些科技都太落伍了
我仅仅只在Inter IA-64 and IA-32 Architectures Software Developer's Manual中的Volume 1 Basic Architecture这一PDF文档中读到过HT技术,还真的是不懂,还请火彩小姐来跟我们讲解一下。

TOP

引用:
原帖由 火彩 于 2009-6-24 16:48 发表


为啥你要从INTEL了解这个呢 :D
你应该去读QPI。
本人从事的工作比较低端, 自身也比较驽钝, 高攀不能。

TOP

引用:
原帖由 pacman 于 2009-6-24 16:53 发表


光盘上整个操作系统不就行了么,没硬盘就玩不了游戏?
重点不是硬盘不硬盘, 是表达PC/PS3/XBOX的游戏是建立才操作系统的基础上的。

TOP

引用:
原帖由 火彩 于 2009-6-24 16:59 发表


关键词 扣肉 爱妻 插我吧 热舞革命3 :D
不过我想虚拟缓存大神或许真的是太低端,低端到联想到其他大能科技上了,虽然那个科技的确很大能,大能到笨死靠着它还能挺过最艰难的那段日子。
不就是Intel的CPU互联技术嘛, 不说这个与帖子毛关系都没有, 你以为列几个英文缩写就显摆了。
有本事就来解释下QPI的实现以及技术要领,不要仅仅只是停留在向客人介绍某个产品是否支持QPI上。

TOP

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