找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7701|回复: 23

PMDG手册里关于“内存耗尽”的说明

  [复制链接]
发表于 2016-7-27 09:38:57 | 显示全部楼层 |阅读模式
本帖最后由 zsyfairytale 于 2016-7-27 10:08 编辑





VAS管理-不要再出现内存不足的错误了好么



背景知识:


P3D是一个32位的程序,即使是在64位的操作系统下,还是会遇到跟其他32位程序一样的问题。其中一个问题就是所谓的“虚拟寻址空间(virtual address space VAS)”的4GB 硬性限制。当P3D崩溃且提示你电脑内存耗尽(飞友通常把它叫做OOM)时,它实际上说的是VAS,而不是你的电脑内存。有些人有超级大内存,比如16G的或者32G的,他们也会这样子崩溃。这个例子很好地说明了实际上崩溃并不是因为耗尽电脑内存。这个错误很可能在说,这个应用程序已经耗尽了虚拟寻址空间。



VAS通俗地说就是电脑给你的P3D程序运行所预分配的空间的使用情况,VAS在一次飞行中会上下起伏。注意,VAS不是你在windos系统设置的虚拟内存,这是完全不同的东西,就算你有很大的虚拟内存也不会让你免受“4GB的VAS限制”的困扰。本身上,这个限制来自于32位应用程序本身。计算机用0和1来储存数据或者用来开关、对错之类,一共2个数字。所以2的32次方,是4,294,967,296这么多字节(不是位),稍微算一下,大概就是4GB了,所以,32位程序最多能用4GB的VAS。



之所以我们推荐64位操作系统,比如win764位,是因为它能给P3D完完全全的4GB VAS. 在32位操作系统里,只给P3D 2G的VAS,剩下的2G保留给系统用。可以通过一定的方法让P3D能用的VAS达到3G,但这还是比不上64位系统给的4G空间,而且更有可能因为P3D把系统运行所需要的VAS给用掉了,导致系统崩溃而不是游戏崩溃。64位系统没有这个问题,P3D完全影响占用其他程序的VAS(浏览器啊,天气插件啊,飞行计划软件啊之类)。没有理由不让你的P3D在64位系统里运行。



如果你想了解更多关于VAS的东西或者系统内存的相关知识,这儿有一篇博文,值得一读
博主是微软工程师,全世界最懂windows是怎么运行的人之一。



监控你的VAS:


今年来机模精度越来越高,地景越来越复杂,P3D很容易用光它的4G VAS。当达到这个点的时候,非常奇怪的事情开始发生了——地景消失,飞机变透明,有东西闪烁,长时间暂停等等。如果超过了限制,P3D就崩溃了,有时候提示你内存耗尽,有时候直接闪退到桌面而不给你任何提示。

如果你遇到了VAS问题,第一件事情就是缺人你在飞P3D的时候究竟用了多少VAS。我给大家推荐一款插件,在飞行过程中打开可以随时监控VAS,看这个帖子:


PROJECTFLY PILOT TOOLS(查看接地率等):http://pawkbun.co.uk/PFT.zip



运行P3D,打开这个监控软件,VAS会慢慢上升,等载入游戏完成应该很快就会达到P3D的使用程度的真实值,如果你看它快接近4GB了,那你就知道你有VAS问题了。它会发出叮叮叮的告警声音,这时候你应该保存一下你的飞行了。


为什么VAS占用那么高:

根据我们团队测试,PMDG777-200LR/F飞机本身占用700-800M的VAS,VC视角和机外视角基本一样。



大量的卫星贴图
当大量的卫星贴图一起载入的时候,VAS占用会升高。很不幸的是,哪怕你不飞那一片区域,P3D还是会给他们分配VAS空间,我们搜集了大量崩溃的用户,发现他们安装了好多照片级地景,直接占用了1G的VAS。当我们建议他们只载入飞行设计的路线的地方的地景的时候,他们都说好像没问题了。

至于怎么让P3D只加载飞行途经的路线上的地景,我等会再发帖告诉你们。



高流量的AI插件
把AI开高了就是作死,不翻译了



超高分辨率的环境贴图
4096*4096分辨率的贴图比1024*1024的贴图高出了16倍的像素。其实1024和2048的贴图跟4096贴图看起来差不太多,但是能给你省下VAS和显存。



P3D设置的细节半径,这个大家都懂,不说
自动景物,水效果,天气,就是调到自己觉得舒服的位置
反正嘛,效果和帧数,自己取舍的意思。



高精度的机场,
高精度的机场可以占用起码1GB的VAS(我觉得T2G的VHHH占用肯定不止1G)



不关P3D连续飞很多趟航班
你之前飞过的机场所占用的VAS并没有完全释放,所以建议飞一趟,关一次P3D。



使用777的声音预载入选项
如果你有崩溃问题,我们推荐你选择默认的NONE选项。(没碰过的就忽略这一段,碰过的人自己知道)



总结:
在32位的P3D环境里,你有很多需要注意的地方。你不可能用最好的飞机还把所有最好的地景装上,你肯定会崩溃的。这取决于你,你认为什么是P3D里面最重要的。


优化倒是不用了,因为P3D本身优化就已经做得很好了,如果乱添加语句造成游戏挂了才不好。

发这个帖子的目的其实是为我下一个帖子做铺垫,我学到了一种非常好用的选择性加载地景的方法。这样可以让每次飞行中用不上的地景都不加载。能大大减小VAS。

内容全部是PMDG 777 introduction的里面的,英语好的自己去看,反正是有收获的。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2016-7-27 09:57:07 | 显示全部楼层
感謝分享,最近也VA在研究VAS這方面的東西

点评

要是有成果的话,记得分享一下。。我也遇到过  发表于 2016-7-27 10:05
回复

使用道具 举报

发表于 2016-7-27 10:10:23 | 显示全部楼层
感谢分享,低配的福音

点评

即使是高配也避免不了oom,VAS使用跟配置高低无关  发表于 2016-7-27 18:30
回复

使用道具 举报

发表于 2016-7-27 10:15:00 | 显示全部楼层
我是长航时遇到过这个,感谢提醒,回头好好看看自带的introduction
回复

使用道具 举报

发表于 2016-7-27 10:42:03 | 显示全部楼层
终于知道为什么要用64位了请问FSX也会这样吗?

点评

当然会啊。steam有个“飞行学院”,它是64位程序。是FSX的进化版  发表于 2016-7-27 10:44
回复

使用道具 举报

发表于 2016-7-27 12:04:45 | 显示全部楼层
就需要楼主这样的科普 造福我等小白 顶
回复

使用道具 举报

发表于 2016-7-27 12:35:52 | 显示全部楼层
不知道是不是真的,我发现只要最小化一次FSX,然后帧速率就会大幅度提升,回到刚进去时候的帧速率

点评

额。。。我看错了。。最小化再打开很容易卡死。。。哈哈哈哈  发表于 2016-7-27 15:17
但不知道是不是最小化可以释放一部分内存  发表于 2016-7-27 13:04
FSX是需要自己去优化的,P3D不用  发表于 2016-7-27 13:01
回复

使用道具 举报

发表于 2016-7-27 14:58:36 | 显示全部楼层

就需要楼主这样的科普 谢谢
回复

使用道具 举报

发表于 2016-7-27 16:12:52 | 显示全部楼层
好!感谢楼主
回复

使用道具 举报

发表于 2016-7-27 16:57:42 | 显示全部楼层
支持!期待LZ的关于怎么让P3D只加载飞行途经的路线上的地景的帖子
回复

使用道具 举报

发表于 2016-7-27 17:08:11 | 显示全部楼层
今天试了,一样的,地景,地形,效果-全关,windows任务管理器的内存使用确实小很多,但是VAS一样,到以往溢出的那个区域一样会到4G溢出...
回复

使用道具 举报

发表于 2016-7-27 17:47:01 | 显示全部楼层
再卡也没遇到过,不过支持一下。
回复

使用道具 举报

发表于 2016-7-27 18:10:17 | 显示全部楼层
soga,这个对应FSX,为什么FSX以前容易崩溃,除了优化问题之外,还有就是VAS。
回复

使用道具 举报

发表于 2016-7-27 19:22:58 | 显示全部楼层
我是来凑热闹的

点评

挨踢大神都默默地看我装逼。。。。。。  发表于 2016-7-27 19:55
回复

使用道具 举报

发表于 2016-7-27 19:56:01 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2017-2-13 15:59:19 | 显示全部楼层
感谢0948老师的这篇文章!最近飞SOC一直本科,有冲动的反应。
这下对于解决崩溃问题是一个好办法。
回复

使用道具 举报

发表于 2019-2-10 01:03:49 | 显示全部楼层
感谢分享,低配的福音
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表