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

2.9 KiB
Raw Blame History

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以避免输入供应不足和输出堵塞

说明

  • 如果发现有任何研究站不工作,只需保存并重新加载游戏即可暂时解决。

已知问题

  • 在研发模式下,你会发现堆叠研究站的进度圈运行得更快
    • 这是正常的,因为计算机制的原因,它并不会改变真实的消耗和产出
    • 进度速度实际上是乘了堆叠层数