Jump to content

Map size and game performance


Recommended Posts

I changed the world size for the Terra moonlet from default:

X: 160
Y: 274

to:

X: 960
Y: 822

I could generate the map, and the FPS was around 60. If I zoom out completely, it goes to 15. The game is also super jittery.

Is there any way to play the game on a super large map with decent performance?   

What mainly contributes to the decrease in performance in large maps? 

I checked the CPU usage using MSI Afterburner, and for 4 CPUs, it fluctuates a lot, and for the rest, almost no usage. Is it possible that we are meeting the engine limit?

My CPU is 5950x.

 

yeep.jpg

yeeep.png

First of all, back in the days of early access, maps where bigger than they are today. They reduced default size because of bad performance.

Yes its an engine limit. The game runs mostly on one core. What you see on the other 3 cores are just pieces that they´ve outsourced. But most of the work is always done by one core. Windows itself shifts between several cores, buts that not multicore-using as you would understand it. Its more a way to move work from one core to another to make it easier for the hardware to maintain the load oder long time. Like one worker replaces his predecessor in the next work shift.

The only way to make big maps playable at all is a really powerful heavy singlecore CPU. Something you wont find. 

In retrospective, the Unity-Engine was not the smartest choice for what the game has become over the years. But its is, what it is. So we all have to live with the downsides of that decision.

Thank you for the answer.

I am curious, since there is not much path finding calculations at the start of the game, then what uses the CPU!

Is it mostly the heat transfer calculation, or is it due to all the random critters in the map. 

2 hours ago, SharraShimada said:

In retrospective, the Unity-Engine was not the smartest choice for what the game

What do you think would have been the better choice?

8 minutes ago, evilcat19xx said:

Is it mostly the heat transfer calculation

when i once todo debugging then something about  heat transfer commands pop up allot compared other commands soo i quess its the heat transfer calculation

Essentially there is a single main thread simulating all the physics in the game, and every tile has to be evaluated against its neighbors.

  • Heat transfer between each tile, its contents/debris, and its neighbors
  • Fluid movement of gases and liquids
  • Material phase transition
  • Movement of fluid or solid packets along conduits (pipes & conveyors
  • Critter and dupe AI
  • etc

Some of these calculations are tuned to occur at different intervals, like every second instead of every frame. But unfortunately they can't be split off into different threads without completely restructuring the game code to be thread-safe.

All these calculations also run on the main CPU, not the GPU, so buying a beefier graphics card won't help. Compared to the physics, the graphics in ONI are dirt simple for any GPU.

2 hours ago, gabberworld said:

factorio devs using c++ . in they eyes full game needed rewrite

A not so well known fact is that the core of ONI (fluid, gas and heat simulation) is implemented in c++, it makes it extremely hard to mod those aspects of the game.

On 10/14/2022 at 8:06 AM, SharraShimada said:

The game runs mostly on one core.

People keep saying that about ONI .. but is it actually true?

Cause at least in Task manager it shows all my cores are used almost equally by the game.

So what's the deal here?

13 hours ago, ALCRD said:

People keep saying that about ONI .. but is it actually true?

Cause at least in Task manager it shows all my cores are used almost equally by the game.

So what's the deal here?

Those are 2 different things. The one ist the real utilization of the game, and thats mostly one core because of the design of how the game works. Some calculations can be moved to another core, but thats it. The main task is single-core only.

The other thing is what windows makes you believe what would be true, but instead lies to you. No it does not utilize all of your cores. It just moves load from one core to the next, to the next, to the next to maintain load between all cores. And it shows you only the median..  If 8 cores are uses x% in a given time, it shows you x% load on all 8 cores. 

Dont get it wrong. Thats a good thing for technical reasons. But it does not matter if core 0 does the work or core 3,  Its always just this one core allocated at a given time, that does the real work.

5 hours ago, SharraShimada said:

Those are 2 different things. The one ist the real utilization of the game, and thats mostly one core because of the design of how the game works. Some calculations can be moved to another core, but thats it. The main task is single-core only.

The other thing is what windows makes you believe what would be true, but instead lies to you. No it does not utilize all of your cores. It just moves load from one core to the next, to the next, to the next to maintain load between all cores. And it shows you only the median..  If 8 cores are uses x% in a given time, it shows you x% load on all 8 cores. 

Dont get it wrong. Thats a good thing for technical reasons. But it does not matter if core 0 does the work or core 3,  Its always just this one core allocated at a given time, that does the real work.

So does that mean my old CPU is actually decent for ONI since it has 3.90 GHz single core power?

17 hours ago, tuxii said:

Come on, don't you think 960x822 is at least a little excessive?

In what games can you make the map 18 times larger and not have game performance be adversely affected?

I tried different sizes. 

The default size is X: 160 Y: 274. Even making it four times larger X: 2*160 Y:2* 274 made it noticeably jittery. The goal was to have a city/colony with industrial blocks, farm blocks, gardens, living spaces, and rocketry blocks and connecting them via transit tubes.

12 hours ago, asurendra said:

Hmm... How do you use so big map? Number of geysers doesnt depend on map size so you still cant build colony that uses more resources than geysers give you...

In spaced-out DLC, resources have never been a bottleneck. 
When I finished the DLC, there was not much new for me to do, and I thought this might give me a reason to return to the game. 

 

 

6 minutes ago, evilcat19xx said:

The default size is X: 160 Y: 274. Even making it four times larger X: 2*160 Y:2* 274 made it noticeably jittery. The goal was to have a city/colony with industrial blocks, farm blocks, gardens, living spaces, and rocketry blocks and connecting them via transit tubes.

 

Default vanilla map is 256*384. If you see lags on smaller world thats mean something really wrong with your PC

21 minutes ago, gabberworld said:

dd3 memory can't beat dd4 memory speed and same goes that dd4 can't beat ddr5.

your cpu can play normaly most off games but it fill fail at higher cpu demanded games

I am talking solely about ONI not other games. Since  appparently ONI uses 1 core and Unity is somewhat old engine.

1 minute ago, ALCRD said:

Talking solely about ONI not other games. Since it appparently ONI uses 1 core and Unity is somewhat old.

how to explain this.

The main code uses the 1 core. but that is only main code.

all other stuff like sounds . or they own oni.dll can use more than 1 core

13 minutes ago, gabberworld said:

how to explain this.

The main code uses the 1 core. but that is only main code.

all other stuff like sounds . or they own oni.dll can use more than 1 core

So how does that translate in terms of ONI's performance on a CPU with decent single core GHz vs newer CPUs with more cores but weaker single core GHz?

Since i see things like this mentioned from time to time:

On 10/14/2022 at 8:06 AM, SharraShimada said:

The only way to make big maps playable at all is a really powerful heavy singlecore CPU. Something you wont find. 

It confuses me a bit and it would be a shame if i got a new PC with much better CPU only for it to turn out that ONI actually runs worse than on my A8.

12 minutes ago, ALCRD said:

So how does that translate in terms of ONI's performance on a CPU with decent single core GHz vs newer CPUs with more cores but weaker single core GHz?

 

i tell again, ddr3 can't beat ddr4, ddr4 can't beat ddr5

this game needs also memory speed. cpu by one can't todo a ****

your cpu supports DDR3-1866

its is not bad but it never can be same fast like DDR4-3200

and cpu is that who gets data from memory for calculations

Newer CPUs can achieve the same or even more performance per cycle (thats what the Frequency is). Your CPU is from ~2014 and even back then it was just mid-range, never high-end. So its a mediocre 8 year old CPU. You just cant compare that agains a modern CPU. A 11th or 12th gen Intel or Zen 2 Ryzen from AMD has more compute-power in a single core than your entire array. Yes its hard, but there are 8 YEARS of development. 

And as gabberwolrd already tried to explain to you: Your old CPU just can operate with old DDR3 RAM. DDR5 is state of the art. And its ~8 times faster. And no, you cant just put newer RAM into your computer. Thats not compatible. 

So... you may have some fun with ONI, but it will always be a limited experience. Maybe you want to try the Fasttrack mod. It will improve performance MUCH. But even this mod cant do wonders. 

 

3 hours ago, SharraShimada said:

So... you may have some fun with ONI, but it will always be a limited experience

I mean i can have full ONI experience ... just not in 60 fps lol (20 fps on a large base on default speed , 10-15 on fastest speed | camera zoomed out pointing at the busy center)

I will keep tracking the Fast Track mod it looks promising. 

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...