欢迎光临散文网 会员登陆 & 注册

优化相关mod简介与实测

2022-06-29 22:20 作者:机甲海星  | 我要投稿

测试的mod: DSPOptimizations, BulletTime, SampleAndHoldSim

测试存档: 9k白糖, 蓝巨戴森球每分钟发射3w太阳帆+2k火箭

在游戏中可以按shift+F12显示渲染帧率(FPS)和逻辑帧率(UPS)

当渲染帧率过低时(<30),逻辑帧率会降低。反之亦然。

在测试之前的渲染帧率=11,逻辑帧率=22。

分析面板主要逻辑=42.8ms,全部生产线=29.0ms,戴森球系统=11.1ms。

DSPOptimizations

- 增加物流塔入库/出库运算的多线程

- 可以在设置档关闭影子及关闭发射中太阳帆

- 改进戴森球运算逻辑

纯优化mod, 美中不足的地方是和联机mod冲突


细节:

记录每层戴森球的结构点数和细胞点数, 只在变动时更新值。每帧用这个值计算发电量。

只在使用编辑器着色笔刷或细胞点数变动时更新戴森球壳的材质。

只有在太阳帆子弹或建设中戴森球可见时才会同步ComputerBuffer。


测试效果:

> 仓储      2.53ms -> 0.97ms (-1.56ms)

戴森球系统 11.12ms -> 1.45ms (-9.67ms)

> 弹射轨道  7.18ms -> 0.52ms (-6.66ms)

BulletTime

1. 调整游戏速度

将逻辑帧中除了机甲和操控的部分隔离出来

让使用者自行调整它们(工厂,戴森球等)的运算速度

如此一来可以牺牲速度来换取画面的流畅度

2. 背景自动保存

自动保存的期间让游戏进入时停状态避免数据更动。

玩家可以在时停状态中移动或着查看建筑情报。

(因为星球的数据独立性, 也许只要阻止玩家更动全域资料就好?)

3. 加快载入主选单

跳过封面存档的星球模型载入


测试效果:

滑杆设置33% FPS:30|60 (实质逻辑帧20)

总计       43.44ms -> 14.48ms (可承受61逻辑帧)    

滑杆设置25% FPS:60|60 (实质逻辑帧15)

总计       43.44ms -> 11.86ms (可承受72逻辑帧)  

SampleAndHoldSim

将缓速的概念延伸, 并试图维持平均产量不变。

以取巧的方式,藉由牺牲远端星球的模拟精度来提升逻辑帧率。


细节:

把星球上整个工厂看做是一个黑盒, 黑盒内元件运作速度1/x倍, 黑盒的输入输出放大x倍。

如果工厂是稳定的, 则长期下来平均产量会和原本的工厂相同。如果不是稳定的,则会拉长反应时间x倍。

戴森球和运输船仍保持原本速度。 https://b23.tv/BV1oB4y1X78J


测试效果:

设置factory:21 Cycle:3 ticks 

全部生产线 29.07ms -> 11.18ms (-17.89ms)

> 弹射轨道  7.18ms -> 8.29ms (+1.11ms)

设置factory:7 Cycle:9 ticks 

全部生产线 29.07ms -> 5.22ms (-23.85ms)

> 弹射轨道  7.18ms -> 8.41ms (+1.23ms)

综合DSPOptimizations + SampleAndHoldSim达到60FPS

设置factory:12 Cycle:6 ticks 

总计       43.44ms -> 11.07ms (可承受78逻辑帧)  

全部生产线 29.07ms -> 6.45ms (-22.62ms)

戴森球系统 11.12ms -> 1.95ms (-9.17ms)

其他优化相关MOD


辅助多功能mod Auxilaryfunction

渲染帧率: 不渲染系列

逻辑帧率: 停止工厂, 停止戴森球

可以用橙棂九月的戴森球工具箱安装

https://b23.tv/BV1SS4y1X75n


更多图形选项Mod MoreGraphicsOptions

渲染帧率: 设置全局贴图分辨率, 各向异性过滤, 全局阴影模式

https://www.bilibili.com/read/cv10006415


ReBuffer

设置工厂建筑物中物品缓冲仓储的大小

作者说有优化运算, 但实际测试效果不明显


CompressSave (已不相容,尚未更新)

用LZ4压缩存档,优化写入速度

测试效果(使用自己适配游戏的版本):

存档大小 956MB -> 722MB

存档耗时 19.9s -> 4.4s

可惜原作者已经很久没更新了

https://www.bilibili.com/read/cv10201163


Blackbox

将黑盒打包成一个整体运算

需要先花时间分析物流塔和工厂的结构

还没有完全成熟, 比较复杂也较容易出错

以上的Mod都可以在https://dsp.thunderstore.io/找到

推荐使用r2modman模组管理器安装


如果要手动安装记得也要安装前置

例如DSPOptimizations需要安装前置DSPModSave

并且要将zip资料夹里的

patchers\DSPOptimizationsPreloader.dll放到BepInEx\patchers

plugins\DSPOptimizations.dll放到BepInEx\plugins

优化相关mod简介与实测的评论 (共 条)

分享到微博请遵守国家法律