Jump to content

Terrible performance in late game and how to prioritize projects and mitigate issues


Recommended Posts

why i care about 1000 fps ? it shows how fast is the game code and how much have delay from cpu.

 more the objects the more fps drops..

of course game is playable even at 30 fps but that is not the point.

if early game have you allot fps , it means you can add more dupes to game ,higher map and soo on

Link to comment
Share on other sites

1 hour ago, gabberworld said:

why i care about 1000 fps ? it shows how fast is the game code and how much have delay from cpu

No, no, no, and again no. Its just the display. I can display 10.000 FPS and run a whole bio-simulation in the background just fine. And i can limit your display to 2 FPS while doing absolutely nothing on the thing at all, besides maxing out one calc-set in your computer, that does nothing else.

FPS do NOT show you how good the game code is. It just dont.

Link to comment
Share on other sites

23 minutes ago, SharraShimada said:

No, no, no, and again no. Its just the display. I can display 10.000 FPS and run a whole bio-simulation in the background just fine. And i can limit your display to 2 FPS while doing absolutely nothing on the thing at all, besides maxing out one calc-set in your computer, that does nothing else.

FPS do NOT show you how good the game code is. It just dont.

display is the hertz not the fps and those are fixed by monitor( not possible change)

fps.thumb.png.4c4042a725f5e84ca91bf49ab5e21853.png

this is over 3000 fps in directx example. that shows also there something not right with unity  because i was not able get 3000 with empty project

Link to comment
Share on other sites

Unity is ****. Anyone making complex physics simulation game in unity is just crazy.

Unity in my experience is designed for different types of games in mind. ONI would work best with custom in house engine, but it would cost more.

Link to comment
Share on other sites

14 hours ago, tnankie said:

Why on earth do you care about 1000 fps? Bloody sure your monitor can't display it.

This isn’t a first person shooter lol it’s not about the display. In my opinion, we are using frames per second as a metric to the performance of the game. Because the frames take a HUGE L once you’ve reached around 1,000 cycles. And honestly with my hand over my chest before DLC I could play decently up to cycle 1,500 but now I barely reach cycle 800 with the same hit to performance. 

Link to comment
Share on other sites

the performance issue with oni isn't the fact that it runs at 20 fps, it's the fact that it runs at a lower speed than what you set it to. late game in spaced out is very slow even with a 10x speed mod, and the game doesn't even run at that speed because it's unoptimized.

Link to comment
Share on other sites

Overall I have managed to smooth out the lag. It doesn't freeze every few seconds and is much more consistent, however it still runs at 10-14 FPS or lower all the time, more FPS on slower speeds. It's certainly playable but it took several hundred cycles to get the map cleaned up. I only cleaned up the main base and haven't even begun to touch the other asteroids. I may end up starting a new game, as after all this I am kinda burnt out on this map.

Anyways, I've included some screenshots for you guys to see, are my pipe networks causing lag at this scale, for the future should I attempt to keep them as small as possible or is there anything else that may help? All debris is in big piles, nothing left scattered on the map, and the majority of the map is very low pressure CO2, 50mg-50g per tile.

image.thumb.png.1ca6157268c69fe729c1d0ed6d0f786d.pngimage.thumb.png.e41f9e72c898c9f4a8a00c876c573194.pngimage.thumb.png.6fea6fda676236c0b81f6c2e75a39e8d.pngimage.thumb.png.1dcaa71eeafff13832c819cebc4333d1.png

Link to comment
Share on other sites

3 hours ago, KnoBuddy said:

Anyways, I've included some screenshots for you guys to see, are my pipe networks causing lag at this scale,

Short answer: Yes, it does.

Explanation: You´ve dont the worst for framerates you could have done. You´ve excavated the whole asteroid, so EVERY tile is filled with Gas, that flows around, and exchanges cheat with each other. This is... overkill. (the least impact would be to fill the whole area with neutronium, which does not exchange heat)

Given that, yes your pipe network does effect your performance. Every pipe, regardless of the material, will exchange heat. So every pipe segment will cause calculations. Lots of them. The difference between radiant pipes and insulated pipes is not the amount of calculations. The Performance impact is the same. Its just the amount of change. Do you need to do more work, if you add 1 and 1,0001 or 1 and 1,0002? No you dont. Its the same when it comes to calculations.

So: If you start fresh: Dont excavate the whole area. And if possible, do your piping inside of corridors you can evacuate. You will see a difference.

Link to comment
Share on other sites

2 hours ago, SharraShimada said:

overkill

Can I just add my two cents: in base game I would always, always excavate the entire asteroid and the lag was decent. I think the gases overlay is just a 10% hit to frames. What I always do after mining everything is I vacuum the entire asteroid. The only pressurized areas are for cooling heating or breathing (dupes and plants) and the lag is still high in this regard. My current map I decided to forgo a regular play style since I can barely reach 600 cycles nowadays with my play style. I entered sandbox mode and accelerated progress. Not even 100 cycles and I’m already lagging. Entire map is vacuumed and a “pit of debris” is simulated in one location. I have a petrol, sour gas boiler. Sauna brick. One rodriguez. Tapped all geyser in starting and second map (second map is also vacuumed) I left beeta biome alone to do as they wish. Haven’t excavated the uranium but will do that soon. I honestly think it’s just the Unity engine game that is screwed. 

Link to comment
Share on other sites

On 8/28/2021 at 12:05 PM, sakura_sk said:

There were some suggestions (not sure that was in the forums or discord) that excavating the less amount possible and leaving the most amount of natural tiles possible, will create less lag. But after everything is already dug out ....I'm not sure if vacuum or build tiles would help more.

Game runs best if one only builds one colony inside one rocket and stays inside. :lemo:

@Ipsquiggle Like with the setting to deactivate the games teleporters, it would also be great to have the optional setting:

"Deactivate other worlds", where Klei defines the map to then be in the maximum tile size of the DLC classic map size. This could greatly improve players game performance, especially if the player decides to play on a small DLC map.

This means that there is no invisible other worlds and the players map size is actually limited to "What you see(excavate) is what you get".

Link to comment
Share on other sites

21 minutes ago, sakura_sk said:

That would be vanilla, not Spaced Out! DLC :rolleyes:

Klei added the space resource fields back to the dlc, which is great...From my point of view it would be good to have an option to enable playing "The map the player initially sees" + rockets to get stuff from the resource fields. Having truly only the tile amount "of the home world" would drastically increase players game speed, as it would be far less tiles to compute.

A configuration option could be to limit the amount of asteroids to a certain value, as example option in the world generation settings:

"Limit game to X amount of asteroids".

As always, its about options to cater for everyone. A certain amount of base game players where/are happy to just play in the map they see/saw ( in the base game ) + resource fields. The huge benefit would also be that reducing the calculated tile amount by, lets say 25-80% ( via such game options ) would give players a lot of game speed back ( if they want to configure such game options ).

"Limit game to 1 asteroid" would be, as you mentioned, like the base game. The initial map the player sees/excavates + resource fields in space , for space resource harvesting via rockets. :p

Nothing would be taken away from dlc players, it would be optional world generation settings.

Link to comment
Share on other sites

9 minutes ago, sakura_sk said:

Isoresin and tungsten Niobium would be taken away from those who choose that setting

That`s a good point.  Klei could implement a solution to make asteroid dependent resources rain down with Regolith or by other means or they would be need to be harvested from very far away in space via rockets. Klei and ONI players are clever, so whatever ideas players have would be welcome - There could be alternative implementation ways to make things possible.

My key goal is game performance, a limitation of the actual and real map size ( asteroid amounts ), as option in the world generation settings, would be ace.

Link to comment
Share on other sites

1 minute ago, babba said:

As as a solution Klei could implement a solution to make asteroid dependant resources rain down with Regolith or by other means or they would be need to be harvested from very far away in space via rockets.

And that would be vanilla, not Spaced Out! DLC...

Link to comment
Share on other sites

Just now, sakura_sk said:

And that would be vanilla, not Spaced Out! DLC...

The base game runs much faster, as the base game has to calculate a limited tile amount - Compared to the DLC. From my point of view I have written what I wanted to say and bring in as ideas...So I`m out :rolleyes:

Link to comment
Share on other sites

11 hours ago, gabberworld said:

what we get from that? your game is not slow down. as that what happens below 30fps

Nope. You would only see big framerates visually. That would absoltely not effect the games internal performance at at.. You wont get any more juice out of your CPU. If you would, you would be honored with the nobelprize for physics, because you´ve proven elementary physical evidence wrong.

The game itself wont run any better, because only the display part is refreshing faster.

Link to comment
Share on other sites

8 hours ago, SharraShimada said:

Nope. You would only see big framerates visually. That would absoltely not effect the games internal performance at at.. You wont get any more juice out of your CPU. If you would, you would be honored with the nobelprize for physics, because you´ve proven elementary physical evidence wrong.

The game itself wont run any better, because only the display part is refreshing faster.

while(true)
{
}

you know what this is?

you know what happens when you eliminate unneeded code inside this?

it increase speed for that loop. but it not go faster yes than maximum CPU .

we not talk here about maximum CPU limits but  about the find and improve that loop speed as that how fps is calculated

and that's also how game works. its in one big code loop

 

example:

 

while(true)
{
    for (int i = 0; i <= 10; i = i++) 
    {
      // does something 1
    }

    for (int i = 0; i <= 10; i = i++) 
    {
      // does something 2
    }
  
}

 

lets say you have this inside gigantic cpu loop

now as they are basically same type loops doing two different thing

you could just write same code like this and that's also where improvement speed comes as it not need make double for loops

while(true)
{
    for (int i = 0; i <= 10; i = i++) 
    {
      // does something 1
      // does something 2                     
    }
}

 

 

 

 

 

Link to comment
Share on other sites

2 hours ago, SharraShimada said:

So, what you are saying is just: The devs are incompetent coders, and you are the only programmer-god out there? Thats bold man...

If i where you, i would run now.

Sadly it is often true. I've seen some god tier magicians coders that did some insane mod coding for some games, but now they do who knows what and work who knows where.

I think coder who can optimize the crap out of things will be hired anywhere. Then again if you can make your code run perfectly that does not mean your game will be good and vice versa. Only if those two things combine you get factorio. :D

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