Skip to content

Use compact inserter storage#15

Merged
BloodStainedCrow merged 6 commits intodevfrom
useCompactInserterStorage
Jun 13, 2025
Merged

Use compact inserter storage#15
BloodStainedCrow merged 6 commits intodevfrom
useCompactInserterStorage

Conversation

@BloodStainedCrow
Copy link
Owner

Increases performance significantly. Current largest smooth factory: ~3_000_000 machines running

@BloodStainedCrow BloodStainedCrow changed the base branch from master to dev June 13, 2025 01:34
@BloodStainedCrow BloodStainedCrow merged commit c522d57 into dev Jun 13, 2025
2 of 4 checks passed
BloodStainedCrow added a commit that referenced this pull request Jul 25, 2025
* Improve save load speed

* update rust version

* Add rustup to shell.nix

* Start with beacons

* Start world cascading updates to fix beacons and inserters

* cargo fix

* Fix up instantiate_inserter and adjust tests to work properly

* Add additional items and recipes, move declaration into fgmod file and add replay system, using if for tests

* cargo fmt

* Allow visual test runners to fully work (switch to parking_lot to avoid poison)

* more tests

* Add event for new power poles (allowing new power poles to trigger updates like inserters attaching and beacons)

* Fix power grid merging not emitting storage updates for assemblers and beacon grid id updates not being correct

* Fix beacon test

* Fix Beacon removal

* Add proper profiling using puffin

* Add consumption graph, add (but not use yet) bit packed storage id for inserters

* cargo fix

* Minor Fixes

* Change Position to usze i32

* Add a couple of benchmarks

* Use compact inserter storage (#15)

* First Option

* Huge refactor for better inserters and larger possible power grids

* cargo update

* Simplify assembler update to encourage vectorization (~10% faster on whole factory)

* Fix egui patches

* Add graphics feature

* Enable graphics for vscode debug

* Add initial fluid implementation (#17)

* Add Fluids and blue science data

* Fix bug with key map using old indices

* Add support for removal of storage tanks

* Add raw oil generation

* cargo fix

* Map view (#16)

* Add Endless zoom (Map View)

* Small fixes and todos

* Change tile color to blue for now

* cargo fix

* Add undergrounds

* Lots of infrastructure for building a 8 beacon megabase

* Add todo

* cargo fmt & fix

* fmt

* cargo update

* Add some noise for a couple of ore patches to start implementing mining drills

* Add support for rendering and simulating slower belt speeds

* Update TODOs

* Add proper underground belt support

* Improve Grid merging and allow undergrounds to work in more cases

* Add Defragment button

* Fix belt not allowing sushi

* Use gimli/addr2line

* Fix extremely slow add_pole

* Add experiemnt

* Add hand size to inserter logic

* Pull out belt type so we do not have to load the full belt for it, if the belt does not need to be updated

* Switch rust nightly

* Improve BeltStorageInserter Performance by 30%

* StorageStorage with buckets, using smart search with prediction

* next_tick optimization

* Add fork of petgraph as patch

* Add power drain per tile to bot calculations

* update dependencies

* Add Main Menu and loading screen

* Splitter rework

* Use Inserter Buckets

* Add profiling

* Add variable movetime to storage storage inserters (~3x speed improvement for the whole factory)

* Update petgraph

* cargo fmt

* Add Full Technology support

* Cross Technology off the todo list

* Bit cleanup

* Improve storage_list generation

* Add Technology Cheat button

* Allow SushiBelts to be circular

* Add Client Connection and Escape Menu

* Add graphics to belts (including animations)

* Upgrade to rust 2024

* Update Blueprint logic and add CtrlC

* New blueprints for testing

* Properly support map view

* Fix belt serialize missing a field

* increase speed of debug recipes

* Fix inserter storage change not updating inserter_id

* New blueprint format

* Update blueprints

* Fix PowerPoles being added as chests to blueprints

* Add new technologies

* Fix save game deadlock and crash from failing to update storage_ids on fluid_networks

* Finalize blue_sci bp

* Add items, recipes and tech for purple

* Start working on purple bp

* Change liquid insertion speed

* Add red chip bp

* Fix Power Grid info wrapping

* Fix CtrlC being one tile off

* Add unlock all tech button

* Severely increase speed of placing entities

* Add blueprint mirroring

* Add Purple science base blueprints

* Fix splitters not connecting in the correct position

* Fix purple blueprints

* Fix stone brick recipe

* Fix vertical blueprint flipping

* Add sink technologies for testing SPM

* Fix ghost of old map being in mapview after quitting to main menu

* Minor Cleanup

* New blueprints for assembling the megabase

* Stop puffin from hoggin the mutexes

* Add Sushi belt pruning

* Add some more profiling

* Allow rotating blueprints

* Fix assemblers not correctly attaching to fluid pipes

* allow more in/out count options for recipes

* Fix wrong names on technologies

* Allow disabling puffin

* Remove profiling from tiny functions

* Multithread entity rendering

* Fix belt item iter allocating needlessly and make them lazy

* Spped up rendering

* Remove canonical

* Update placeholder graphics

* Allow assembler rotation

* Add Krastorio 2 assets

* Allow bigger chests

* Add cracking recipes

* Add megabase blueprints
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant