Performance since the patch has rendered the game unplayable

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Duuk

Reformed Badboy
23 Badges
Oct 16, 2001
6.137
1.402
  • Majesty 2
  • Europa Universalis III: Collection
  • Crusader Kings II: Holy Knight (pre-order)
  • Cities: Skylines
  • 500k Club
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Victoria 2
  • Rome Gold
  • Victoria: Revolutions
  • Europa Universalis III Complete
  • Majesty 2 Collection
  • Hearts of Iron Anthology
  • Europa Universalis III Complete
  • Heir to the Throne
  • Europa Universalis III Complete
  • Europa Universalis III
  • Deus Vult
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II
IMO such statistical model should work faster and be more realistic than the discrete pops we had since tiles' times. We wanted to get rid of tiles, but in fact, we just got them in different fashion in 2.2. Since the scale of the game we play is at galactic level, managing individual pops seems very illogical. Statistical models should replace the pops'n'tiles, IMO.
When the original "tiles are going away" announcement was made, that was much more of what I was picturing. Instead, we essentially got Tiles+.

Each planet now features 16 buildings (tiles) plus districts (up to 25 tiles of 4 types) plus bonus features plus blockers.

Instead of a cap of 25 pops per planet we now have hundreds to manage. I find myself micromanaging more now than before.

I enjoy empire management, so it's fine (bring on Victoria 3!) but it is definitely not what some people were looking forward to.
 

CyberianK

General
71 Badges
Jan 17, 2014
2.020
1.623
  • Crusader Kings II: Charlemagne
  • Stellaris - Path to Destruction bundle
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Semper Fi
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Conquest of Paradise
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Crusader Kings II
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Hearts of Iron IV: No Step Back
  • Steel Division: Normandy 44
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Hearts of Iron IV: Death or Dishonor
  • Age of Wonders III
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV Sign-up
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Victoria 2
Good point that the number of pops (and "tiles" if you refer to open jobs) increased massively.

Its honestly a mess. If the number of pops is an issue then thats very bad because I like to minmax and play optimal and played a species focussed on popgrowth because thats just the best now. Already had the gamespeed slow down to a crawl in like 2330 not 2400+ or so. Played only two longer games and now stopped playing Stellaris again. Not sure if I get the next DLC because of that unless I hear some major performance improvement first. Playing only Standard and smaller Galaxy also is not fun for me I need Large at least.
 

Killeraoc

Private
35 Badges
Sep 7, 2018
21
0
  • Crusader Kings II
  • Stellaris: Synthetic Dawn
  • Tyranny - Tales from the Tiers
  • Crusader Kings II: Jade Dragon
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • BATTLETECH
  • Tyranny - Bastards Wound
  • Age of Wonders III
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun: Dragonfall
  • BATTLETECH: Flashpoint
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Stellaris: Ancient Relics
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Tyranny: Archon Edition
  • Stellaris - Path to Destruction bundle
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
Okay, here is an idea. For a new _.X._._ patch. To move away from individual discrete pops to a bulk population count, where discrete units represent not individual pops, but all pops of the same TYPE (same species, same traits = 1 pop type).

It means that there is no direct correspondence between a certain pop and a job slot: a production bonuses from a certain job type comes not directly from pops' traits, but from a statistics model:
if a planet's population of 1 billion pops, half of which is of type with +10% to mineral production and the other half has +10% to energy production, then both energy and mining jobs will produce the average base+5% resource production. Meaning all traits' bonuses get mixed into some "average unit" bonuses based on population' percentage of each individual species types presented on the planet. No pop shuffling. Just statistical average with little math, nothing else.

Each pop type has individual growth speed (+X heads per month, depending on factors like habitability, housing/amenities/jobs available and so on). On monthly tick each pop group grows/declines in number, after which the "average pop" model get it's bonuses recalculated based on new pop_types' percentage value.

As for the jobs, they should be filled up equally. Say, if one district provides 10 million jobs and we build 2 mining districts and 1 generator district, than we will have 20 millions mining jobs and 10 millions technician jobs (30 millions jobs available), but if the colony has only 15 million heads, then each of the district will be outputting at half capacity (with respective production bonuses depending on "average pop" model).

IMO such statistical model should work faster and be more realistic than the discrete pops we had since tiles' times. We wanted to get rid of tiles, but in fact, we just got them in different fashion in 2.2. Since the scale of the game we play is at galactic level, managing individual pops seems very illogical. Statistical models should replace the pops'n'tiles, IMO.


You’re right. It is a mess. Worse I don’t see an easy way to get performance back in line to 2.1 pre-megacorp without ripping the thing out. The number of “tiles” has increased by an order of magnitude. Ditto the number of pops. That means more calcs. AND they’re all checking more things now. Another big 0. It’s more calc intensive and offers less control!
 

CyberianK

General
71 Badges
Jan 17, 2014
2.020
1.623
  • Crusader Kings II: Charlemagne
  • Stellaris - Path to Destruction bundle
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Semper Fi
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Conquest of Paradise
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Crusader Kings II
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Hearts of Iron IV: No Step Back
  • Steel Division: Normandy 44
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Hearts of Iron IV: Death or Dishonor
  • Age of Wonders III
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV Sign-up
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Victoria 2
You’re right. It is a mess. Worse I don’t see an easy way to get performance back in line to 2.1 pre-megacorp without ripping the thing out. The number of “tiles” has increased by an order of magnitude. Ditto the number of pops. That means more calcs. AND they’re all checking more things now. Another big 0. It’s more calc intensive and offers less control!
I don't see a major rewrite of the games underlying tech thats probably not economically viable to draw resources away from new games they are making. And neither I see them going back or do a totally different design especially as the decisions they made are solid apart from the performance thing. So we probably only get minor improvements and that over a longer timeframe. Lets be honest the game suffered from poor performance from day 0 and its unlikely to change in a timeframe thats not years into the future. Its bad that they release broken games like HOI4 and Stellaris that need years of fixing. So far the fanbase keeps buying especially when the alternatives are even worse but its still not a good long term strategy.
 

Killeraoc

Private
35 Badges
Sep 7, 2018
21
0
  • Crusader Kings II
  • Stellaris: Synthetic Dawn
  • Tyranny - Tales from the Tiers
  • Crusader Kings II: Jade Dragon
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • BATTLETECH
  • Tyranny - Bastards Wound
  • Age of Wonders III
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun: Dragonfall
  • BATTLETECH: Flashpoint
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Stellaris: Ancient Relics
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Tyranny: Archon Edition
  • Stellaris - Path to Destruction bundle
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
It suffered from performance issues sure...now those issues are twice as bad. There's an excellent thread on performance analysis that graphs it out pre/post 2.2. And 2/3 crisis events are #TODOed in the code so they cant even serve their narrative (or lag saving) function.
 
Last edited:

Yandersen

First Lieutenant
3 Badges
May 30, 2016
255
85
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
Alrighty then, the cause of the lag seems logical to me now. We got ~4X more pops compared to fixed_25_tiles_max times, so it is ~4X more calculations only number-wise. But the calculations themselves are more robust now, since there are much more job options, stratum restrictions and so on.
No wonder game is lagging recalcing 10K pops every second of midgame.

Really interested to see how they will address that issue and how soon. 'Cuz right now playing over 2300 is like talking to your granny over the Skype from the other side of the planet - you send orders, then you sit'n'wait for a response. UI unresponding, clicks registered with delay and so on. Fun? No more. Or, well, you may play on pause, of course. Just remember: pause and back will cost you few extra seconds too. :)
 
Last edited:

Yandersen

First Lieutenant
3 Badges
May 30, 2016
255
85
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
Well, eventually they'll need to learn lower level programming. Seems like scripting let them go just that far.

The right solution would be to move away from childish pops'n'tiles to statistical model with sliders, percents and averages. But they have JUST redrawn their lovely tiles system into new fashion - you think they will get rid of it that quickly?!
 

Yandersen

First Lieutenant
3 Badges
May 30, 2016
255
85
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
Honestly i cant see how the population related lag is fixed anytime soon.
TBH, I am sure they will address that issue once back from vacation. Simply because just a few people have patience to bare with the lag - literally now you can't finish the game, so some may go revert to 2.1, meaning sales of Megacorp DLC will go down.

The other thing I am "negatively" sure about is that the way they fix it will not be like "Week of coding and boom! New patch! Now it runs smooth even lategame!". No. Most probably they will just cut some of the pop-managing routine' checks (+X% to performance) introducing more bugs. Who wants to be another Prophet? Let's bet, my psionic friends! :)
 

lordsval

Recruit
19 Badges
Dec 30, 2018
5
0
  • Age of Wonders
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Age of Wonders: Planetfall Sign Up
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Cities: Skylines - Parklife
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Cities: Skylines
  • Age of Wonders III
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Stellaris: Synthetic Dawn
  • Stellaris: Distant Stars
  • Stellaris: Galaxy Edition
The other thing I am "negatively" sure about is that the way they fix it will not be like "Week of coding and boom! New patch! Now it runs smooth even lategame!". No. Most probably they will just cut some of the pop-managing routine' checks (+X% to performance) introducing more bugs. Who wants to be another Prophet? Let's bet, my psionic friends! :)

There's no reason the game needs to check things like unemployment, new gateway routes and such every single day. It doesn't add anything... turn based 4x strategy games of yesteryear could get away with it each turn, so if the Stellaris devs shift a lot of those taxing calculations to a monthly basis it won't matter at all to gameplay. Moving ships and such, sure, that feels great to have on a day by day basis, so that can stay, right?

They could even make it scale based on number of pops, number of gateways in galaxy, etc. would give us best of both worlds.
 
Last edited:

ShaTiK

First Lieutenant
47 Badges
Aug 24, 2010
286
109
  • Majesty 2
  • Pillars of Eternity
  • Magicka 2
  • Europa Universalis IV: Pre-order
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Victoria: Revolutions
  • Magicka
  • Crusader Kings II
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Europa Universalis IV
  • Europa Universalis III Complete
  • Europa Universalis III
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Surviving Mars
  • Stellaris: Federations
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Synthetic Dawn
  • Age of Wonders III
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Apocalypse
  • Hearts of Iron IV: Expansion Pass
  • Surviving Mars: First Colony Edition
  • Imperator: Rome
  • Prison Architect
  • Surviving Mars: First Colony Edition
  • Stellaris: Ancient Relics
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Cadet
  • Stellaris
  • Europa Universalis IV: Common Sense
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Stellaris - Path to Destruction bundle
  • Stellaris: Megacorp
  • Hearts of Iron IV: Expansion Pass
The number of calculations for POPs are not the issue. It's not like we are living in 80s. We have pretty good computational capabilities at our disposal. So the issue is to have a properly optimized code for calculations. And THAT is a huge problem.
For the last 10 years the aforementioned capabilities kept growing, so there was no real need to optimize anything, really. Look at how web sites or software like Skype kept increasing their need for RAM over the years, for very little gain. Sure, sites look better now - but what the hell, a single web page in browser need around 100 RAM or even more to run? I'm no programmer or designer, by it's my belief that nobody gives a toss about optimization nowadays. You can always say - 'hey, you just need better hardware to run our code'. And it worked, to a degree. But lately the speed of real performance increase kept slowing down. CPU of a comparable price range from 5 years ago isn't 2 times worse then a modern one. Sometimes it's not even 30% difference. Silicon-based CPUs for a long time being at their limits of increasing the sheer processing power - now its' all about multiple cores, backed by ever-shrinking nanoprocess. And even that is getting harder to get. So the tempo of performance increase slowed down - but the whole ethics of 'brute force since we always could afford it' in terms of processing stuff isn't gone, it's here at large. But multi core processing requires a very finely-tuned code to efficiently use these cores at the same time to get the advantage. And this kind of thing require a lot of time for not very much gain, at least in terms of cost-benefit. I doubt it's even 'spend 2x times to get 1.5x boost', rather 'spend 10x time and resources and get 2x boost in certain situations'. I might be totally wrong here tho.
Couple that with the fact that any decently-large scale process of optimizing the code is a very costly affair in terms of time and resources of the developers - and we come to a sad reality that there is a pretty big chance that these performance problems won't be really addressed. Sure, some patches would fix the most glaring stuff, but the overall issue might very well be here forever. It's not financially reasonable to dedicate resources to stuff like optimizing the performance - it's far better to keep the new stuff coming, so people would buy it. And when the game would totally broke down - it's time for a new game.
It's not that every game should be supported forever, it's just that PDX for a long time been this nice little company with niche games. Now they are a big developer and publisher, so they operate under the same principles as others. And we all now how the game industry is these days. And again, I'm not bashing on PDX, I'm pretty negative person overall. So I would be glad to be wrong - I hope that devs would dedicate all their resources for performance and AI, and then overall polish. And I guess that that many devs want to do that - the question is, would they be allowed to do that by management. What would they decide is better course of actions for the project.
PS As a side-note, FO76 just recently showed what a disaster might be to hold on to old and trusted tools and engines. It might be that the problem with performance is not so much with POPs or traderoutes or some error in the code, but rather with the fact that this engine is not all that suited for the type of game stellaris is. After all, CK2, EU4 and HOI4 have vastly different calculations. They each separate from each other, and games have various different aspects to then, sure. But I have a felling that Stellaris is at least few times more demanding in terms of performance then any other game on this engine. POPs, planets, wars, diplomacy, pathfinding, crisis, now market - that's a lot of stuff happening. So, maybe it's even more depressing then just 'management decided that stamping out new DLCs is better then fixing the game', maybe it's 'the engine is actually really ill-suited for the game and 2.2 just made it obvious'
 
Last edited:

lordsval

Recruit
19 Badges
Dec 30, 2018
5
0
  • Age of Wonders
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Age of Wonders: Planetfall Sign Up
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Cities: Skylines - Parklife
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Cities: Skylines
  • Age of Wonders III
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Stellaris: Synthetic Dawn
  • Stellaris: Distant Stars
  • Stellaris: Galaxy Edition
The number of calculations for POPs are not the issue. It's not like we are living in 80s. We have pretty good computational capabilities at our disposal. So the issue is to have a properly optimized code for calculations. And THAT is a huge problem.
...
It might be that the problem with performance is not so much with POPs or traderoutes or some error in the code, but rather with the fact that this engine is not all that suited for the type of game stellaris is. After all, CK2, EU4 and HOI4 have vastly different calculations. They each separate from each other, and games have various different aspects to then, sure. But I have a felling that Stellaris is at least few times more demanding in terms of performance then any other game on this engine. POPs, planets, wars, diplomacy, pathfinding, crisis, now market - that's a lot of stuff happening. So, maybe it's even more depressing then just 'management decided that stamping out new DLCs is better then fixing the game', maybe it's 'the engine is actually really ill-suited for the game and 2.2 just made it obvious'

A lot to unpack in your post, but on the whole I totally agree.

There hasn't ever been a strategy game in history that has tried to do what Stellaris tries to do. Simulating so many things at once, as you mention, at a level of magnitude in terms of quantity greater than other PDS Clausewitz games. Like those other games, each increment is a "day" and we expect multiple of those to happen each second. And yes, multithreading is a bitch (speaking as a programmer), and single thread speed has slowed down massively in the past 10 years. Given all this, I think it's unreasonable for the game to calculate so much stuff multiple times a second, which my last post gets at.
 

Ariphaos

Colonel
87 Badges
Aug 5, 2011
834
797
  • Stellaris
  • Heir to the Throne
  • Stellaris: Galaxy Edition
  • Magicka
  • Majesty 2 Collection
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Rome Gold
  • Semper Fi
  • Hearts of Iron III
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Cities: Skylines - Snowfall
  • Europa Universalis IV: Third Rome
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Cossacks
  • Cities: Skylines - After Dark
  • Darkest Hour
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • For The Glory
  • Europa Universalis III
  • Europa Universalis III Complete
  • Divine Wind
  • Arsenal of Democracy
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Hearts of Iron II: Armageddon
  • Stellaris: Galaxy Edition
  • Magicka 2: Ice, Death and Fury
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Rome: Vae Victis
  • Stellaris: Nemesis
  • Europa Universalis III Complete
  • Europa Universalis III Complete
A lot to unpack in your post, but on the whole I totally agree.

There hasn't ever been a strategy game in history that has tried to do what Stellaris tries to do. Simulating so many things at once, as you mention, at a level of magnitude in terms of quantity greater than other PDS Clausewitz games. Like those other games, each increment is a "day" and we expect multiple of those to happen each second. And yes, multithreading is a bitch (speaking as a programmer), and single thread speed has slowed down massively in the past 10 years. Given all this, I think it's unreasonable for the game to calculate so much stuff multiple times a second, which my last post gets at.

That is a bad line of thinking to get into. Stellaris is its own game. There have been other real-time multiplayer space 4xes that simulation thousands of objects - Star Ruler and its sequel, for example. Star Ruler has simpler population, but has vastly more complex star system design (planets orbit), ship design, and combat.
 

Killeraoc

Private
35 Badges
Sep 7, 2018
21
0
  • Crusader Kings II
  • Stellaris: Synthetic Dawn
  • Tyranny - Tales from the Tiers
  • Crusader Kings II: Jade Dragon
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • BATTLETECH
  • Tyranny - Bastards Wound
  • Age of Wonders III
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun: Dragonfall
  • BATTLETECH: Flashpoint
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Stellaris: Ancient Relics
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Tyranny: Archon Edition
  • Stellaris - Path to Destruction bundle
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
Knowing the limits of your engine and working within those limits is expected. The end game crisis is a good example of this - sure its a fun narrative “final boss” but it also fulfills a core function of purging a lot of intensive cpu calcs by killing huge ais and pops. Good example of a nice fusion of performance, fun, and designing around known limits.

If you look at your saves now and go through em you’ll see like 70,000 lines devoted to individual pops. Each pop is still its own object like it was before...with its own happiness, species,faction, job assignment, etc. and the number of active pops in any one gamestste is now exploded and calcs are done on each of them. That’s so much more to keep track of. The “functioning” of populations into some sorta slider mechanic that is based on the planet is what i thought they were doing.

Instead of pops and tiles you have planet X. Planet X has a total population of 5 billion. 50% Human, 25% Energy Robot, 25% Mining Robot. Each grows at different rates per year and effects the % accordingly. Buildings/districts make so many jobs of each type available. The game allocates the “Pops” it the jobs to maximize production based on traits. No individual tiles. The output is determined by an average of all “pops” working at the job. Etc. Players can make certain jobs off limits to certain pops based on rights/template to optimize on his own.

Instead of planets having hundreds of pops checking many jobs planets just have a couple of strings on a per planet basis. It doesn’t matter if the planet/galaxy population is 5 billion, 5 trillion, or 5 quadrillion. It’s just a couple of ints instead of hundreds of objects.
 

ShaTiK

First Lieutenant
47 Badges
Aug 24, 2010
286
109
  • Majesty 2
  • Pillars of Eternity
  • Magicka 2
  • Europa Universalis IV: Pre-order
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Victoria: Revolutions
  • Magicka
  • Crusader Kings II
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Europa Universalis IV
  • Europa Universalis III Complete
  • Europa Universalis III
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Surviving Mars
  • Stellaris: Federations
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Synthetic Dawn
  • Age of Wonders III
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Apocalypse
  • Hearts of Iron IV: Expansion Pass
  • Surviving Mars: First Colony Edition
  • Imperator: Rome
  • Prison Architect
  • Surviving Mars: First Colony Edition
  • Stellaris: Ancient Relics
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Cadet
  • Stellaris
  • Europa Universalis IV: Common Sense
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Stellaris - Path to Destruction bundle
  • Stellaris: Megacorp
  • Hearts of Iron IV: Expansion Pass
Knowing the limits of your engine and working within those limits is expected. The end game crisis is a good example of this - sure its a fun narrative “final boss” but it also fulfills a core function of purging a lot of intensive cpu calcs by killing huge ais and pops. Good example of a nice fusion of performance, fun, and designing around known limits.

If you look at your saves now and go through em you’ll see like 70,000 lines devoted to individual pops. Each pop is still its own object like it was before...with its own happiness, species,faction, job assignment, etc. and the number of active pops in any one gamestste is now exploded and calcs are done on each of them. That’s so much more to keep track of. The “functioning” of populations into some sorta slider mechanic that is based on the planet is what i thought they were doing.

Instead of pops and tiles you have planet X. Planet X has a total population of 5 billion. 50% Human, 25% Energy Robot, 25% Mining Robot. Each grows at different rates per year and effects the % accordingly. Buildings/districts make so many jobs of each type available. The game allocates the “Pops” it the jobs to maximize production based on traits. No individual tiles. The output is determined by an average of all “pops” working at the job. Etc. Players can make certain jobs off limits to certain pops based on rights/template to optimize on his own.

Instead of planets having hundreds of pops checking many jobs planets just have a couple of strings on a per planet basis. It doesn’t matter if the planet/galaxy population is 5 billion, 5 trillion, or 5 quadrillion. It’s just a couple of ints instead of hundreds of objects.
And here we are coming to the very core concept of Stellaris as it is. Devs, don't know on which stage of development, decided to go with this, as far as I know, never really used model for population representation.
The standard way is just an abstract number, or rather a neat seat of numbers. You have colony, and this colony have a number of people (aliens, machines, not important). Then you add stuff - political approval, crime, stability, habitability, growth rate. You might even be fancy and go a little extra, with different species living on the same planet. If you want each species to have some special traits, you could implement this by primitive maths - you take total population and have planetary bonuses be proportional to population. All of this is implemented in Distant Worlds model. It's neat, simple - and it just works, as one corporate mouthpiece semi-recently said.
But Stellaris team wanted something different. Fine by them, they actually tried to have a pretty unique system for their game. Who doesn't want to have something unique for their own game. Problem was, the system required A LOT of work. I played Stellaris (as many others) from day 1. Like Pepperidge farm, I remember. All these shenanigans with ethic shifts, with literally immortal POPs (only way for POP to die was to purge then) and some other things that I might not recall right now. So it took almost 2 years to more or less fix the POP system, and even that had it's problems, mostly with gene-modified species or different types of robots.
Plus tiles, the system directly tied to the game core concept of POPs. It also took a lot of work. As it was already mentioned by a lot of people - the current 2.2 planetary rework is a bit tricksy. They said 'tiles are gone' - that's not true, they are still here. It's just that now we split planet in two parts - buildings and work places these buildings provide. Before that they where tied together - tile and it's building. Right now they are separate - that's all there is to planetary rework, really.
I'm saying all of this to show that it's literally impossible to change POP system for Stellaris into something else, for better or worse. You could tweak a lot of stuff, both to increase performance and to streamline things. For example, I think we could get rid of POP individual ethics - since ethics rework back in don't even know the patch, the global empire attraction modifiers are what's important. Yes, they affect POP individual ethics in the end, but if this is what causing the performance to tank, we could really get rid of this and replace in completely with empire-wide ethics system, instead of having each POPs ethics we would just have a global numbers for ethics and factions. While it's neat to be able to manually purge these pesky liberals, it's not really practical system to have. Or growth slot, or POP binary state (replace it with POP 'fillnes'/health'). These things could be done and some of them would be welcomed.
But there is no way devs would change the whole system. It's build around POPs. Which ties them to tiles. Get rid of that - and you kill the second main feature of this whole game (the main feature would be real-time nature I would say, since there are tons of turn-based space 4x and only a handful of real-times ones).
And, as a last note, there is no need at all in recalculating stuff for every POP in the galaxy all the time. I'm sure that, having a proper time-saving algorithms, you would be able to have a few thousand POPs in the galaxy with little issues.
 

Belshock

Private
8 Badges
May 10, 2016
23
13
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Megacorp
  • Age of Wonders: Planetfall
  • Age of Wonders: Planetfall Deluxe edition
  • Age of Wonders: Planetfall Premium edition
  • Age of Wonders: Planetfall Sign Up
  • Stellaris: Federations
I dont think the new pop/district system is the main problem. I mean how many functions do we have which are connected to pops? We can open/close jobs and we can relocate them. Thats the same amount than before. Unless the AI constantly f*cks with the jobs i dont see any reasons why would it be more laggy than in Niven.

Tha main problems - in my opinion - are the market and piracy calculations. Both are calculated on a daily basis. Thats what f*cks up the performance.
I wonder if there is a way to disable one or both of them to check it.

If not, they HAVE TO be changed.

I mean for piracy even a 10 day calculation cycle (or even th classic monthly model) would work. Ships cant cross a system in less time than that, so the patrolling mechanic wouldnt be a problem either.

So the market system is quite harder to change. What if the empires make sell and buy orders during the month, then at the end of the month the system calculates the prices according to those orders, sends a message where you can accept or cancel the order(s). Yes it means, that you have to wait a little to get the resources, but at least the AI wouldnt have to calculate the prices every crappy day.

The whole theory i have just said might be bullsh*t. Why? Because people who experience the day 1 daily tick, still have it even in an empty galaxy.
 

Razzlie

Re-Blorgalicious!
69 Badges
Feb 1, 2015
966
277
  • Cities: Skylines - After Dark
  • Stellaris: Galaxy Edition
  • Surviving Mars: Digital Deluxe Edition
  • Cities: Skylines - Natural Disasters
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • BATTLETECH
  • Surviving Mars
  • Age of Wonders: Planetfall Premium edition
  • Age of Wonders: Planetfall
  • Age of Wonders
  • Cities: Skylines - Green Cities
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Digital Anniversary Edition
  • BATTLETECH - Beta Backer
  • BATTLETECH - Backer
  • Cities: Skylines - Parklife
  • Age of Wonders: Planetfall Deluxe edition
  • Surviving Mars: First Colony Edition
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Imperator: Rome Sign Up
  • Surviving Mars: First Colony Edition
  • Cities: Skylines Industries
  • BATTLETECH: Flashpoint
  • Stellaris: Megacorp
  • Europa Universalis IV
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Federations
  • Age of Wonders: Planetfall - Revelations
  • BATTLETECH: Heavy Metal
  • Stellaris: Lithoids
  • Age of Wonders: Planetfall Season pass
  • Teleglitch: Die More Edition
  • Cities: Skylines
  • Cities: Skylines - Campus
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Magicka 2
  • Europa Universalis IV: Common Sense
  • Cities: Skylines - Snowfall
  • BATTLETECH: Season pass
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris Sign-up
  • Stellaris: Leviathans Story Pack
The whole theory i have just said might be bullsh*t. Why? Because people who experience the day 1 daily tick, still have it even in an empty galaxy.

Yeah, I just don't think wormholes, pops, any of that stuff really comes into play when we consider day one stutter. It seems like something far more fundamental is wrong, somehow.

I hope PDS will speak up on the matter soon.
 

ImbaXenoSnipar

Sergeant
17 Badges
Mar 5, 2018
62
0
  • Stellaris - Path to Destruction bundle
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Cities: Skylines - Natural Disasters
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Cities: Skylines - Snowfall
  • Cities: Skylines - After Dark
  • Cities: Skylines
  • Crusader Kings II
  • Stellaris: Synthetic Dawn
  • Stellaris
The game definitely lags and stutters even if all empires are gestalt (no trade, no piracy). It was shown in one of the other threads that POP count is what contributes to the lag the most.

https://forum.paradoxplaza.com/foru...ellaris-performance-analysis-2.1143652/unread

However, the OP of that thread does not talk about the stutter, but only about the time it takes for a day to pass (what most people call the lag). But I have also had day 1 stutter on huge maps which I agree cannot be explained only by POP count. It looks like this is very difficult to pinpoint...
 

Ashreon

Corporal
23 Badges
Dec 23, 2017
32
5
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Cities: Skylines - Campus
  • Stellaris: Megacorp
  • Cities: Skylines Industries
  • Stellaris: Distant Stars
  • Cities: Skylines - Parklife
  • Stellaris: Apocalypse
  • Cities: Skylines
  • Cities: Skylines - Green Cities
  • Cities: Skylines - Mass Transit
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Natural Disasters
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris
  • Cities: Skylines - Snowfall
  • Cities: Skylines - After Dark
I'm playing on a 10,000 star galaxy with 51 empires, x5 primitive, x5 habitable, 9 marauders and 7 fallen empires, with the graphics on max settings and I have no stutter so far in 2267. I'm thinking this is system specific.

If you need proof watch this:

The performance issues with this new patch is staggering.
I have stuttering in galaxy map from day 0. It's most definitely related to the AI. When all the AIs are constantly swapping stuff around it makes sense. MonstersAbound noted that the AI would constantly change governors to reduce crime, after 1 month and the crime was low enough they would swap back to the other governor. It even went as far as messing with OBT sound recording - it was so obvious that when the game lagged, his speech would lag.
These kind of things have a huge impact on performance.
Obviously this is not just related to governor but most likely all the new mechanics as well as old ones.