游民星空 > 攻略秘籍 > 攻略 > 正文

上古卷轴5:天际 基础图文教学合集(安装 MOD 画质 跳出 优化 存档)

2014-12-04 11:26:37 来源:3DM论坛 作者:aronchack 我要投稿

第8页:第三章 第1节-减少跳出(1)

展开

前言:

  什么是CTD?

  CTD,就是Crush To Desktop 的简称,也就是在游戏的运行过程中,由于各种不同的原因,游戏进程被挂起或强制中止,而导致退出游戏。

  造成CTD的主要原因有哪些?

  1. 游戏本身系统机制问题(或者说游戏本身的设计缺陷。说起这个,猴纸一会再吐槽)。

  2. Mod的问题。如数量太多,脚本过多,内容相互冲突等。

  3. 机子性能瓶颈,装mod却不切实际,如显存与高清。

  4. 存档问题。

  5. 其它的未知原因。

  在正式讲这个问题之前,我要先声明一点:

  CTD是无法完全解决的,这个在四代就已经被证明过。

  无数大神,高手经过多少努力,也无法完全根除这个顽症。

  而在五代,猴纸通过查阅官网、S网,CK等技术文章,加上自己的试验和分析,认为五代在游戏本身的系统机制上,并没有很大的创新和进步。并且由于现阶段操作系统正处于32位和64位混杂的现实情况下,以B社历来那坑爹的内存机制管理模式,这个问题有可能被进一步放大!

  造成这个原因的祸首,正是上古系列的最大优点,开放性!

  既然无法根除,那我们就想点办法,减少其发生的机率。下面入正题。

第三章 第1节 优化游戏,减少跳出。

一、对游戏运行环境进行优化:

  这里我给大家解释一个误区:所谓的4G补丁!

  这里也是B社坑爹的一个原因。

  他的内存管理机制相当的不好!非常容易溢出。

  我用内存监视器hookWriteMemory和MemView等专业开发工具对上古五进行了长达一周的数据采样,基本上开着这两货玩游戏,其内存释放我都不想吐槽了,尼玛坑爹的是在一个Stack里我发现了三种不同的数据类型,8位FLOAT,8位INT,16位的FLOAT!(当然,这可能是MOD造成的)。

  不过现在十号补丁打上后,从监测数据来看,比七号时好很多了,内存的释放及时多了。

  另外为了证明我的想法,我采取了很多办法,无论我采取什么办法,游戏的内存使用值永远达不到4G,这还包括了当前的显存使用值!

  有几个很典型的例子,他们使用了包括官方4G补丁在内的所有4G补丁,却并没有起到作用,这是为什么?

  答案很简单:上古五是32位软件。(不必和我争,如果它是64位软件,你们的32位XP和WIN7根本就运行不了!B社出作品,必然要考虑到兼容性,这点上官方一查就知道!)

  我这么一说,很多人会恍然大悟,由其是有计算机相关知识的。

  举个例子:我有时玩下设计,机子上装了两个软件,一个是32位的CS3,一个是64位的MAX,很明显对比就是,我用CS3同时打开N多图片,到一定内存占用值时必死无疑!另一个MAX,最高开到6G都行!

  这是由软件的寻址大小决定的,天生的,没法改!

  不明白的请跳转到这里看:点击进入

  不过这个人说的是理论值,在现实值中,一个32位的应用程序,能使用最大的内存大小为3.25G-3.75G之间,这还要算上游戏占用的显存值,部分显存也是要计入寻址编码的。

  所以说,再大的内存,你也只能用这么多。

  并且通常在WINDOWS的默认设置中,32位的应用程序,所能调用内存的值默认是2048(包括在64位系统中运行32位程序也是如此!),现在,我们就来解开这条限制!

  但是我建议WIN7 64,32位系统,同时内存在4G以上的同学,做下面这一步:

  1. 以管理员身份运行CMD(在开始菜单输入CMD,然后在CMD图标上点右键,先管理员运行。)

  2. 在CMD中输入以下命令:

  bcdedit(空格)/set(空格)IncreaseUserVa(空格)3072回车

  重启计算机

  【它的作用是将单进程内存上限可强制修改为3GB】

  (适用于3.25G以上内存)

  想要恢复则输入bcdedit(空格)/deletevalue(空格)IncreaseUserVa回车

  重启计算机【恢复默认】

游民星空

注意三点:

  一是值只能是2048和3072(为什么不能更高你去问微软,微软官方网站有这条命令的说明!)

  二是刚好4G内存的同学注意了,在玩游戏时,不要使用太占内存的软件,要知道,操作系统也是要占一定内存的。

  三是别回来问我,为什么游戏才使用2G多一点的内存?用不到3G?我再说一遍,当前已经使用的显存中,有一小部分显存也要计入寻址空间!

游民星空

  微软官方网站相关说明:点击进入

  此方法对32、64位WIN7,4GB内存以上配置有效,我自己用的就是!用hookWriteMemor监测过,确实能使用多点内存,减少因为内存释放不及时造成的CTD。

  (另外32位系统的同学要注意了,见过不少同学4G以上内存装个32位系统的。见到这些同学我都不好怎么说,加上显卡的显存,你的操作系统只能识别到3.75G左右。即使用了网上的各种方法,例如PAE寻址-这个需要主板硬件支持!所能起的作用也有限。还是那句话,32位系统天生残疾,没辙!那么这些同学在用完这个命令后就要注意了,WIN7最少要占800M内存左右,XP是400M左右,在玩游戏时尽量把别的东西都关了吧!64位系统的话,使用这条命令可能会使你在运行一些64位的程序时也会受到限制,不过没有关系,到时用恢复命令就好了。而且64位软件现在相对较少。)

  这是在系统层面改变进程,不修改游戏任何配置,无毒副作用。

  另外,还可以采用的方法有:清理磁盘碎片,把游戏装到SSD上,这两招对使用了超高清的高清包的同学有明显好处,减少磁盘读取时间。

  补充说明一点,别把WIN7的虚拟内存关掉,哪怕你的内存再大都好。

  我的是8G,我哥们的16G,我们两个都没关,原因是有些应用程序必须要使用到虚拟内存,例如PS等软件。

  担心老头五这玩意也有这么个设定,毕竟新游戏用D9核心,B社什么坑爹的事做不出来,反正我没关过。

  有关过又很稳定的朋友记得回来告诉猴子一声。

二、对游戏本身进行优化:

  1. 对ini文件中的游戏参数进行优化:

  游戏一共有9个和游戏有关的ini文件。

游民星空

  CK官网链接,有兴趣的请跳转:点击进入

  (其实是10个官网上也算少了一个,在游戏的Skyrim目录下还有一个叫Skyrim的文件夹,那还有一个Skyrim.ini,这货有什么作用我一直搞不懂,希望知道的告诉我!)

  我们只根据官网的说明讨论以下两个ini文件,他们会被游戏使用(Used by the game):

  在我的文档\My Games\Skyrim目录下面有两个:

  Skyrim.ini和SkyrimPrefs.ini

  这两个ini的文件其实起的效果差不多,根据CK官网的介绍,以SkyrimPrefs.ini的设置为优先, SkyrimPrefs.ini里的设置会覆盖Skyrim.ini的相同参数的设置。

  关于ini的手工设置教学请参考这两篇大作,写得很好:

  《上古卷轴5:天际》优化设置 SkyrimPrefs.ini 详细解析:点击进入

  感谢红烧茄子兄的努力与试验

  浅见:虽然是来自辐射三的INI设置,但是只要上古五的INI文件有的参数,所起的作用是一样的,大家可以参考,对比一下,明白每个参数的作用。再次感谢茄子兄的努力,我也是拜读了他的大作不下十次。

  Skyrim.ini优化 12.18大更新:点击进入

  感谢CMD本人兄的努力与试验

  对于缓冲的见解很独到。

  [原创] 优化的真正核心—上古卷轴5:天际SkyrimPrefs.ini设置解析:点击进入

  感谢超频爱好者版主的努力。

  对于ini参数在游戏中画面的影响有很独到的见解。

  猴子为什么在这方面不提出自己的见解,是因为以上几位基本上把ini对游戏的影响说到位了,猴子在这方面并不比他们强,甚至不如人家。

  猴子是实在人,这是教学贴,需要的是严谨,就不提出一些子虚乌有见解来哗众取宠了。请谅解。请移步拜读几位的大作!

  大家在看完上面的大作后,对ini设置有一定了解后,想动手设置的话,我给大家推荐一个工具,方便大家设置:

  天际INI详细配置工具(Skyrim INI Tweaker):点击进入

  xiaoma3000版主的汉化

  对于实在是不想自己动手的同学,请下载这个软件:

  【ARROW&KNEE MOD TEAM™】『上古卷轴5优化工具』增加流畅减少顿卡跳出,更新v1.1修复BUG!支持原版、DLC!:点击进入

  BoneAsh的力作,懒人专用,一键搞掂。使用方法我在一楼说了,请自行查阅!

  2. 优化ini中的Papyrus脚本设置(很重要,这方面很多人在认识上有误区!)

  其实这也是在ini中设置,为什么猴纸要单独分开来讲?

  这是因为有关这项设置,有很多人被误导了。

  包括N网的一些设置,N网也是个鱼龙混杂的地方,有高手,也有2B,外国的月亮并不比国内的圆!

  这里都要求在我的文档\My games\Skyrim\Skyrim\Skyrim.ini,找到[Papyrus]组,在其下添加命令行:

  iMinMemoryPageSize=100000

  iMaxMemoryPageSize=5000000

  iMaxAllocatedMemoryBytes=1800000000

  为什么猴子如此断定这些设置并不一定有效,反而有可能会起到反效果呢?

  首先,我们来说说Papyrus的运行机制:

  A. 先给同学们科普一下编程知识:

  机器语言:我们平时玩的游戏也好,用的软件也好,在电脑的眼里,就是一个个0和1的数字。如0111(4位)、11001101(8位),这些二进制代码才是电脑可以执行的命令,我们称之为机器语言。

  汇编语言:比机器语言高级的是汇编语言,基本上所有程序开发,在编译时,都要将我们写好的程序先编译成汇编语言。

  高级语言:简单的说这是为了方便程序员开发的一种平台,使我们不用10101001这样来撸代码,也不用使用冗长的汇编语言来开发。

  一般的程序开发,在开发结束后,会最终编译成电脑可直接运行机器码。

  B.我们来了解一下上古的脚本运行机制有何不同?

  而上古的脚本函数则不然,就算我们这些Modder在开发完毕后,使用CK进行编译后得到的可执行脚本PEX文件,仍然不能直接被电脑所识别和运行,他们仍然要在游戏内核中进行最终编译!

  上图:

游民星空

游民星空

  从上图可以看出,CK只是对源码文件进行了最初的编译,这种编译,仅仅是为了让游戏能识别,这种代码,是不能被计算机直接运行的。

  所以,在最终被游戏调用时,游戏内核还要对脚本PEX文件进行最后编译,以转换为可执行代码。我将其称之为二次编译(2nd Debug):

游民星空

  而我在这里要说的,就是对ini里的参数进行优化,影响我们可以干预的那两步。提高系统性能。

更多相关内容请关注:上古卷轴5:天际专区

责任编辑:Agent

上一页 1 2 3 4 5 6 7 8 9 10 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

游民星空APP
随手浏览游戏攻略
code
攻略合集
单机游戏下载
休闲娱乐
综合热点资讯
游民星空联运游戏