[教程] 坎巴拉内存拯救计划

您所在的位置:网站首页 epic占用内存 [教程] 坎巴拉内存拯救计划

[教程] 坎巴拉内存拯救计划

2023-07-23 00:08| 来源: 网络整理| 查看: 265

全文共2763字,预计阅读时间10分钟,推荐电脑网页端阅读以便实际操作

请问您今天要来点Oops吗?前言

《坎巴拉太空计划》自从诞生之初,玩家们就一直在与高内存占用造成的游戏崩溃不断斗争。游戏崩溃可能发生在任何时候,它毫不留情,简单利落,只留下冰冷的崩溃对话框与屏幕前沮丧的玩家。

游戏制作组和玩家并没有被击倒,他们以各自的努力改善游戏体验:

KSP 1.1版,游戏引擎升级到Unity 5,64位客户端终于稳定可用

Active Texture Management (MOD)可以主动压缩贴图以节约内存使用

Texture Replacer (MOD)可以主动卸载未使用贴图以节约内存使用

玩家主动调用OpenGL降低内存使用,但游戏性能可能降低

如今在制作组的不断努力下,游戏日趋稳定,玩家可以尽情享受稳定的64位客户端带来的大内存福利。

居安思危,能否在64位客户端无限制内存使用的基础上同时节省内存使用呢?

答案是肯定的,只需调用DX11。

效果展示

KSP 1.3.1 原版未装MOD 最高画质

默认使用DX9时,内存占用2293MB

指定使用DX11时,内存占用1211MB,降低47.2%

不够刺激?那我们来点认真的!

KSP 1.3.1 安装大量MOD 最高画质

默认使用DX9时,内存占用6887MB

指定使用DX11时,内存占用4161MB,降低39.6%

使用前提

电脑配备了支持DX11的独立显卡,显存建议至少为1GB

若不清楚是否支持DX11,搜索“显卡型号+DX11”

Intel核芯显卡与AMD APU未测试,不保证效果

操作系统为Windows Vista或以上,其中Vista需要安装DX11升级补丁

使用方法

如果使用Steam启动

1. 在“库”中右键单击游戏,打开“属性”窗口

2. 点击“设置启动选项”,在文本框中输入以下内容并确定:

    注意,没有空格!

-force-d3d11

3. 使用Steam启动时即可调用DX11,选择“Launch KSP (64-bit)”以使用64位客户端

    仅当在游戏页面点击“开始”才会出现此菜单,否则均默认启动32位客户端

如使用32位操作系统,则保持默认

如果不使用Steam启动

1. 游戏安装目录下找到“KSP_x64.exe”,创建一个快捷方式。这里以创建桌面快捷方式为例

如使用32位操作系统,则对应“KSP.exe”

2. 右键单击刚刚创建的快捷方式,打开“属性”窗口

3. 找到“目标”文本框,从最后添加以下内容并确定:

    注意,开头是空格!

 -force-d3d11

    此处的完整内容例子:

"D:\SteamLibrary\steamapps\common\Kerbal Space Program\KSP_x64.exe" -force-d3d11

    一些情况下可能没有引号,例如:

D:\KSP\KSP1310\KSP_x64.exe -force-d3d11

4. 使用该快捷方式启动即可调用DX11

进阶操作

确认游戏成功调用DX11

方法1. 启动游戏后,打开游戏安装目录,找到KSP.log,如果有“Direct3D 11.0”字样,则成功调用DX11

方法2. 观察游戏的内存占用变化,明显减少则成功调用DX11(废话)

强制Steam默认启动64位客户端同时调用DX11

1. 在游戏属性中,打开“本地文件”选项卡,点击“浏览本地文件”

2. 点击箭头所指位置,获得游戏安装路径,全选并复制。例如这里是:

D:\SteamLibrary\steamapps\common\Kerbal Space Program

3. 在游戏属性中,打开“常规”选项卡,点击“设置启动选项”,在文本框中输入以下内容并确定:

    注意英文引号与空格!

"刚才复制的地址\KSP_x64.exe" %command% -force-d3d11

此处的例子:

"D:\SteamLibrary\steamapps\common\Kerbal Space Program\KSP_x64.exe" %command% -force-d3d11

4. 无论从Steam创建的桌面快捷方式、开始菜单快捷方式、Steam程序内、Steam图标右键菜单启动KSP,都会启动64位客户端同时调用DX11

兼容性问题/BUG

原版游戏目前无任何问题

少数美化类MOD可能不兼容或存在BUG

Kronal Vessel Viewer (MOD)在DX11下无法正常使用

如果你认为确实遇到了兼容性问题/BUG:

取消或删除上文提到的所有修改,使用默认的DX9进入游戏,检查兼容性问题/BUG是否继续存在

如果问题/BUG消失,则可以确定是DX11带来的问题,欢迎提供相关反馈

FAQ

Q:为什么调用DX11可以降低内存占用?

A:个人猜测在DX11下贴图会直接载入独立显存中。

例子:KSP 1.3.1 安装大量MOD 最高画质

使用DX9时,独立显存占用0.6GB

使用DX11时,独立显存占用2.7GB

Q:为什么调用OpenGL也可以降低内存使用,但游戏性能可能降低?

A:根据本人曾经于1.1.3版本做的测试《DX9、DX11和OpenGL同平台下简单性能对比》(贴吧水帖),节省内存的原理与DX11相同,性能较低可能为驱动优化不足或OpenGL自身效率低下。

Q:为什么以前只听说过调用OpenGL?

A:因为在KSP 1.1版本前,也就是使用Unity 5引擎前,调用DX11会造成影响体验的BUG以及MOD兼容问题,而OpenGL并不会。

Q:为什么OpenGL不会遇到问题?

A:个人猜测因为Mac版和Linux版都只能使用OpenGL,故开发游戏时已经解决了问题,且MOD开发时一般也考虑了OpenGL兼容性。

Q:如何调用OpenGL?

A:将此文章中的“d3d11”替换为“opengl”即可。

Q:能不能调用DX10/DX12/Vulkan?

A:不能,游戏不支持。

杂谈

本文首发于本人简单博客:

https://github.com/Duck1998/Duck1998.github.io/issues/4

B站专栏版为适应编辑器的有限功能修改了部分排版以及内容,同时省略了后记与附录。

由于B站专栏目前无法二次编辑,以下情况敬请谅解:

未能检查出的错别字

未能规避的屏蔽敏感词

未能实时更新的MOD兼容性问题

阅读体验更佳且保持更新的原始文章请移步博客。

KSP公益广告

没有伸手,就没有伤害。

本人搭建的可能是KSP中文游戏圈最完善的MOD大楼:

百度贴吧-坎巴拉太空计划吧《MOD大楼目录》欢迎您的光临。

@tigerduck98就是我题图

如果你喜欢这篇文章,希望让更多KSP玩家看见,请点赞和分享

如果你觉得文章写得不错,想要鼓励up主,请随意投币

如果你想以后能够轻松找到这篇文章,请使用收藏功能

如果你想未来第一时间阅读高质量的KSP相关教程与MOD介绍,请关注up主



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3