Think of PZ like a huge board game where every player takes their turn and during their turn, they can take a series of actions. The second player has to wait until the first player has made all their decisions and finished all actions before they can start their turn because their reaction will depend on the previous players’ moves. The third has to wait for the first and second player and so on.
Computers can handle a certain number of guests so fast that the user perceives it as simultaneously, but the more animals, zoo staff members and guests there are, the longer it takes the computer to finish the calculations of all the actions of each of these “players” before starting the next round. 1 frame corresponds to one round. This is why the frame rate slows down. The more complicated the board - the players’ environment - becomes - e.g. lots of terra forming that makes movement calculations much more complex, more choices as to what to do next for the guests, etc. -, the more interdependent actions there are, the more complicated the decision process becomes, the longer the calculations will take, the slower the frame rate will be. There is a reason Frontier created guest groups of up to six guests that in many ways act as if they were a single person - it saves a ton of calculations.
If you’d reduce the number of guests and all the calculations that need to take place before the next frame without losing income, each group of guests would have to represent a proportional number of guests, e.g. if instead of 5000 guests you’d only have 500, each guests would represent 10 guests, i.e. ten previously individual actions would become 10 absolutely identical actions. This would have consequences for the game play.
You could still theoretically simulate long lines in front of a shop, but there would only be a single person waiting to be served instead of 10. The shop employee could sell this one guest 10 hamburgers at once to keep the income steady. There would by default always be a line that would cause unhappy guests if just a single guest would need to be served. Since I suspect that the size of guests groups is already handled in a similar way, it would mean that a group of six guests would now represent 60 guests. All guests would continuously be complaining about lines, wait times, etc., which in turn impacts their happiness > length of stay > amount of donations > income. I.e. you would not achieve what you envision: the same amount of income with lower amount of guests while not affecting the Franchise simulation in any other way. You’d have overcrowding issues even with only a few visible guests. You’d have no visible cues of underlying management issues.
Also, if your zoo is large, you need to spread your guests out as evenly as possible to avoid issues. With each guests representing x number of guests - and a group of six guests 6x number of guests -, the probability that you’d end up with shops having no guests while others have invisible long lines is high, i.e. practically none of your shops would run efficiently and you’d lose lots of income. Which again would defy the purpose of this “exercise”.
In order to avoid this type of problems, you’d have to increase the income each of the fixed number of 500 guests brings in in proportion to the size of your zoo. You already do that to some extent by increasing the entrance price. But you cannot increase other costs in the zoo without making the guests unhappy, which would again result in a big loss of income.
Or you’d have to make guests and their part of the simulation completely independent of money (i.e. the afore mentioned removal of the money aspect), for instance by taking away the correlation between happiness and spending money so that guest donate lots of money even if they’re unhappy or hungry, etc. Just increase the amount if money each ne guest brings independent of the actual simulation. Consequently, it would not matter if certain needs are not fulfilled, your zoo would have x amount of money in addition to the income generated by the guests. In other words, turn Franchise into Sandbox mode.
The management of the many aspects of PZ is a very complex system that took Frontier a very long time to set up and fine tune to get everything in balance. You remove or shift one major block of this system and you destroy the balance - and with it the challenges of Franchise/Challenge mode.
The best option for a player running into fps issues is to play in Sandbox where the balance issues are not important because it is not a fully interdependent simulation - or rather, you decide how interdependent you want it to be (and how much your fps will be impacted). Guests will be happy no matter how long the lines or how crowded certain areas are if you so want, so you won’t lose any money due to unhappy guests. Or you can play with unlimited money (or add money if you run into issues due to lack of guests) and keep all other parts of the simulation (and challenge) alive. Aspects of the full simulation will be taken away, money, happiness, animal wellfare, etc. and it will affect the overall game play. You cannot have one without the other. Full simulation in Franchise with full impact on fps, or a reduced simulation with fps gain in Sandbox.
Any simulation aspect you turn off will result in a better frame rate. Everything automatically powered - no calculations of decreasing energy ranges for x generators before they need to be repaired, no energy costs to be calculated, no staff requirements to be calculated, etc. No tired guests - no calculations of their increasing tiredness based on time, the distances they walk, etc. You get the idea. But you have to turn off parts of the simulation - otherwise you’d still be doing the same calculations in the background as before In Franchise.