Jump to content

Unplayably low sim speed


Recommended Posts

On my CPU in windows ONI uses about 22% of my CPU which means at least 3.5 threads so since there is no such thing as half core (AMD LOL?) I assume at least 3 fully loaded threads and 1 more not so much. I have 8 core 16 thread CPU. I have no idea what CPU you have but you just ramble about pointless linux compiler that have no real world difference for ONI.

Oh right I forgot windows don't have multiprocessing, you can ONLY run ONE application at the time, forget listening to music while playing game you can not run more than one app. Next screenshot is photoshop magic since I can't open more than one app so i could not open task manager while running my save game from loading oni and making screenshot. My bad.

No your cores on single thread are not 50/50 but 0-100 100-0 0-100 and if you have more cores 0-0-0-100 0-0-100-0 but really fast so task manager sees it as such.

TLDR same spikes same load different OS. Any other wise points?

HrSe[1].png

Link to comment
Share on other sites

4.6 GHz is good. If you can and feel in the mood for it...you could try to get your system to run at 5GHz in turbo on one core the whole time ( 2 kilo aircooler or great water cooling and removal of pc case ). Will give you a few more % ONi speed. :p

However, my previous long feedback on your save file will give you way more in %% back on frame rate.

https://ark.intel.com/content/www/us/en/ark/products/186605/intel-core-i9-9900k-processor-16m-cache-up-to-5-00-ghz.html?wapkw=9900k

Link to comment
Share on other sites

I have 5GHz up to 2 core load. Except that is only on paper. Intel apparently consider 0.00001% load on other cores as loaded core and defaults to 4.7Ghz all core max which windows shows as 4.6Ghz because rounding 4.698 is 4.6... that is reading from core temp.

And 100% load all cores all thread would bounce 4.0-4.5Ghz because I limited TDP to 125W. I mean it's already a space heater I'm not going higher.

Link to comment
Share on other sites

12 minutes ago, cpy said:

I have 5GHz up to 2 core load. Except that is only on paper. Intel apparently consider 0.00001% load on other cores as loaded core and defaults to 4.7Ghz all core max which windows shows as 4.6Ghz because rounding 4.698 is 4.6... that is reading from core temp.

Win task manager displays the correct (turbo) speed, with good cooling one can get to 5 with that cpu ( I lay out boards bare without case + heavy cooling ). However, changing how and what you build in the game can help. If you want to get your save game running more smooth, I can recommend to start the editor and to delete stuff in the game. Then you see what takes the most processing time in your base(s). :p I would recommend to remove all mods until you figured out what things suck the most cpu time in your saves. Good luck :cheerful:

Link to comment
Share on other sites

18 minutes ago, cpy said:

On my CPU in windows ONI uses about 22% of my CPU which means at least 3.5 threads so since there is no such thing as half core (AMD LOL?) I assume at least 3 fully loaded threads and 1 more not so much. I have 8 core 16 thread CPU. I have no idea what CPU you have but you just ramble about pointless linux compiler that have no real world difference for ONI.

Oh right I forgot windows don't have multiprocessing, you can ONLY run ONE application at the time, forget listening to music while playing game you can not run more than one app. Next screenshot is photoshop magic since I can't open more than one app so i could not open task manager while running my save game from loading oni and making screenshot. My bad.

No your cores on single thread are not 50/50 but 0-100 100-0 0-100 and if you have more cores 0-0-0-100 0-0-100-0 but really fast so task manager sees it as such.

TLDR same spikes same load different OS. Any other wise points?

HrSe[1].png

ONI is running on the core in the top 3rd square from the left. The rest of the cores are running whatever else is going on with your OS with some minor usage for resource management. Your FPSes are dropping because you're hitting the capacity for that single core. Because on Windows ONI is a single core execution program.

Windows *can* multiprocess, but it doesn't natively. It relies on the program to tell it when and how to multiprocess (what is called application level multiprocessing or multithreading) otherwise it is an OS that generally does serial execution and something called multitasking.

Linux does multitasking within the multithreading, and it does multithreading within the multiprocessing natively; the Linux OS treats all the cores of a processor as one single core, so when a serial execution algorithm is executed it is broken up by the Linux OS and distributed across the cores (this is from its perspective no different than when a single core processor breaks up a set of instructions for execution); from a certain perspective it is still executing in a strict serial sequence.

The difference between my screenshots of my performance monitor and yours is that when I am executing the game proper 26% on average across all 12 cores of my CPU are being used simultaneous and not blocking to the one single core like in your screenshot. Around 5% of my processing power at any given time is used by the OS and background processes itself; probably closer to 1 to 3% when all programs are closed.

Link to comment
Share on other sites

Please stop talking BS.

Quote

The rest of the cores are running whatever else is going on with your OS with some minor usage for resource management.

This is i9 9900K, idle system usage with ONI not running and everything else being same is following picute minus frist spike because that is just how task manager starts. Before you start posting even more BS i'm gonna stop you there and point to the fact that CPU speed is now 1.2Ghz so idle usage seem higher than it really is. Because idle usage is 4x lower than on full speed.

Serial code is broken up and distributed among cores? What? I repeat what? Are you serious? Do you know how badly this would break code that can not be run in parallel?

You are still limited by one single thread that ONI uses, you can hide it between cores. But it's still there. If you could see step by step CPU usage you would see one single thread spike jumping across cores and creating illusion of 30% load on all cores. Well in that case there is 1 single thread maxing out on core and few others not maxing out cores but they all jump around cores and you can't even see it.

Also some modern CPUs have this thing where some cores are better than others so CPU natively will put low core load on those few cores that can boost highest. (AMD ryzen). Not sure about intel but I guess there might be some sort of that thing going on too.

I need second opinion on your post because I find that you post lot of BS that is completely irrelevant.

Bhsh[1].png

Link to comment
Share on other sites

1 hour ago, DaClown said:

blah blah blah ... (not reading either).

Actually there is only one thing Klei has to compile for difference OS : the SimDLL, everything else is rely on Unity for cross platform compatible, most of them are the same on difference OS.

And for anyone who still think ONI is single-threaded : you're wrong ! Unity is multi-threaded and so ONI. There just one problem : one of them are doing wrong (not sure WHO lel), the multi-threading is poorly implemented that it leads to a conclusion that the game is single-threaded.

And because most of the game codes are C# we can also blame Microsoft for invented a programming framework that focussed too much on the ease of making software and doesn't give **** about performance. In some case the native code run over 9000 times faster than the C#.

Link to comment
Share on other sites

1 hour ago, cpy said:

I need second opinion on your post because I find that you post lot of BS that is completely irrelevant.

DaClown writes BS. I want to show that actually ONI spawns a lot of threads(around 60). It is just they do nothing. I have Ryzen 3500(6 cores, 6 threads). So maximum one thread can use is 16.66%.

proc.thumb.png.ff15676c3f5b8232a3fc826937fca332.png

Main thread uses almost 100% of 1 core. But two threads from SimDLL together can't even use a half.

Summary: Main thread limits game speed. Two SimDLL threads sleep a lot waiting main thread. And a lot of Unity threads sleep in background. Having two cores will speed up game, but having more than 4 will have no effect.

Link to comment
Share on other sites

If the game were better optimized for multithreaded-ness, then there would be sub processes below the exe in task manager.

I haven't seen this. It would otherwise imply that there is a client / server relationship within the game.

What appears to be happening is that one processor is shepherding every thread. This kind of breaks the maintainability of performance as game events increase.

I don't think it matters how much debris you have laying around if you have no where to store it, its simply another sprite icon being drawn on the floor ( this is no different a scenario to a " particle " engine and gpus can handle millions of these, and have them moving ).

The 2080 ti is fully capable.

What this game needs is a deep dive into unity's vulkan api and throw some of the sim physics into properly scheduled sub process threads that can handle OpenCL, or GPUPU, or some custom vulkan for offscreen preprocessing or compositing.

These things would free up the main thread to do more relevant work. Like handle draw calls.

-

The main system that you can turn off that might make a performance difference in the game's current state is disabling the in game sounds. ( volume sliders at 0 - also drops easter egg frownie face some builds ago ).

Link to comment
Share on other sites

It can make a big difference on what, how much and where players build things in the game. :p

In the first weeks of ONi I used storage compactors and figured out that it causes too many dupe calls to sort and fetch stuff. Since then I never touched them again and I don`t build them. There is elements in the game which can suck the game fps down to the floor.

The last time I used the manual  "Sweep command" in the game was 2 years ago or so. Will check out ONi mods in a few years, when the game is kind of " more done", crash free for me and more Klei optimized. :rolleyes:

I also love to mass produce stuff, but at some point it does make sense to destroy buildings/critters, paths or delete mass produced items and just to simplify automation or other things. Its game fun/complexity vs game speed, a tradeoff which lays in the hand of the player.

In 2 years or so, as hopefully the hardware crysis is over and there is perhaps a cpu with 5000 single threading score...Then I will build a new ONi PC :adoration:

https://www.cpubenchmark.net/singleThread.html

image.thumb.png.7aeeea85e80ef48b572d78bf3f8331fc.png Balloon party digging !

image.png.39b55c98fbf01b9c5f8a45621a6dfc27.png Simplify your colony pipe layouts, yet build 1 million pipe pieces ! @Ipsquiggle

Link to comment
Share on other sites

Lot of debris on ground cause heat exchange calculations. I finished storage consolidation and reorganization to my storage compactors and i have like 2-3x more FPS. I still use storage compactors but I switched from lot of things in one compactor to 1 thing per compactor and I don't have huge lags.

Could be better I guess. Maybe one giant storage pile would do. I'll try that next I think. This means that this game could use lot more optimizations. There are plenty areas left to improve.

This is why I love factorio, you will run out of patience before you lag out factorio. Unless you're building insanely insane things.

Link to comment
Share on other sites

57 minutes ago, cpy said:

Lot of debris on ground cause heat exchange calculations. I finished storage consolidation and reorganization to my storage compactors and i have like 2-3x more FPS. I still use storage compactors but I switched from lot of things in one compactor to 1 thing per compactor and I don't have huge lags.

Could be better I guess. Maybe one giant storage pile would do. I'll try that next I think. This means that this game could use lot more optimizations. There are plenty areas left to improve.

This is why I love factorio, you will run out of patience before you lag out factorio. Unless you're building insanely insane things.

Factorio has an insane in depth tech development history, I played it from day 1 of its public release. The game was so good, I played a hole week in a hotel in Greece. When "Electrification" was introduced to the game, it was rather easy to grind the game to a halt by building lots of electric stuff. The "Stats Graph" implementation was hell for quite some time as it had been introduced. The guy who started the game is incredible in to optimization and only takes on staff which is optimization focussed. The whole graphic system is and was a whole lot simpler IMHO compared to the whole ONi animation barrage. It took Factorio devs years to improve the games graphics and it will be a never ending task. If one builds 500 artillery cannons or flame throwers nowadays in Factorio, with such things its easy to grind the games fps down. It took Factorio years ( without using mods ) to not get stuck in trees as example...and years of getting the Factorio mod support to where it is now.

The great train system...In the beginning of Factorio the smoke and all kind of effect graphics sucked the game speed like hell. The trains...Ah, awesome ! :love-struck:

i-like-trains.gif

Nowadays Factorio plays great, those who experienced lots of crash orgies in its beginning years know what the game went through. Many years ago back then I complained about the lack of Factorio multicore cpu support in their forums. If one starts playing Factorio now...Its a nice cakewalk and a well developed product.

Its good to complain about game speed...On the other hand its also down to the player what they build in the game, as Factorio and ONi ( mostly ) do not limit building lots of stuff. :p

I complained about ONi storage compactors and debris calculations 2 years ago :lol: With the sandbox editor its good to investigate what sucks down the frame rate.

Sim vs fun vs complexity vs crashyness vs gfx-looks vs compability vs budget/human-resources vs player-builds-it-all vs hardware/software vs game speed.

One of the reasons why I play Oni is the construction freedom, industry, the "Lemmings factor", stacked rockets and reactors :rolleyes:

Link to comment
Share on other sites

24 minutes ago, babba said:

Its good to complain about game speed...On the other hand its also down to the player what they build in the game, as Factorio and ONi ( mostly ) do not limit building amounts of stuff.

While i agree with your point here, truth is that players don't need to go overboard in building to experience massive fps drops. Hell, even by playing half of the content, even trying to minimize too much fps sucking elements, it's too easy to go below 30 fps by the 3rd or 4th asteroid.

I still love this game and play it despite fps issues, and i try to avoid doing or building stuff that i now it will impact fps count massively, but too many times i get the feeling i am playing against the game in order to not have it behave like a snail.

I do love the new content and i'm looking forward to spending a lot more time on it, but i really hope devs take a look at all the performance issues and work in order to make it run smoother,

Link to comment
Share on other sites

11 hours ago, MinhPham said:

And because most of the game codes are C# we can also blame Microsoft for invented a programming framework that focussed too much on the ease of making software and doesn't give **** about performance. In some case the native code run over 9000 times faster than the C#.

Does not surprise me one bit. Anything MS does is targeted at more market-share, quality that does not directly contribute to sucking people in was never a factor. 

As to Factorio, on the computing side that is a very, very different game and using the Engine from ONI would probably never work at all, except for tiny bases. 

Link to comment
Share on other sites

2 hours ago, cpy said:

Lot of debris on ground cause heat exchange calculations. I finished storage consolidation and reorganization to my storage compactors and i have like 2-3x more FPS.

So basically the time-honored advice given to anybody with low FPS in Oni. Good to know it still does the trick.

Link to comment
Share on other sites

On 3/19/2021 at 10:57 AM, furytale said:

technically we still have one big map, just divided into asteroids.

from a technical perspective just splitting the game into many separate sims should be a huge optimization.

Is it actually, well, I have not reached a point with 4+ colonies running parallel, yet.

Link to comment
Share on other sites

I`m dreaming of a fantasy ONi3 which runs on 64 cores, controlling 3000 Stinky`s cutting the branches of 3000 arbor trees in the same moment, to refine and fuel 200 petroleum generators :biggrin-new:

Also...Still no gold bars or Maya statues in the game :confused::confused::confused:

image.thumb.png.eebdfd02a26f4276edac0d1d002f7f11.png

Link to comment
Share on other sites

Point is badly stored items on one planet affect the whole game. This is why splitting all processing on planets would be really nice, with some perf. monitoring tools in game so we could see which planets is grinding down fps and at least try to fix it.

The only thing that can make me quit game in an angry rage is lag. No hunger, no sleep deprivation but lag.

Link to comment
Share on other sites

2 hours ago, cpy said:

Point is badly stored items on one planet affect the whole game. This is why splitting all processing on planets would be really nice, with some perf. monitoring tools in game so we could see which planets is grinding down fps and at least try to fix it.

No argument about that.

Link to comment
Share on other sites

3 hours ago, cpy said:

Point is badly stored items on one planet affect the whole game.

...

2 years ago I suggested 200,500 and 1000 ton storage compactors, perhaps that could help for those players which want to build lots of 20 ton compactors :confused:

They could require lots of resources to build and could be quite big in size. Any materials in there could be temporary "dead" and not simulated in any way.

The 1000 ton storage compressor could be...Lets say 20 tiles wide and 4 tiles high. Bulldozers and loading cranes would also be nice :p

Link to comment
Share on other sites

I tried out CPY's save without all the mods. CPU never hit above 50% usage after the massive load time. RAM struggled which was causing stuttering for me. While the sim is running and especially when moving the view around, the game stutters because it is bottlenecking on RAM operations; I suspect a precise technical investigation would show that even if you have like 64GB+ RAM that the CPU cache or the microcontroller of the monitor is bottlenecking.

With the mods, the save would be a lot worse. I know directly from experience that Build Over Plants is badly optimized.

Link to comment
Share on other sites

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.

×
  • Create New...