Planet Coaster fps problem

Just tried, 1min 20sec to load.....and 4FPS....couldn't play it on my rig (and it's decent).......unsubscribed :(
 
Last edited:
I managed to get 60 fps after deleting a few buildings. It suddenly jumped from 4fps to 60fps, quite odd. So I pressed CTRL-Z on the last building deletion and it went back to 4fps. It was only a minor building, so it seems there's a threshold, a number of lights or objects perhaps that if you exceed then your FPS suddenly dies. I suspect the box lights and lamps.... I'm not sure.

I thought it would be a gradual improvement as I deleted buildings, but to see it jump suddenly from 4fps to 60, with most of the park still there was surprising. Worth investigating this further to find what the issue is.
 
I managed to get 60 fps after deleting a few buildings. It suddenly jumped from 4fps to 60fps, quite odd. So I pressed CTRL-Z on the last building deletion and it went back to 4fps. It was only a minor building, so it seems there's a threshold, a number of lights or objects perhaps that if you exceed then your FPS suddenly dies. I suspect the box lights and lamps.... I'm not sure.I thought it would be a gradual improvement as I deleted buildings, but to see it jump suddenly from 4fps to 60, with most of the park still there was surprising. Worth investigating this further to find what the issue is.
I also noticed this. And for instance, my Sci-fi zone seems to be more laggy than any other part of my park. Also tried to close the park entirely and see, if FPS gets better. Not much... It also hints more towards your theory - there are some objects causing this.
 
@redrum that is very odd, are you sure the building does not hold more objects, especially FX objects or video billboards? Those items have a massive impact.
 

AndyC1

A
Hey everyone,

I've grabbed this park and spotted what causes the massive slowdown. It's to do with having so many buildings and building pieces. The tech explanation is that we use a specific data structure (an AABB Tree) to query how building pieces "merge" with another (the building system in Planet Coaster swaps pieces out with others automatically so that things such as building corners join correctly. This level has approximately 131,000 entries in this structure, which is rather a lot! The game was attempting to balance this tree even if nothing has changed within it.

The good news is that this is a nice optimisation target, and with a very quick look I've been able to get the framerate much higher (~2.8fps on my machine here to ~60fps), the only caveat being that it slows down again while editing buildings. While interacting with anything else in the park though (scenery, coasters, flatrides etc.) it's much faster. I'll take a look next week and see if we can come at this from another angle and make editing snappier too.

Cheers

Andy
 
^ Nice, good to hear.

Looking at this specific park, the building method is quite "messy". Not to diminish the OP's effort, but there's a lot of dense clutter to get small structures. Buried objects, and repetitive unseen complexity taking up precious space in the AABB Tree [money]!

Some responsibility for optimisation surely needs to come from builders too. That said, whatever magic the devs can bring to optimisation we will all enjoy naturally.

I wonder too whether the undo feature might take up a lot of resources. If so, I would happily throttle my undo scope back in order to gain more branches on the tree structure! Might be unrelated, just a thought.
 
Hey everyone,

I've grabbed this park and spotted what causes the massive slowdown. It's to do with having so many buildings and building pieces. The tech explanation is that we use a specific data structure (an AABB Tree) to query how building pieces "merge" with another (the building system in Planet Coaster swaps pieces out with others automatically so that things such as building corners join correctly. This level has approximately 131,000 entries in this structure, which is rather a lot! The game was attempting to balance this tree even if nothing has changed within it.

The good news is that this is a nice optimisation target, and with a very quick look I've been able to get the framerate much higher (~2.8fps on my machine here to ~60fps), the only caveat being that it slows down again while editing buildings. While interacting with anything else in the park though (scenery, coasters, flatrides etc.) it's much faster. I'll take a look next week and see if we can come at this from another angle and make editing snappier too.

Cheers

Andy

That is very interesting! But I am not completely sure if I read it correctly. So does the map have 131.000 individual objects in the Tree, or 131.000 buildings (which contain objects)? So having fewer buildings with more objects is better than having more buildings with less objects?
 
That is very interesting! But I am not completely sure if I read it correctly. So does the map have 131.000 individual objects in the Tree, or 131.000 buildings (which contain objects)? So having fewer buildings with more objects is better than having more buildings with less objects?

I just checked the park, the think I selected everything and the total part count came out to a little over 60k.

Based on Andy's explanation I think what happens is that each part has multiple variants, somewhat invisible to us. So imagine the 4m wall has only one listing in your building parts list, but in reality there are four parts, one with no angles corners, one with a right angled corner, one with a left angled corner and one with both angled corners. The game decides which one of those internal parts it uses based on the presence or absence of adjacent parts so that corners look seamless. All this data, of which version to use, is kept in an internal tree, that in this case grew to over 130k entries.
 
Hey everyone,

I've grabbed this park and spotted what causes the massive slowdown. It's to do with having so many buildings and building pieces. The tech explanation is that we use a specific data structure (an AABB Tree) to query how building pieces "merge" with another (the building system in Planet Coaster swaps pieces out with others automatically so that things such as building corners join correctly. This level has approximately 131,000 entries in this structure, which is rather a lot! The game was attempting to balance this tree even if nothing has changed within it.

The good news is that this is a nice optimisation target, and with a very quick look I've been able to get the framerate much higher (~2.8fps on my machine here to ~60fps), the only caveat being that it slows down again while editing buildings. While interacting with anything else in the park though (scenery, coasters, flatrides etc.) it's much faster. I'll take a look next week and see if we can come at this from another angle and make editing snappier too.

Cheers

Andy

Good news. Could this be the definitive solution to all the FPS problems people are getting in bigger parks?
 
Last edited:
I just checked the park, the think I selected everything and the total part count came out to a little over 60k.

Based on Andy's explanation I think what happens is that each part has multiple variants, somewhat invisible to us. So imagine the 4m wall has only one listing in your building parts list, but in reality there are four parts, one with no angles corners, one with a right angled corner, one with a left angled corner and one with both angled corners. The game decides which one of those internal parts it uses based on the presence or absence of adjacent parts so that corners look seamless. All this data, of which version to use, is kept in an internal tree, that in this case grew to over 130k entries.

Hmm I guess, but that doesn't explain how he could easily optimize that map (unless he opened in in their engine and use developer magic [haha]). Also, only walls have this property in the game right? Hmm, I think I am missing something here.
 
Hmm I guess, but that doesn't explain how he could easily optimize that map (unless he opened in in their engine and use developer magic [haha]). Also, only walls have this property in the game right? Hmm, I think I am missing something here.

Well, Andy said this:

The game was attempting to balance this tree even if nothing has changed within it.

I take that to mean that the game was looping through the information in this tree, even though it doesn't need to because nothing changed. Adding an "If: editing building, then: recalculate; else: do nothing" statement is usually pretty easy to do.

Slasher might be right that it could help some parks with slow frame-rates, but maybe not as dramatic as this particular one. It could be that max2 is doing something different in the way he places the pieces that result in additional entries in the tree structure (just an uneducated guess).
 
I'd REALLY REALLY love to know what his specs are because his video is soooo smoooooooth. It's like he recorded this in the same way it was done in RCT3 where every frame was recorded. Devs, slightly off topic but is that something that you could do again? That was an amazing feature being able to render each frame.
 
Last edited:
I believe I read somewhere that FU_Films (and possibly others) made some of their recordings by slowing down the game and then speeding up the video. There are tools/software to intentionally slow the frame rate down in a video game (not sure what they are called exactly). Say hes getting 6 fps he could have speed the video up 4x to get 24fps, but that might not be smooth which is why you would want to actually slow the game down with the other software first. Its actually a very slow process because if your coaster is 2 minutes long but your running the game at 1 frame a second then coaster will take longer to ride. Although, I am only making these claims based on something I read, not actual experience, so I could be entirely wrong [tongue]
 
Last edited:
I only manage 3.7-4.1fps.

I thought I'd audit my Intel Core i7-6700k and EVGA GTX 1070 SC overclocked GPU. But it's no exception.

GPU usage averages under 40%, CPU usage averages under 50%. And RAM usage according to MSI Afterburner and Windows 10 Task Manager, indicate average usage of only 5.5GB out of the 16GB DDR4 RAM I have.

I've noticed that this game, is NOT utilizing to the full potential, all 4 cores and 8 threads, in my CPU. Half of them are being 30-48fps utilized, the other half are like 2-20% utilized.

I tested this on 1920x1080 Ultra maxed out, settings, full screen. AND..... the park only has 1,938 people!
 
Last edited:
Well, Andy said this:



I take that to mean that the game was looping through the information in this tree, even though it doesn't need to because nothing changed. Adding an "If: editing building, then: recalculate; else: do nothing" statement is usually pretty easy to do.

Slasher might be right that it could help some parks with slow frame-rates, but maybe not as dramatic as this particular one. It could be that max2 is doing something different in the way he places the pieces that result in additional entries in the tree structure (just an uneducated guess).

Yes but we can't do that ourselves. I wasn't sure if he meant he moved objects into/out of buildings or he did some 'engine work', since other people reported very big performance increases by deleting certain small buildings.
 
Back
Top Bottom