Board logo

标题: [业评] PC游戏为什么不能充分利用大内存? [打印本页]

作者: ff42    时间: 2014-11-29 20:42     标题: PC游戏为什么不能充分利用大内存?

电脑是16G内存,玩大型游戏比如COD-AW时内存占用顶多6、7G,相对桌面待机时最多也就是增加了2、3G的游戏数据,有大量的内存空间被闲置。
每次打完一关要浪费大量的时间载入下一关,游戏引擎为何不能充分利用玩家的大内存和剩余的CPU运算能力,在游戏过程中CPU和硬盘处于较低负载时预载入下一关甚至下N关的资料,以缩短甚至消除LOADING时间呢?
这个在技术上是不是很困难?
作者: magtree    时间: 2014-11-29 21:04

因为很多人在用4G内存……
作者: lili2k2    时间: 2014-11-29 21:10

普通PC游戏是基本用不了很多,去试试特别点的,
模拟飞行,安装全球地形空中9米地景,动态气候全球同步,空管地面海洋铁路交通状态都设置为繁忙,再上仿真高精度机模,
你就知道啥叫16G内存还hold不住了……
作者: 柯布西耶    时间: 2014-11-29 21:14

SSD基本是秒读,要什么大内存。
作者: ff42    时间: 2014-11-29 21:23

引用:
原帖由 柯布西耶 于 2014-11-29 21:14 发表
SSD基本是秒读,要什么大内存。
不知道你用的什么SSD能秒度COD AW,反正我也是SSD,每关都要读个二十秒以上。
作者: achen126    时间: 2014-11-29 22:48

posted by wap, platform: iPad
2L说的不太同意,可以加个选项开关啊!难道实现不了?
作者: mieumieu    时间: 2014-11-29 22:51

posted by wap, platform: 华为 Ascend P7
32位游戏的话也就能吃两个g吧

64位会好些
作者: grammyliu    时间: 2014-11-29 22:59

posted by wap, platform: iPhone
引用:
原帖由 @柯布西耶  于 2014-11-29 05:14 发表
SSD基本是秒读,要什么大内存。
COD  AW?求SSD品牌型号,我的海盗船GT不太能打。
作者: grammyliu    时间: 2014-11-29 23:03

posted by wap, platform: iPhone
COD AW多人模式战斗中SSD一直在狂闪,我就怀疑16内存真的不够把全部这张图内容都装进内存里吗?你说16不够我再去买内存就是了,关键是你根本就不把内存好好利用起来,我跟楼主想过同样的问题。
作者: grammyliu    时间: 2014-11-29 23:06

posted by wap, platform: iPhone
我在亚马逊看到有卖1万多美元一块的2T的SSD,读写2400Mb/s,这个不知道玩codaw会不会妙读,ocz品牌的。
作者: ns2014    时间: 2014-11-29 23:11

引用:
原帖由 grammyliu 于 2014-11-29 23:03 发表
posted by wap, platform: iPhone
COD AW多人模式战斗中SSD一直在狂闪,我就怀疑16内存真的不够把全部这张图内容都装进内存里吗?你说16不够我再去买内存就是了,关键是你根本就不把内存好好利用起来,我跟楼主想过同 ...
虚拟内存啊...
你是不是很晚接触pc啊?
作者: grammyliu    时间: 2014-11-29 23:12

posted by wap, platform: iPhone
引用:
原帖由 @ns2014  于 2014-11-29 07:11 发表
虚拟内存啊...
你是不是很晚接触pc啊?
你的意思是上64G内存,划出50G出来做ramdisk把游戏安装在ramdisk里?
作者: ns2014    时间: 2014-11-29 23:13

引用:
原帖由 grammyliu 于 2014-11-29 23:12 发表
posted by wap, platform: iPhone
你的意思是上64G内存,划出50G出来做ramdisk把游戏安装在ramdisk里?
不是,我的意思是pc游戏是把内存作为整体的,它不知道是实际还是虚拟内存
作者: grammyliu    时间: 2014-11-29 23:16

posted by wap, platform: iPhone
没这货在机箱里别说自己的主机是high-end了。:D
作者: shinkamui    时间: 2014-11-29 23:18

很多时候不是读内存而是读到显存,更别说有时候还需要现场编译shader
作者: grammyliu    时间: 2014-11-29 23:26

posted by wap, platform: iPhone
引用:
原帖由 @ns2014  于 2014-11-29 07:13 发表
不是,我的意思是pc游戏是把内存作为整体的,它不知道是实际还是虚拟内存
你说的是windows里的虚拟内存。。我在32位xp时代都是把这个设成0,现在win 8.1 64位都设成自动,更改这个有可能改善游戏读盘体验吗?我不懂开发。倒是ramdisk确实可以解决我的那个问题,不过每次关机还要往硬盘上写50G数据备份也是醉了。
作者: grammyliu    时间: 2014-11-29 23:28

posted by wap, platform: iPhone
引用:
原帖由 @shinkamui  于 2014-11-29 07:18 发表
很多时候不是读内存而是读到显存,更别说有时候还需要现场编译shader
啊,确实,刺客信条大掉帧我开precision x16玩,读盘画面可以看到显存占用一直在升高,直到把我的3G都填充满才进游戏,内牛满面。

本帖最后由 grammyliu 于 2014-11-29 07:29 通过手机版编辑
作者: Yit    时间: 2014-11-30 04:54

posted by wap, platform: Chrome
虚拟内存大大分分钟教你们做人
作者: 大头木    时间: 2014-11-30 09:54

posted by wap, platform: nubia Z7 Max
载入并不光是读取时间,ssd读取都500ms了你游戏才多大。20s载入ssd能读10个g了。

游戏花掉的主要是编译和解压的时间。
作者: jiamaofeng    时间: 2014-11-30 10:18

百姓无栗米充饥,何不食肉糜?
作者: 柯布西耶    时间: 2014-11-30 15:35

你游戏有材质纹理什么的要加载,又不可能把整个游戏存在内存里。比如40G的游戏全部读到内存里,游戏打开20分钟,一不小心崩溃,你又要读20分钟。
最重要的是,你至少要买45G内存,比你电脑还贵吧~
这是一种极其没有效率的相当2的方式。

PC版和主机版的垃圾读取速度比起来已经是秒读了,不要要求太高。
我还希望任何程序秒开,任何下载只要10秒。

现实么?醒醒~~

[ 本帖最后由 柯布西耶 于 2014-11-30 15:37 编辑 ]
作者: findwhat    时间: 2014-11-30 23:05

游戏是32位的,有内存上限
如果游戏是原生64位可解决
作者: supermetroid    时间: 2014-12-1 07:55

posted by wap, platform: Samsung
引用:
原帖由 @柯布西耶  于 2014-11-30 15:35 发表
你游戏有材质纹理什么的要加载,又不可能把整个游戏存在内存里。比如40G的游戏全部读到内存里,游戏打开20分钟,一不小心崩溃,你又要读20分钟。
最重要的是,你至少要买45G内存,比你电脑还贵吧~
这是一种极其没有效率的相当2的方式。

PC版和主机版的垃圾读取速度比起来已经是秒读了,不要要求太高。
我还希望任何程序秒开,任何下载只要10秒。

现实么?醒醒~~
五十年后应该很正常吧,秒开秒下
作者: KoeiSangokushi    时间: 2014-12-1 08:43

游戏机也没充分利用啊

PS4的8GB内存只留给游戏4.5GB,X1的8GB内存只留给游戏5GB
作者: 燕山隐士    时间: 2014-12-1 09:00

posted by wap, platform: Meizu MX3
昨天还有同事跟我说 我的电脑可是4g内存啊 这么大还不够用的?
作者: 茉莉FAN    时间: 2014-12-1 09:41

引用:
原帖由 grammyliu 于 2014-11-29 23:06 发表
posted by wap, platform: iPhone
我在亚马逊看到有卖1万多美元一块的2T的SSD,读写2400Mb/s,这个不知道玩codaw会不会妙读,ocz品牌的。
打死都不要买OCZ
另外,SSD没有吹的那么神
大场景还是得加载很久
当然,至少能比传统机械盘省一半时间是真的
作者: 雨衣    时间: 2014-12-1 09:59

引用:
原帖由 grammyliu 于 2014-11-29 23:06 发表
posted by wap, platform: iPhone
我在亚马逊看到有卖1万多美元一块的2T的SSD,读写2400Mb/s,这个不知道玩codaw会不会妙读,ocz品牌的。
这玩意儿是要动用PCIE带宽的 换句话说会占用你的显卡插槽和带宽
再说SSD的性能和容量又没关系 只是玩个COD的话8块120G的SSD组个raid0比这货快多了

另外超大内存对游戏读盘速度是没有帮助的 内存与读盘的关系仅在于小内存会导致频繁读盘

总之想要真正意义伤的秒读 两个办法
1、多SSD组raid0
2、ramdisk,永不关机

[ 本帖最后由 雨衣 于 2014-12-1 10:04 编辑 ]
作者: kara    时间: 2014-12-1 10:02

引用:
原帖由 茉莉FAN 于 2014-12-1 09:41 发表

打死都不要买OCZ
另外,SSD没有吹的那么神
大场景还是得加载很久
当然,至少能比传统机械盘省一半时间是真的
SSD太快有些时候也有反作用,比如魂切场景的时候有物品的介绍,HDD的时候还能看看,SSD只能看一小半就切掉了,还好影响不大。
作者: ff42    时间: 2014-12-1 10:04

引用:
原帖由 雨衣 于 2014-12-1 09:59 发表


这玩意儿是要动用PCIE带宽的 换句话说会占用你的显卡插槽和带宽
再说SSD的性能和容量又没关系 只是玩个COD的话8块120G的SSD组个raid0比这货快多了
喷了,那个SSD一看就是PCI-E X4的速率,怎么可能占用显卡带宽?
另外你说俩120G组R0就能跑赢这货,还"快多了",你确定你不是用脚指头想出来的?
作者: ff42    时间: 2014-12-1 10:05

引用:
原帖由 柯布西耶 于 2014-11-30 15:35 发表
你游戏有材质纹理什么的要加载,又不可能把整个游戏存在内存里。比如40G的游戏全部读到内存里,游戏打开20分钟,一不小心崩溃,你又要读20分钟。
最重要的是,你至少要买45G内存,比你电脑还贵吧~
这是一种极其没 ...
你就完全没看明白我的意思,我哪句话说要把整个游戏读到内存里了?

[ 本帖最后由 ff42 于 2014-12-1 10:07 编辑 ]
作者: ff42    时间: 2014-12-1 10:07

这个帖楼上有两个已经说的很合理,LOADING时间长与内存无关有一部分原因(可能是很大一部分原因)是:
1、载入显存的时间
2、编译的时间
作者: 雨衣    时间: 2014-12-1 10:07

引用:
原帖由 ff42 于 2014-12-1 10:04 发表

喷了,那个SSD一看就是PCI-E X4的速率,怎么可能占用显卡带宽?
另外你说俩120G组R0就能跑赢这货,还"快多了",你确定你不是用脚指头想出来的?
我说的是8块

PCIE总带宽是有限的 单显卡不会有影响 但使用多显卡的话 总带宽就会吃紧
作者: ff42    时间: 2014-12-1 10:10

引用:
原帖由 雨衣 于 2014-12-1 10:07 发表


我说的是8块

PCIE总带宽是有限的 单显卡不会有影响 但使用多显卡的话 总带宽就会吃紧
多一块X4速率的扩展卡会占用显卡的PCI-E带宽?这样的主板如果不是超级低端的话恐怕不常见吧?
作者: Benthal    时间: 2014-12-1 10:22

posted by wap, platform: Samsung
我觉得是这么个意思,如果PC超越家用机太多,那么会加速家用机死亡,不符合共同利益,所以。。。
作者: hourousha    时间: 2014-12-1 10:47

引用:
原帖由 mieumieu 于 2014-11-29 22:51 发表
posted by wap, platform: 华为 Ascend P7
32位游戏的话也就能吃两个g吧

64位会好些
就windows而言,32bit进程,在32位系统下,user space最多可以吃到3GB的内存,32bit进程在64bit系统系统下user space最多可以吃到4GB内存。
作者: KoeiSangokushi    时间: 2014-12-1 11:58

引用:
原帖由 茉莉FAN 于 2014-12-1 09:41 发表

打死都不要买OCZ
另外,SSD没有吹的那么神
大场景还是得加载很久
当然,至少能比传统机械盘省一半时间是真的
少这点载入时间其实没什么大的影响

关键是玩ID TECH 5引擎的游戏SSD有巨大优势——Rage和德军总部新秩序
作者: findwhat    时间: 2014-12-2 08:35

引用:
原帖由 hourousha 于 2014-12-1 10:47 发表

就windows而言,32bit进程,在32位系统下,user space最多可以吃到3GB的内存,32bit进程在64bit系统系统下user space最多可以吃到4GB内存。
http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx 本来不想发的。。。自己看
单进程可和系统总使用量不同

看清楚表格里谁是单进程,谁是系统总使用量

[ 本帖最后由 findwhat 于 2014-12-2 08:37 编辑 ]
作者: findwhat    时间: 2014-12-2 08:35

引用:
原帖由 hourousha 于 2014-12-1 10:47 发表

就windows而言,32bit进程,在32位系统下,user space最多可以吃到3GB的内存,32bit进程在64bit系统系统下user space最多可以吃到4GB内存。
http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx 本来不想发的。。。自己看
单进程可和系统总使用量不同
作者: mieumieu    时间: 2014-12-2 08:53

posted by wap, platform: Chrome
引用:
原帖由 @findwhat  于 2014-12-2 08:35 发表
http://msdn.microsoft.com/enus/library/aa366778%28VS.85%29.aspx 本来不想发的。。。自己看
单进程可和系统总使用量不同

看清楚表格里谁是单进程,谁是系统总使用量
Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT

这个说的就是单进程在32位Windows下可用内存量啊
只是不知道这个东西对游戏实用度如何,毕竟频繁交换页面就没啥意思了
作者: ffcactus    时间: 2014-12-2 09:18

posted by wap, platform: iPhone
做预判断很麻烦,还不如花时间去做其他事情。
作者: findwhat    时间: 2014-12-2 09:18

posted by wap, platform: iPhone
引用:
原帖由 @mieumieu  于 2014-12-2 08:53 发表
Up to 3 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT

这个说的就是单进程在32位Windows下可用内存量啊
只是不知道这个东西对游戏实用度如何,毕竟频繁交换页面就没啥意思了
第一行清楚的写2gb

3g是有限制的……要开pae(家用操作系统别想了)

请仔细阅读,英文不好用翻译软件也不至于出这种理解错误吧?
作者: ffcactus    时间: 2014-12-2 09:23

posted by wap, platform: iPhone
引用:
原帖由 @findwhat  于 2014-11-30 23:05 发表
游戏是32位的,有内存上限
如果游戏是原生64位可解决
喷了
作者: 弟弟等等    时间: 2014-12-2 10:13

连固盘都要读盘20秒那 绝对是 程序优化出了问题吧
作者: mieumieu    时间: 2014-12-2 14:43

posted by wap, platform: 华为 Ascend P7
引用:
原帖由 @findwhat  于 2014-12-2 09:18 发表
第一行清楚的写2gb

3g是有限制的……要开pae(家用操作系统别想了)

请仔细阅读,英文不好用翻译软件也不至于出这种理解错误吧?
我windows编程基本没做过,之前我也没说3gb,是前面有人说了,我好奇去看看,问问而已

漏看了什么还要你这样的语气说人?技术好不好不是用来压人的好伐
作者: hourousha    时间: 2014-12-2 17:10

引用:
原帖由 findwhat 于 2014-12-2 08:35 发表
http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx 本来不想发的。。。自己看
单进程可和系统总使用量不同
看清楚表格里谁是单进程,谁是系统总使用量
我就想说,你看明白你给的那个链接了吗?起码第一个表的第一行仔细看一下吧?这和我说的区别在哪?
还有就是,您家的IMAGE_FILE_LARGE_ADDRESS_AWARE必须Server系统的?
或者你说的是4GT?
http://msdn.microsoft.com/en-us/ ... 3%28v=vs.85%29.aspx

所谓把系统可用总量和进程user space大小搞混的,我看是你才对。
另外关于PAE
http://msdn.microsoft.com/en-us/ ... 6%28v=vs.85%29.aspx

[ 本帖最后由 hourousha 于 2014-12-2 17:26 编辑 ]
作者: endrollex    时间: 2014-12-2 17:50

有些载入硬吃CPU的,你试试看边解压zip文件边玩游戏?
光是场景载入可能不需要计算,但动作模型要计算插值帧等等
作者: sisik    时间: 2014-12-3 11:38

引用:
原帖由 ff42 于 2014-11-29 20:42 发表
电脑是16G内存,玩大型游戏比如COD-AW时内存占用顶多6、7G,相对桌面待机时最多也就是增加了2、3G的游戏数据,有大量的内存空间被闲置。
每次打完一关要浪费大量的时间载入下一关,游戏引擎为何不能充分利用玩家的大 ...
我开22GB的虚拟硬盘,传输3000-4000MB/S,(现在新的主机板可破万了)
很多游戏还是不能秒开,基本上都卡在游戏内容的处理上,
但还是比SSD快上不少.
作者: veryend    时间: 2014-12-3 14:31

CODAW读盘分两段,前一段你能看到硬盘灯狂闪,如果游戏放SSD上,也就两三秒时间,后面一段你就不知道它在干啥了




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