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


发新话题
打印

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

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

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

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

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

真正需要的時候一讀,發現不在硬盤裡面,是要重新算一次還是怎樣...ff神珍當作業系統自動化有如神一般地高明


TOP

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

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



TOP

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

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


TOP

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

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

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

[ 本帖最后由 cc0128 于 2009-6-26 12:34 编辑 ]

TOP

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


真是太可怕了

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

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

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

TOP

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

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

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

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

每秒30FPS的 需求呢?

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

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

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

TOP

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


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

想必你還弄不清楚緩衝與虛擬內存的關係吧.

TOP

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

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

TOP

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

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

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

TOP

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


讀100mb的程序啊

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

每秒30FPS的 需求呢?

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

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

TOP

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

请看C++入门。了解下point的作用。
ff神連C的POINT都不知道還能大談虛擬內存....我都還沒搬出作業系統教科書關於虛擬記憶體那一章來教育他,他就出了這麼大的洋相

TOP

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

你C++学到脑残了吧。
你没看他说, 这东西一般不会乱丢(也就是说不会在硬盘上保存副本,而释放内存里的原始数据),起码也会压堆栈,或者将数据地址压堆栈(那就是说,将数据地址压入堆栈, 数据删除,也不做备份 ...
我靠  你哪句话看到我说释放内存了???都保存地址了   还找不到东西?、
   按你的说法 算完后向硬盘一丢,十多分钟后在去找
    用什么机制???CPU喊一句  我要XXX资源??

    不乱丢=不保持直接释放内存
     我再次被你吓的魂飞魄散

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

TOP

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

又来30FPS了, 算了, 你智商太低,不便交流, 本来我也不想看繁体。
原來你玩的遊戲是幻燈片,3秒1張畫面

說實在也頗符合某些神機遊戲,特別是跨平台會lag的現象

看來他們是使用了虛擬內存啊.

XO遊戲用了超過256mb內存,給ps3要怎麼辦?

上海的UXI某程序員記得他幾個月前看過tgfc的某高人指點可以用虛擬內存,問題解決了

只是ps3版又LAG啦.

[ 本帖最后由 村上春樹 于 2009-6-26 12:43 编辑 ]

TOP

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

   红字部分吓的我魂飞魄散。能找到地址,居然还找不到数据。
     打个比方,我去我朋友家。只要他家的地址,沿路去找就是了。
     你总不能说,要朋友先把家里的东西都给你  然后才可以吧
    更何况,一个十 ...
看你敏而好学, 我就举个例子给你。
你不是学过单片机吗, 知道单片机有串口吧(其实用PC串口也是一个意思)。
你把每次在串口中读到的数据放在一个 unsigned char temp_sbuf 中, 然后你准备读100个串口数据, 用个数组保存(指针数组)。 每来一个串口数据, 你就将其放入temp_sbuf, 然后将temp_sbuf的地址保存到你的数组中。试问你能通过这个数组找回这100个串口数据吗?

TOP

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

又来30FPS了, 算了, 你智商太低,不便交流, 本来我也不想看繁体。
30FPS只是游戏的最基本要求吧  低于这个帧数眼睛就要看出卡了
   难道不一30FPS为最低标准??
     20FPS??
      15FPS??

TOP

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