1
0
mirror of https://github.com/soarqin/DSP_Mods.git synced 2025-12-09 01:33:33 +08:00
Files
DSP_Mods/LabOpt/README.md
2024-01-08 23:08:02 +08:00

65 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# LabOpt
#### Performance optimizations for Matrix Labs
#### Marked as obsoleted temporarily, needs more investigation about LabComponent's mechanism
#### 优化研究站性能
#### 暂时标识为过期需要更多关于LabComponent机制的研究
## Updates
* 0.3.6
+ Fix a critical problem that cause labs not working, as well as optimizations in some functions.
* 0.3.5
+ Add some codes to avoid labs malfunctioning on stacking.
* 0.3.4
+ Fix various crashes on recipe/research mode changing on labs that are not base level.
* 0.3.3
+ Add a lock to `PlanetFactory.PickFrom()` to avoid thread-conflicts.
* 0.3.2
+ Separate large block locks into small locks to improve performance.
* 0.3.1
+ Add some locks to avoid thread-conflicts.
* 0.3.0
+ Reverse changes of 0.2.0, and rewrite most of codes to make better performance with less patches.
* 0.2.0
+ New mechanism to update `LabComponent.needs()`.
* 0.1.0
+ Initial release.
## Features
* Greatly reduce CPU usage of Matrix Labs without changing gameplay logic.
* Discard some calls on Matrix Labs that are stacked on others.
* Only keep calls of manufacturing and researching.
* All materials and products are stored in the base level of Matrix Labs.
* Thus this MOD discards all item pulling up and down actions.
* Manufacturing and researching uses items from base level and output to base level directly.
* UI on Matrix Labs shows count of items in base level always, but displays working progress for current level.
* Insert into or pick from any level of Matrix Labs apply to base level actually.
* Increased capacity input and output of Matrix Labs to 15 and 30, to avoid lack of supply or output jam.
## Notes
* If get any lab not working, just save and reload the game to fix it as a temporary solution.
## Known issue
* In researching mode, you will find the progress circle runs faster on stacked Labs
* This is normal due to mechanism of calculation, it does not change the real consumptions and output hashes.
* Progress speed is multiplied by stacked levels indeed.
## 功能
* 在不改变游戏基础逻辑的前提下大幅降低研究站的CPU消耗
* 去除非底层研究站的许多调用
* 只保留制造和研发的函数调用
* 所有物品都存储在研究站的底层
* 因此该MOD去除了所有的物品上下传输
* 制造和研发使用底层的物品并将产物直接送到底层
* 研究站的UI始终显示底层的物品数量但显示当前层的工作进度
* 向任意层放入或取出物品实际上都是对底层的操作
* 增加研究站的输入和输出容量到15和30以避免输入供应不足和输出堵塞
## 说明
* 如果发现有任何研究站不工作,只需保存并重新加载游戏即可暂时解决。
## 已知问题
* 在研发模式下,你会发现堆叠研究站的进度圈运行得更快
* 这是正常的,因为计算机制的原因,它并不会改变真实的消耗和产出
* 进度速度实际上是乘了堆叠层数