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


发新话题
打印

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

引用:
原帖由 上海恐龙 于 2009-6-26 16:02 发表


你自己可以计算一下,如果说计算机预估“稍后可能会要”用到比目前画面上下左右各大1倍的画面,时长持续1秒钟的画面,其计算量是多少

按照720P的标准,24位色,30帧流畅度

1280^2*720^2*24*30^2=18,345,88 ...
难道你脑子里除了画面就还是画面, 游戏又不是播片, 还有那么多东西需要计算处理, 你以为内存中所有的东西都是为了你现在看到的当前画面?


TOP

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

难道你脑子里除了画面就还是画面, 游戏又不是播片, 还有那么多东西需要计算处理, 你以为内存中所有的东西都是为了你现在看到的当前画面?
那我倒不明白了,除了画面之外,还有什么东西要用“虚拟内存”可以更快处理的

AI?那我们也可以来算啊

如果说AI仅和地图坐标有关,当前地图是256*256*256的标准网格,AI的选择枝有3种(这TM已经是SB的不能再SB的AI了),则3次选择以后的数据量为

256^3*256^3*256^3*3^3=127,503,895,037,480,420,769,792字节

同学,你给我说说还有啥可以用得上虚拟内存的?



TOP

引用:
原帖由 ffcactus 于 2009-6-26 16:05 发表

我觉得你今后还是不适合继续从事你现在所学的专业。你的思维太缺乏逻辑,条理也不清晰。
居然问出这么多愚蠢的问题, 另在下感到非常的诧异。
你的脑子未必真的是卡壳了?
在正常运行下的结果这个结果的得出可能 ...
我更觉的诧异
      一个明显不合适游戏这种需要大量现成数据的算法   而且你明明知道会卡 会造成瓶颈
       你不是想办法在规定内存内优化  而是宣言什么虚拟内存来粉饰  
         对于游戏来说  如果需求的东西全部在内存中  则没任何问题
        而你却想当PC一样敞开开发,不用顾忌平台的限制
       一开始的立足点就是错误的
有关条理问题  大家都看着呢,看大家喷谁是来胡搅蛮缠??我不介意把前面大家的帖子给你帖出来


[ 本帖最后由 喋血战狼 于 2009-6-26 16:18 编辑 ]


TOP

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

难道你脑子里除了画面就还是画面, 游戏又不是播片, 还有那么多东西需要计算处理, 你以为内存中所有的东西都是为了你现在看到的当前画面?
其实你还真说对了  游戏的主要就是播片,而且是至少每秒帖30副“照片”
  如果不是CG的话  即时演算出那些“照片”花费的功夫 不是一般的大
   这些纹理和特效处理是必须及时完成的,没有所谓低10分钟后
     还有碰撞检测 视角转换  检测操作   AI计算 遮蔽 NPC移动........都必须立刻完成
       所以说   一个你一个算法要求10分钟预先计算出结果
        无论你怎么狡辩  都是要现在分出时间去分心处理  而且还不一定用的上
         你的 可用发生  经常发生   偶尔发生 这3个混沌不清  并且都想自圆其说的态度
           不是纯粹来扯淡么

[ 本帖最后由 喋血战狼 于 2009-6-26 16:27 编辑 ]

TOP

FFCACTUS果然是神啊……在一个错误的主题下讨论,真以为自己是舌战群儒了……有一点别人不及神的,就是神永远不会夹尾巴走人,而是昂首阔步回家……

TOP

引用:
原帖由 上海恐龙 于 2009-6-26 16:14 发表


那我倒不明白了,除了画面之外,还有什么东西要用“虚拟内存”可以更快处理的

AI?那我们也可以来算啊

如果说AI仅和地图坐标有关,当前地图是256*256*256的标准网格,AI的选择枝有3种(这TM已经是SB的不能 ...
我就举HALO的例子吧。
假如现在正在打仗,表现这个场面中某些事物是DVD中200M程序运算出来的结果, 可是接下来有一段过场,为了让过场更华丽,需要很多内存,那么就可以暂时把内存中表现前面场景中的某些信息临时挪走。你过场完了,再读回来, 这样你无须重新加载300M的程序去计算,只需加载计算结果就可以了。

比如你跟敌人交战,敌人的AI,贴图,等等都需要占用内存,这些信息是硬盘中200MB的程序运算的结果,你把敌人消灭后,有来的是机械兵,它的AI、贴图等等又需要另外一个200MB的程序来实现。你把机械兵消灭后,前面的敌人又出现。
你当然可以每次都这么加载来加载去, 不过显然这是最愚蠢的做法,你大可把中间结果临时保存,下次要用的时候再调已经好了的东西。这样你不但速度更快, 还可以利用内存干其他的事,或许还可以把画面做得更好。

TOP

引用:
原帖由 ffcactus 于 2009-6-26 16:27 发表


我就举HALO的例子吧。
假如现在正在打仗,表现这个场面中某些事物是DVD中200M程序运算出来的结果, 可是接下来有一段过场,为了让过场更华丽,需要很多内存,那么就可以暂时把内存中表现前面场景中的某些信息临 ...
我一个一个来回答你的问题:

第一,你说的过场问题。把过场前的数据存储到硬盘里,和存储到你所说的“虚拟内存”里,有区别么?

第二,现在所有的计算,无非是围绕着三点:AI、物理、画面,你可以看一下前面的我的计算结果,任何一个方面要进行哪怕最少的预处理,其代价都是巨大的,都不是现有的机能可以实现的

TOP

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

   我更觉的诧异
      一个明显不合适游戏这种需要大量现成数据的算法   而且你明明知道会卡 会造成瓶颈
       你不是想办法在规定内存内优化  而是宣言什么虚拟内存来粉饰  
         对于游戏来说  如果需求 ...
我举了那么多运用的例子,你举了什么, 除了三番五次的YY卡啊卡的, 什么30FPS, 一个毛的证据都拿不出来。你若能证明游戏软件对内存中所有的数据都是极快的调用, 哪我自然无话可说, 可问题是你能证明吗? 事实是如此吗?

TOP

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

其实你还真说对了  游戏的主要就是播片,而且是至少每秒帖30副“照片”
  如果不是CG的话  即时演算出那些“照片”花费的功夫 不是一般的大
   这些纹理和特效处理是必须及时完成的,没有所谓低10分钟后
     还 ...
30帧画面, 哪是CPU,GPU的事情, 与你内存有毛关系啊?
画面如何形成? 画面形成还不是靠的元素吗, 这些元素告诉计算机要如何画、如何渲染等。
这些元素又如何而来, 则是程序于用户交互形成的。你以为形成一个画面所需要的元素需要占据整个内存?
哪程序放哪里?其他信息放哪里?
形成画面的信息并不多,FPS只与利用这些信息形成画面的速度有关, 说白了就是GPU,CPU,以及带宽决定。
内存中反倒是大量的形成画面信息的程序。
这么说不知道你明不明白, 也不知道你明不明白这样意味着什么, 我估计你是不能明白的。。。

TOP

引用:
原帖由 战甲威龙 于 2009-6-26 17:27 发表
FFCACTUS果然是神啊……在一个错误的主题下讨论,真以为自己是舌战群儒了……有一点别人不及神的,就是神永远不会夹尾巴走人,而是昂首阔步回家……
ff大神永远是对的

TOP

引用:
原帖由 ffcactus 于 2009-6-26 16:40 发表


30帧画面, 哪是CPU,GPU的事情, 与你内存有毛关系啊?
画面如何形成? 画面形成还不是靠的元素吗, 这些元素告诉计算机要如何画、如何渲染等。
这些元素又如何而来, 则是程序于用户交互形成的。你以为形成一 ...
你成仙了.........居然一像素点一个像素点的去贴图
如果不吧纹理素材   地图信息  3D模版 和游戏引擎全部读入内存   你就一点一点算到死吧

TOP

引用:
原帖由 上海恐龙 于 2009-6-26 16:30 发表


我一个一个来回答你的问题:

第一,你说的过场问题。把过场前的数据存储到硬盘里,和存储到你所说的“虚拟内存”里,有区别么?

第二,现在所有的计算,无非是围绕着三点:AI、物理、画面,你可以看一下前 ...
第一,本质上没有区别, 都是利用硬盘做临时保存, 这也就是我说“PS3有硬件条件实现这个技术或类似的技术”,实现这个可以让操作系统帮忙即“真正的虚拟内存技术”,或游戏设计人员自己去安排“类似的技术”

第二,根本就没有哪个说什么提前运算, 除了LZ这么说, 我有这么说吗? 你到底看了帖子的来龙去脉吗?

TOP

神是永远不会错的

TOP

引用:
原帖由 ffcactus 于 2009-6-26 16:31 发表

我举了那么多运用的例子,你举了什么, 除了三番五次的YY卡啊卡的, 什么30FPS, 一个毛的证据都拿不出来。你若能证明游戏软件对内存中所有的数据都是极快的调用, 哪我自然无话可说, 可问题是你能证明吗? 事实是 ...
你确实是举了好多例子
    都是 估计 假如  大概这样
       还有很多是主管推测   
        这样还来用   真无敌

TOP

引用:
原帖由 ffcactus 于 2009-6-26 16:45 发表


第一,本质上没有区别, 都是利用硬盘做临时保存, 这也就是我说“PS3有硬件条件实现这个技术或类似的技术”,实现这个可以让操作系统帮忙即“真正的虚拟内存技术”,或游戏设计人员自己去安排“类似的技术”

...
这个……好吧,照这么说XO也有、Wii也有,你有我有全都有

我真贱,自己来回这个帖子,原来FF神是全机种制霸支持者啊

那么,话说回来,如果不是需要预处理,那还要虚拟内存干毛啊?

TOP

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