crbd115 Posted October 22, 2020 Share Posted October 22, 2020 15 minutes ago, DigiFort said: I am just wondering if it is even possible with our current machines which can barely handle a large colony on a single asteroid to have multiple colonies on multiple asteroids. I have an i7 6700K which sort of struggles with really large colonies so how will it support multiple colonies possibly big ones. How much of a beefy processor will the dlc need? Is it even possible with our current tech to play the DLC? Sorry but I just don't see how we will be able to fit so many added calculations with out current processors limit. Personally i think they're just going to end up shrinking colonies so that you have mutliple medium sized bases each having different biomes rather then one big base with almost all the biomes Link to comment Share on other sites More sharing options...
DigiFort Posted October 22, 2020 Share Posted October 22, 2020 8 minutes ago, crbd115 said: Personally i think they're just going to end up shrinking colonies so that you have mutliple medium sized bases each having different biomes rather then one big base with almost all the biomes I see. Well that is sort of disappointing(but understandable) cause it doesn't really add to the game but segregates it. It does at least pose some new interesting challenges though. Anyway I wish one day we can have processors that can handle 100 of these big colonies no sweat. What a glorious day it will be. No lag 1000fps Oxygen not included. Link to comment Share on other sites More sharing options...
crbd115 Posted October 22, 2020 Share Posted October 22, 2020 16 minutes ago, DigiFort said: I see. Well that is sort of disappointing(but understandable) cause it doesn't really add to the game but segregates it. It does at least pose some new interesting challenges though. Anyway I wish one day we can have processors that can handle 100 of these big colonies no sweat. What a glorious day it will be. No lag 1000fps Oxygen not included. honestly i dont think this is an issue i think for the most part big colonies just end up being a lot of wasted space which creates lag, thats one thing i like about the islands mod, since there is so much vacuum space it lowers the lag ive had in the late game Link to comment Share on other sites More sharing options...
gabberworld Posted October 22, 2020 Share Posted October 22, 2020 2 hours ago, DigiFort said: I see. Well that is sort of disappointing(but understandable) cause it doesn't really add to the game but segregates it. It does at least pose some new interesting challenges though. Anyway I wish one day we can have processors that can handle 100 of these big colonies no sweat. What a glorious day it will be. No lag 1000fps Oxygen not included. it is not processor what cause lag. year 2000 pentium 4 pc, formel 1 3d game 100% cpu usage, now that what i may say that cpu hit his limits. this game not even close to 100% to gpu or cpu Link to comment Share on other sites More sharing options...
Guest aresd Posted October 22, 2020 Share Posted October 22, 2020 maybe with the update we will get a great optimization Link to comment Share on other sites More sharing options...
Gurgel Posted October 22, 2020 Share Posted October 22, 2020 3 hours ago, gabberworld said: it is not processor what cause lag. year 2000 pentium 4 pc, formel 1 3d game 100% cpu usage, now that what i may say that cpu hit his limits. this game not even close to 100% to gpu or cpu You need to look at the cores. If you have 4 cores and 2 are at 100% and to are at 0%, typical tools will report that as 50% load. Bit if the software can onky use 2 cores, this is really 100%. Link to comment Share on other sites More sharing options...
gabberworld Posted October 22, 2020 Share Posted October 22, 2020 29 minutes ago, Gurgel said: You need to look at the cores. If you have 4 cores and 2 are at 100% and to are at 0%, typical tools will report that as 50% load. Bit if the software can onky use 2 cores, this is really 100%. yes and if app made at 1 core then at 4 core pc it can only use 25% max. maybe they not use this. https://docs.unity3d.com/Manual/GPUInstancing.html dunno really if that would help for them Link to comment Share on other sites More sharing options...
Beowulfe Posted October 22, 2020 Share Posted October 22, 2020 5 hours ago, gabberworld said: yes and if app made at 1 core then at 4 core pc it can only use 25% max. maybe they not use this. https://docs.unity3d.com/Manual/GPUInstancing.html dunno really if that would help for them GPU instancing is irrelevant for this case, that's specifically to instance models/shaders so less information has to be passed to the GPU. The throttle isn't the rendering data, it's the CPU calculations, which are heavy in a game like this and very difficult to optimize. They've done a lot of work on multithreading where they can, which is the best approach they can take. Link to comment Share on other sites More sharing options...
gabberworld Posted October 22, 2020 Share Posted October 22, 2020 1 hour ago, Beowulfe said: GPU instancing is irrelevant for this case, that's specifically to instance models/shaders so less information has to be passed to the GPU. The throttle isn't the rendering data, it's the CPU calculations, which are heavy in a game like this and very difficult to optimize. They've done a lot of work on multithreading where they can, which is the best approach they can take. i not say at all that they make bad job, game is great, idea is super. but there is always methods where you may find better solution Link to comment Share on other sites More sharing options...
Steve8 Posted October 22, 2020 Share Posted October 22, 2020 1 hour ago, gabberworld said: i not say at all that they make bad job, game is great, idea is super. but there is always methods where you may find better solution No. ONI still has room for improvement, but at some point you're at the end of what is feasible. Factorio is about as optimized as it can get. To the point where memory latency is actually the main limiting factor. Not CPU speed. They've also found out that it's incredibly difficult to parallelize things. You can multithread discrete game systems and many games do it, but when you try to multithread things that interact with each other you run into huge issues. Eventually it's not worth the work. This fantasy that people have where you have X threads and they all do an equal amount of work is just that. A fantasy. In practice you have a main thread still doing most of the work and some secondary threads doing isolated things. Link to comment Share on other sites More sharing options...
gabberworld Posted October 22, 2020 Share Posted October 22, 2020 1 hour ago, Steve8 said: No. ONI still has room for improvement, but at some point you're at the end of what is feasible yes correct there always also limit, mostly because off hardware self. Factorio is made at sdl what is designed for 2d games. that is one reason why Factorio can have allot more tiles Link to comment Share on other sites More sharing options...
Gurgel Posted October 22, 2020 Share Posted October 22, 2020 59 minutes ago, Steve8 said: No. ONI still has room for improvement, but at some point you're at the end of what is feasible. Factorio is about as optimized as it can get. To the point where memory latency is actually the main limiting factor. Not CPU speed. They've also found out that it's incredibly difficult to parallelize things. You can multithread discrete game systems and many games do it, but when you try to multithread things that interact with each other you run into huge issues. Eventually it's not worth the work. This fantasy that people have where you have X threads and they all do an equal amount of work is just that. A fantasy. In practice you have a main thread still doing most of the work and some secondary threads doing isolated things. As somebody that has implemented some actual performance critical multi-threaded software, I fully agree. You always get some locking and queuing you need to do and if you try to optimize that, you often get very complex solutions that are simply not worth it: Minor speed improvement, major increases in complexity. And often some central, single-thread things are the fastest solution. For example, in a task-scheduler that often happens, because that thing needs to keep everything in view. If you try to multi-thread it, it may well get slower. (Yes, that happens.) Other things can easily be parallelized, for example fluid and gas pipes and electrical wires can each run in their own thread because they do not directly interact, and Klei has done that for ONI a while ago. But other things are tricky or cause a lot of additional problems when they run in multiple threads. Coding parallel software and algorithms was a big topic back when I studied CS 30 years ago. There were already systems that could support massive numbers of threads and also CPUs (Transputer) with pretty decent performance for that time. But what did kill them eventually was not that the hardware did not work or was too expensive. What killed them was that many problems do not benefit at all from being and others benefit only to a small degree and, in addition, that writing parallelized software is massively more complicated and hence massively more expensive. Suddenly you may need things like a communication management system in addition to your actual code! Or you find that your system is doing 98% coordination and 2% actually working on your code. Hence the idea of parallel software is quite old and has never completely failed, bit there are pretty hard limits what they can do. Linus (of Linux fame) said a while ago that a typical desktop user will probably never need more than 4 or 8 cores and that is not far from the truth. There are just no workloads that you can meaningfully user more cores for. The only thing that could eventually make a difference is if there is some breakthrough in AI. But that may or may not happen and will not happen anytime soon. For ONI, all this gets worse, because it is (soft) real-time. It is ok if a dupe stands around "pondering" now and then. But if it happens to often, players get annoyed. Hence there are a lot of heuristics in there when to actually send, for example, dupe X to do something and the more parallelized this happens, the more overhead (i.e. complexity, coding effort and slow-down) this causes for coordination between the different threads. Link to comment Share on other sites More sharing options...
TonTro Posted October 22, 2020 Share Posted October 22, 2020 I love it where this thread ended up heading And don't get me wrong... I work in Mobile App development so I enjoy technical things, but the fact that people ended up talking about multi-threaded processing in a thread called "Oxygen Not Included DLC Roadmap July 2020" is just fascinating. I think this shows exactly how much "super fans" are waiting for this DLC. Keep on going! Link to comment Share on other sites More sharing options...
spkthed Posted October 22, 2020 Share Posted October 22, 2020 This thread direction makes me happy Cool to see people nerding out. For us laypeople, the rule of thumb I use is 20% of the time to get 80% of the way, and 80% for the rest. Definitely tradeoffs out there. As an aside, I've come to love Factorio recently, but I wouldn't trade what ONI is for anything, optimized or no. Historically there have been issues, but the game in it's current state is playable right until the 'I'm bored' point thousands of cycles in. Link to comment Share on other sites More sharing options...
Sebastiangperez Posted October 22, 2020 Share Posted October 22, 2020 1 hour ago, TonTro said: I love it where this thread ended up heading And don't get me wrong... I work in Mobile App development so I enjoy technical things, but the fact that people ended up talking about multi-threaded processing in a thread called "Oxygen Not Included DLC Roadmap July 2020" is just fascinating. I think this shows exactly how much "super fans" are waiting for this DLC. Keep on going! Its seems that this game is played by many programmers, is like ONI its a game made for programmers. Link to comment Share on other sites More sharing options...
Beowulfe Posted October 23, 2020 Share Posted October 23, 2020 1 hour ago, Sebastiangperez said: Its seems that this game is played by many programmers, is like ONI its a game made for programmers. It's the perfect haven for problem solvers. Link to comment Share on other sites More sharing options...
watummok Posted October 23, 2020 Share Posted October 23, 2020 19 hours ago, Gurgel said: As somebody that has implemented some actual performance critical multi-threaded software, I fully agree. You always get some locking and queuing you need to do and if you try to optimize that, you often get very complex solutions that are simply not worth it: Minor speed improvement, major increases in complexity. And often some central, single-thread things are the fastest solution. For example, in a task-scheduler that often happens, because that thing needs to keep everything in view. If you try to multi-thread it, it may well get slower. (Yes, that happens.) Other things can easily be parallelized, for example fluid and gas pipes and electrical wires can each run in their own thread because they do not directly interact, and Klei has done that for ONI a while ago. But other things are tricky or cause a lot of additional problems when they run in multiple threads. [...] The gas/heat calculations are embarrassingly parallel due to how ONI implements them. You can divide into nxm regions and there is not even a need for locking. At boundaries you can use the existing tiebreak for gas movement and it will just work. With how oni calculates you'd be adding 2-4 extra rows+columns of tile to each region's calculation depending on what you chose for n/m and that'd be the entirety of the overhead. (min 2 because they use a periodic boundary condition in the simulation, 1 if they didn't, kind of an irrelevant sidenote given you only hit the minimum if you divide into 2 regions) Dupe scheduling is an interesting subject and would be fun to create optimized parallel & single threaded algorithms for. On the naive end, just sending batches of dupes to each thread to create individual priorities and then doing elimination on a single thread afterward should be a performance boost over what's there now. I'm not convinced that's the "correct" approach, but it seems like you'd be doing close to what's done now and just brute forcing it. I don't think ONI is going to parallelize anything given it wasn't written with it in mind. There are far less time consuming optimizations they could do first (like in pathfinding another area I love), and given there are limited resources dedicated to the game there are far more important features/fixes to tackle. My assumption for the DLC is they will run each asteroid in a separate thread. The easiest way to parallelize any simulation is to run multiple independent instances of your existing simulation. This assumption is because the simulations are entirely independent and the only communication between threads would be when you launch a rocket to send things between worlds. I'll be fairly surprised if they don't take this approach, because this doesn't require changes to any game systems except those that must change with the DLC to begin with. Link to comment Share on other sites More sharing options...
Guest aresd Posted October 23, 2020 Share Posted October 23, 2020 OH MY GOD............... Link to comment Share on other sites More sharing options...
Gurgel Posted October 23, 2020 Share Posted October 23, 2020 Something is definitely happening.... Link to comment Share on other sites More sharing options...
Guest aresd Posted October 23, 2020 Share Posted October 23, 2020 Just now, Gurgel said: Something is definitely happening.... I can't sleep now Link to comment Share on other sites More sharing options...
Gurgel Posted October 23, 2020 Share Posted October 23, 2020 2 hours ago, watummok said: My assumption for the DLC is they will run each asteroid in a separate thread. The easiest way to parallelize any simulation is to run multiple independent instances of your existing simulation. This assumption is because the simulations are entirely independent and the only communication between threads would be when you launch a rocket to send things between worlds. I'll be fairly surprised if they don't take this approach, because this doesn't require changes to any game systems except those that must change with the DLC to begin with. Same here. That would very likely be easy to do and it would prevent slowdowns as long as there are enough cores. As most people have 4 cores or more these days and ONI currently uses only 2, this is the obvious and least problematic way to go. Link to comment Share on other sites More sharing options...
Guest aresd Posted October 23, 2020 Share Posted October 23, 2020 I think they are preparing a patch note and a solemn post Link to comment Share on other sites More sharing options...
Gurgel Posted October 23, 2020 Share Posted October 23, 2020 1 minute ago, aresd said: I think they are preparing a patch note and a solemn post If I were them, I would go with "It is done. Well, maybe. As we had Meep and Stinky do the final coding, expect some problems. Please go get it and write tons of bug reports for the beta!" Link to comment Share on other sites More sharing options...
Guest aresd Posted October 23, 2020 Share Posted October 23, 2020 Nobody sleeps today! Looks like the developers decided to make our weekend happy! * went to look for all my money * Link to comment Share on other sites More sharing options...
unbalance Posted October 23, 2020 Share Posted October 23, 2020 12 minutes ago, aresd said: Nobody sleeps today! Looks like the developers decided to make our weekend happy! * went to look for all my money * OMG.. OMG.. asdhasdkjasldjaksjdsa Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.