本帖最后由 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,看这个帖子:
运行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的里面的,英语好的自己去看,反正是有收获的。
|