Developer Ipsquiggle Posted September 25, 2019 Developer Share Posted September 25, 2019 Hello friends! I'm pretty excited about this patch: We've done a big performance pass and removed a lot of spikes, leading to a smoother experience in every colony we tested. We've been working on some new internal performance profiling tools, and they've given us some great insights into new areas of the code that have been causing slowdowns and stutters. The trickiest part of optimization is that there's rarely ‘One Big Fat Slow Thing’ that we get to make faster. Instead, there are usually dozens of small, unrelated algorithms that only cause problems in certain situations, and whose problems aren't visible until other systems access them, and so forth. Because of this, the new tools have allowed us to track down a lot of nonoptimal code that we weren't able to find before. We've also fixed a number of other bugs and crashes, as well as taking a serious pass on the organization and presentation of the codex. Because these changes are made across a wide range of systems throughout the game, we're going to run a one-week testing branch on Steam to ensure the changes are stable before we push these out on all platforms. (Instructions on joining the test branch are at the bottom of this post.) Please hop on to the testing branch and let us know if your colony behaves strangely! Bug reports and save files are appreciated! We will continue working on performance and bugs for the live release even while we're busy crafting the next phase of Oxygen Not Included. Thank you so much--as always--for taking the time to bring issues and concerns to our attention, and for being part of this game. Optimization Improve performance updating the Build menu Improve performance updating which categories and buildings have been unlocked by research Pokeshells don't check every pickupable to find an egg to guard. Don't update animations when the game is paused. This also fixes a bug which greatly improves framerate right after loading a map. Remove unused Animators from various UI elements which were processing every frame. Use simplified animation for UI elements. Improved performance updating world navigation data. Improved performance for updating animation render groups. Avoid needless calculations when an animation is removed from the scene. Pips looking for seeds search among Plantable Seeds, not all pickupables Fix math error causing many animations to believe they needed updating every frame when they did not. Conveyors now use the same optimized and multithreaded algorithm that the Liquid and Gas pipes do. Improved performance when many items are marked for sweep and drawing their sweep icon. Improved performance when animations are rendered with offset positions. This has an especially big impact on rocket launches, which are now much smoother. Large optimization to the way textures are loaded and freed, improves many colonies. Cost of calculating whether materials are available for delivery is spread out over multiple frames, to prevent a spike every second. Ore which is not marked for sweep no longer tries updating its status text every frame. Also, ore which _is_ marked for sweep no longer tries updating its status text every frame. Pressure vulnerable plants and critters no longer triggering "safe" messages continually. Pressure vulnerable checks are spread across multiple frames, instead of spiking once every second. Optimized the way achievements track stats on buildings, e.g. temperature, building type, and so on. Removes significant performance spikes across frames. Prevent achievement tracker from performing excess calculations when the framerate starts dropping. Many status items are faster to add and remove. Drowning checks are spread across multiple frames instead of spiking once every second. Temperature vulnerable checks are spread across multiple frames instead of spiking once every second. Changed how "building uptime" data is calculated and stored, this should cut down on the size of data stored drastically. Autosave will wait until the mouse button is released before triggering, so no more crazy pipe constructions. Visuals UI image for various ores is no longer blurry. Reduced the red/green saturation of the various sensors and switches. Improved linework on hats with logos. Added missing hats to some animations. Made the arrows on Transformers more visible. The logo on the Power Station matches the other electrician logos. Fixed the position of the Grilled Pacu artwork. Database and UI Tips and Information renamed to Lessons Lessons page moved into a grid of imaged buttons Tutorial Videos are pulled out of the big list of Tips, into their own section of the Lessons page Big list of links to Tips has been compiled into one big article so you don't have to constantly tab back and forth to read the tips. “Plumbing and Ventilation” tutorial video is renamed to “Connecting Pipes”, and is triggered by placing a building that has either a piped input or output. “Morale” tutorial video is now triggered by applying your first Skill Point, or when a Duplicant dips into negative Morale. Hitting "Reset Tutorial Messages" repopulates the list of possible tutorial messages, not just restores messages the player has intentionally hidden. “Digging For Resources” tutorial video is delivered the first time a building is requesting a material that the colony has not yet discovered, OR 7 minutes into the game otherwise if it hasn't happened yet. If a Tutorial Message contains a video, its message gets a Video icon. Rename “Morale” tutorial video to “Duplicant Morale” for consistent spacing. Database search bar can now search for sub-entries like critter morphs, etc. Database entries with only one SubEntry no longer show a table of contents of SubEntries. Reformatting to Critter Database pages to be more readable. Entries (x/y) formatting in the Database is now translatable. Hook up icons for Elements menu in the Database. Building Requirements and Effects in the Database are presented more similarly to how they are displayed elsewhere in the game. Add tooltips to Requirements/Effects for buildings in the Database. Fix build menu recipe details on cooking buildings. Database entries for fabricators display their recipes in a grid. General Remove research requirement on Royal Flush achievement Duplicants weren't properly dead while in containers. This fixes them causing crashes from getting sick but also being dead (and in a container). (Still need to figure out what they are doing in containers...) Fix plants showing "Blocked" after a load. Less flickering when there is a rogue bit of gas floating around plants. Clarify that all mods are being disabled due to a single error, not because they're all broken. Fix bug where transformers stop dissipating after a save/load. Finish construction of replacement tile if underlying object is deconstructed first. Updated Korean translation. Tweaks to Chinese translation. Temperature/Disease Sensors no longer become unresponsive when in a vacuum or no element in conduit. Temperature Sensor initializes network to current value immediately. Conduit Sensors update based on the last value measured when no elements is in the conduit. World name is shown on the load screen. Colony coordinate on the new game screen accepts typed/pasted coordinates. Add the full coordinate and a "copy" button to the worldgen seed on the pause menu Tooltip for Lit Area in Light Overlay no longer erroneously says that working in lit areas improves Duplicant Morale. Worldgen Won't crash if a worldgen has a difficulty value outside of the range of descriptors. Allow spawning worlds that have no start location (new map settings for modders). How to join the testing branch Spoiler If you want to join us for testing, you can download the testing branch through Steam. While the game is not running, right-Click on Oxygen Not Included in your Steam library Click on the "Betas" tab. Chose the Testing branch from the list. To ensure the testing version of the game downloads, go to the "Local Files" tab, and choose "Verify Integrity of Game Files". Please also be aware that once a save is loaded in the Testing branch, it cannot be reopened again in the previous Live branch or previous builds. We recommend you save a copy of you colony for use in the testing branch, or start a new colony. View full update 45 18 Link to comment Share on other sites More sharing options...
Loraty Posted September 25, 2019 Share Posted September 25, 2019 (edited) I love you now! This sounds great. Can't wait to test it. Edit: Also: First! Edited September 25, 2019 by Loraty Link to comment Share on other sites More sharing options...
Lifegrow Posted September 25, 2019 Share Posted September 25, 2019 Hate to say it, but I feel I may have a case of performance patch anxiety.... Good to know you're working on things though, much love! 4 Link to comment Share on other sites More sharing options...
Steve8 Posted September 25, 2019 Share Posted September 25, 2019 Temperature/Disease Sensors no longer become unresponsive when in a vacuum or no element in conduit. I like this too. That was pretty annoying in aquatuner setups 3 Link to comment Share on other sites More sharing options...
Loraty Posted September 25, 2019 Share Posted September 25, 2019 Quick first test: Slightly more FPS, reduced stutter and much faster autosave. But also: My dupes are disinfecting stuff (mostly air-vents) that shows no germs (and has no real way of getting them) every 30 seconds or so. My steam engine runs at half power and the magma below it is cooling much faster than before. The airlocks I'm using to control the heat transfer are closed most of the time while before installing the update they were almost always open. 1 Link to comment Share on other sites More sharing options...
Steve Raptor Posted September 25, 2019 Share Posted September 25, 2019 Oh this is great news! Can't wait to test it, great work Klei! Link to comment Share on other sites More sharing options...
Developer fatheroctopus Posted September 25, 2019 Developer Share Posted September 25, 2019 10 minutes ago, Loraty said: Quick first test: Slightly more FPS, reduced stutter and much faster autosave. But also: My dupes are disinfecting stuff (mostly air-vents) that shows no germs (and has no real way of getting them) every 30 seconds or so. My steam engine runs at half power and the magma below it is cooling much faster than before. The airlocks I'm using to control the heat transfer are closed most of the time while before installing the update they were almost always open. Hi Loraty, could you post your save and we can take a look at the before/after. 2 Link to comment Share on other sites More sharing options...
Loraty Posted September 25, 2019 Share Posted September 25, 2019 The last save before I installed the new version is attached. uc27.sav 1 Link to comment Share on other sites More sharing options...
Cairath Posted September 25, 2019 Share Posted September 25, 2019 (edited) 1 hour ago, Ipsquiggle said: Colony coordinate on the new game screen accepts typed/pasted coordinates. I am grateful for this more than you can possibly imagine Edited September 25, 2019 by Cairath 2 6 Link to comment Share on other sites More sharing options...
Muggins Posted September 25, 2019 Share Posted September 25, 2019 Sounds like a lot of hard work has been going on over there...thank you so much. Quick question: will the beta branch have the usual background data tools that cause slowdowns? Because that might offset the perceived performance improvements. 1 Link to comment Share on other sites More sharing options...
Nitroturtle Posted September 25, 2019 Share Posted September 25, 2019 I'm seeing weird stuff with liquid shutoff valves that should be flowing 100% leaving spaces between packets with brief "blocked pipe" messages. Reloading seems to fix the issue, but I've had it pop up on a couple different liquid shutoffs. 1 Link to comment Share on other sites More sharing options...
Pancakeking78 Posted September 25, 2019 Share Posted September 25, 2019 (edited) Uploading a test save on behalf of Brothgar Give it a whirl and let's see how it turns out Warning: there are a few mods on this save that will most likely break, nothing game-breaking though. edit: by game-breaking, I mean causing crashes. Oasis_Map_Seed_122236_ep36.sav Edited September 26, 2019 by Pancakeking78 Link to comment Share on other sites More sharing options...
chromiumboy Posted September 25, 2019 Share Posted September 25, 2019 This is awesome, thanks for the update! By chance, have you had an opportunity to look into the material displacement bug I reported, that occurs when a cell's properties are changed? 1 Link to comment Share on other sites More sharing options...
Lifegrow Posted September 25, 2019 Share Posted September 25, 2019 (edited) Load times feel worse than using the Fast Save mod. Maybe a slight improvement over the game without mods, however things definitely loaded faster with the mod. @Ipsquiggle / @fatheroctopus Were any changes made re: the excessive logging entries detailed here : Edited September 25, 2019 by Lifegrow 1 1 Link to comment Share on other sites More sharing options...
Developer klei.ruby Posted September 25, 2019 Developer Share Posted September 25, 2019 3 minutes ago, Lifegrow said: @Ipsquiggle@fatheroctopus Were any changes made re: the excessive logging entries detailed here : 1 hour ago, Ipsquiggle said: Changed how "building uptime" data is calculated and stored, this should cut down on the size of data stored drastically @Lifegrow Yep! 1 Link to comment Share on other sites More sharing options...
Lifegrow Posted September 25, 2019 Share Posted September 25, 2019 (edited) 6 minutes ago, klei.ruby said: @Lifegrow Yep! Beautiful thank you. Will do some more tinkering and see how it plays out. Honestly though, for the last 10 cycles I've ran in my old colony, it feels no different performance wise. *Edit* for context - here are a couple of saves to play with, I loaded and played them briefly on both launch release and testing release - i'd argue the testing release actively feels worse. Brassy Blue Balls With FastSave.sav Stream Base for Ipsquiggle.sav Edited September 25, 2019 by Lifegrow 1 Link to comment Share on other sites More sharing options...
Lutzkhie Posted September 25, 2019 Share Posted September 25, 2019 YES!!!! Link to comment Share on other sites More sharing options...
chemie Posted September 25, 2019 Share Posted September 25, 2019 Now I know why I was getting micro sutter every 10 seconds or so. A large bank of "check drowning" or check temps being processed. Great to spread these out. Link to comment Share on other sites More sharing options...
SharraShimada Posted September 25, 2019 Share Posted September 25, 2019 It seems your testing patch broke something. I´m using Nightinggales Piped-Output mod, and the log states: [22:17:08.292] [1] [INFO] Error occurred with mods active. Disabling all mods (unless dev mods active). MissingMethodException: Method not found: 'ConduitFlow.AddConduitUpdater'. at KMonoBehaviour.Spawn () [0x00075] in D:\JenkinsWorkspace\Preview_Simgame_Windows\game\Assets\Plugins\Klei\util\KMonoBehaviour.cs:284 Rethrow as Exception: Error in MethaneGeneratorComplete.PipedDispenser.OnSpawn at KMonoBehaviour.Spawn () [0x000bf] in D:\JenkinsWorkspace\Preview_Simgame_Windows\game\Assets\Plugins\Klei\util\KMonoBehaviour.cs:291 at KMonoBehaviour.Start () [0x00011] in D:\JenkinsWorkspace\Preview_Simgame_Windows\game\Assets\Plugins\Klei\util\KMonoBehaviour.cs:242 The log goes on for every building changed by the mod. Did you removed the used method? Or has it just changed, and the author can update the mod with another call? Link to comment Share on other sites More sharing options...
Cairath Posted September 25, 2019 Share Posted September 25, 2019 11 minutes ago, SharraShimada said: It seems your testing patch broke something. Can't really expect Klei to test patches with mods o.o Conduits related mods just need to be updated. 10 Link to comment Share on other sites More sharing options...
bobucles Posted September 25, 2019 Share Posted September 25, 2019 2 hours ago, Ipsquiggle said: Duplicants weren't properly dead while in containers. This fixes them causing crashes from getting sick but also being dead (and in a container). (Still need to figure out what they are doing in containers...) Dupes get into all sorts of trouble, they even get into code where they don't belong! 5 Link to comment Share on other sites More sharing options...
SharraShimada Posted September 25, 2019 Share Posted September 25, 2019 Just now, Cairath said: Can't really expect Klei to test patches with mods o.o Conduits related mods just need to be updated. I dont expect Klei to test with mods at all. I just wanted to bring this to attention, and if they removed the call, maybe by accident, they can repair it. If not, the mod just needs updating. Mot author is notified. Link to comment Share on other sites More sharing options...
PreliatorMax Posted September 25, 2019 Share Posted September 25, 2019 (edited) The save loads normally the first time but when you pause the game and reload it it'll crash. Maybe it's just my potato computer, but I attached the save. I reloaded the save because I've encountered the liquid shutoff bug mentioned by Nitroturtle. Tortuga Clean Start.sav The save reloads and results in a black screen with NullReferenceException: Object reference not set to an instance of an object. Edited September 25, 2019 by PreliatorMax update Link to comment Share on other sites More sharing options...
Lifegrow Posted September 25, 2019 Share Posted September 25, 2019 (edited) Anyone done any testing with pipe element sensors/shutoffs? they seem to be completely broken for me - i.e. randomly letting the wrong packets through. Also it doesn't seem to allow you to roll your save back to the previous build : @Ipsquiggle / @fatheroctopus / @klei.ruby Edited September 25, 2019 by Lifegrow 3 1 Link to comment Share on other sites More sharing options...
Sebastiangperez Posted September 25, 2019 Share Posted September 25, 2019 Save Game Crashed after 20 minutes. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now