Stellaris Dev Diary #170 - Performance and other technical issues

Stellaris Dev Diary #170 - Performance and other technical issues

  • Crusader Kings III Available Now!

    The realm rejoices as Paradox Interactive announces the launch of Crusader Kings III, the latest entry in the publisher’s grand strategy role-playing game franchise. Advisors may now jockey for positions of influence and adversaries should save their schemes for another day, because on this day Crusader Kings III can be purchased on Steam, the Paradox Store, and other major online retailers.


    Real Strategy Requires Cunning

Moah

Platypus Admirer
49 Badges
Sep 20, 2011
655
2.803
  • Cities in Motion
  • Europa Universalis IV: Pre-order
  • Sengoku
  • Semper Fi
  • Europa Universalis IV: Res Publica
  • Magicka
  • Heir to the Throne
  • Hearts of Iron III
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Divine Wind
  • Europa Universalis III: Chronicles
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Europa Universalis III Complete
  • 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
  • Europa Universalis III
  • Shadowrun: Hong Kong
  • Prison Architect
  • Shadowrun: Dragonfall
  • Shadowrun Returns
  • Tyranny - Bastards Wound
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Stellaris: Galaxy Edition
  • Stellaris Sign-up
  • Tyranny - Tales from the Tiers
Hello, my friends! This is Moah, Tech Lead of Stellaris typing. I can finally talk about what you’ve all been waiting for: How many new platypi will there be in Federations? After weeks of…

Well, apparently, I should be "more technical." But before we jump into the mysteries of the Stellaris code, I want to take the time to talk a little about the balance between adding new features, improving performance and stability – especially in terms of multiplayer and the dreaded out-of-syncs (dreaded at least by me).

The Delicate Balance
Stellaris, like most decently sized code bases, is like a complex game of Mikado or Jenga: every part is connected in some way to every other part. When you add a feature, you add more connections. If you’re careful, you add only a few, if you’re in a rush you add a bit too many. This generally leads to Unplanned Features (aka bugs). In addition, once we see them perform in the actual game, we tend to expand features in new, unexpected ways, leading to more Unplanned Features(tm).

Once we realize what is happening, we start being more careful. Maybe too careful. Checking too many things, too often, ensuring that this interaction that is supposed to never actually happen is actually not happening. Not now, not later. Not ever.

So you have removed the unplanned features, but the game is a bit, ah… too careful. Some would say slow.

So you remove some of these checks. You realize that you don’t need to loop around the galaxy, you can just loop around this one tiny planet. Then you go one step further, and think “well I can maybe do that check only every three weeks, and this calculation needed by all these checks, I could store it in here and reuse it until the next time it changes.”

So now the game isn’t so careful anymore, we’re back in unplanned feature territory. But if the caching (storing/reusing calculations) happens at different times on different machines, you get slightly different results (like asking a developer for something before and after they had coffee).

Slightly different results are what OOS thrives on! Clients and servers have 0.0001 cost difference, compounded over time, that corvette is bought on the server but not on the client.

So you remove your “smart” algorithm. You replace it with the correct algorithm. You lose half of what you gained in step 2 and reintroduce some bugs. Probably.
Rinse and repeat.

But enough about my morning routine! Let’s talk about…

Performance
Stellaris fans are like C++ programmers: performance is always on their mind. To be fair, it has also been on ours a lot lately. We know that it’s not all that it could be, especially in late game and with the bigger galaxies. With that in mind, we’ve taken time to improve performance in a bit more depth than we usually can. We looked at what was taking the most time, and as everyone knows that is…



Pops.

There are many reasons why pops consume a lot of time in Stellaris, but the main one is that by endgame we have SO MANY of them. SO So so so so many. And they do so much! Pops have to calculate how good they’d be at every job (they do so every 7 days). Then they have to fight every other pop on the planet to get the job they’re best at. They also have to check if they could have a specific ethic. If they could join a specific faction. How happy they are. How happy they could be. How happy they would be on that planet over there.
All these things trigger modifiers calculations. If you remember my last dev diary, you know that modifiers are the only thing more numerous than Pops in Stellaris. And they all depend on each other. Calculating them is like pulling on a thread and getting the whole sweater.


OK, but what did we actually do about it?
Well first, I’ll admit I may have been a bit pigheaded on the whole “we need to do the jobs distribution every day because we don’t know when new jobs are added.” We reexamined this assumption, and jobs distribution is now only done on demand. It was also rewritten to iterate over a lot fewer things.

We also noticed a few triggers going through every pop of an empire to check if one or more are enslaved, decadent, or other things that can be tested at the species level. So we made new triggers to test these things at the species levels. In the same spirit, we had events going through every ship to find a fleet, so we added triggers at the fleet level.

Second, We’ve also reworked the approach to checking if pops can change ethics (and also made it work again), or if they can join factions.

Finally, we’ve looked for (and found) opportunities to use more multi threading.

But enough talk! What’s the result? Well, if a picture is worth a thousand words, here’s the answer at 30000 words a second:


The video compares the performance of 2.5.1 “Shelley” to 2.6 “Verne'' when running a save game from the community, which can be found attached to this post, with over 20000 pops. It was recorded on my work computer (Intel Core7-7900X @ 3.30Ghz, 10 cores and 20 threads, and AMD R9 Fury). You won’t necessarily get the same results, the exact difference in performance will vary with your computer, and the exact situation in your own save games, of course. On average, we’ve found something between 15% and 30% improvement in late game situations.
This save is just ideal to showcase the impact of the pops improvement.



What is this average anyway? How do you know?
Well, we have synths playing the game all night, every night. In the morning, we check how far they were able to go. We also ask them how many errors they encountered, what their endgame looked like, whether they got any OOS and then put all of that in tables and graphs, with many colors. Then we wipe the synths, so they don’t ask pesky questions about souls and whatnot.



In conclusion
Although we keep performance in mind and do our best to keep it reasonable, we’re happy we had a chance to take a deeper dive into the issue. Hopefully the changes will spark as much joy for you as it did for us, and we’re looking forward to your feedback!

Next week will feature another dev diary about the other thing you’ve all been waiting for… MORE PLATYPI!

PS: The save file we're using is from the community, one of the performance threads. We are however unsure where we originally got it from. So if you recognize it, or if it's yours please tell us so we can credit you properly.
 

Attachments

Last edited:

Lord Lambert

Lord Lambert
85 Badges
Jan 26, 2014
1.337
1.024
  • Prison Architect
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II
  • Victoria 2: A House Divided
  • Cities: Skylines - After Dark
  • Crusader Kings II: Legacy of Rome
  • Pillars of Eternity
  • Stellaris: Apocalypse
  • Steel Division: Normandy 44
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - Green Cities
  • Hearts of Iron IV: Death or Dishonor
  • Steel Division: Normand 44 Sign-up
  • Surviving Mars
  • BATTLETECH
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Holy Fury
  • PDXCON 2018 "The Baron"
  • BATTLETECH - Digital Deluxe Edition
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Surviving Mars: First Colony Edition
  • Cities: Skylines Industries
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Golden Century
  • Europa Universalis IV: Common Sense
  • Stellaris: Ancient Relics
  • Crusader Kings III
  • Imperator: Rome Deluxe Edition
  • Teleglitch: Die More Edition
  • Victoria 2
  • War of the Roses
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Mount & Blade: Warband
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - Campus
  • Crusader Kings II: Conclave
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Cities: Skylines - Natural Disasters
This is exactly what is needed. Thanks for this one, Moah :)
 

Annihilat0r

Captain
30 Badges
Sep 21, 2017
381
320
  • Stellaris
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Synthetic Dawn
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Crusader Kings II: Holy Fury
  • Shadowrun: Hong Kong
  • Crusader Kings II: Jade Dragon
  • Age of Wonders: Shadow Magic
  • Age of Wonders III
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
Thanks for the write up Moah, looks like you did a great job! I personally wouldn't mind if you get even more technical next time though :)

That video is seriously impressive. Now there's only hoping that 2.6 will be released soon, so I can finally play one of my favourite games again.
 

Ffc

Galactic Emperor
50 Badges
Jan 27, 2016
141
110
  • Stellaris: Apocalypse
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Cradle of Civilization
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Imperator: Rome - Magna Graecia
  • Crusader Kings III
  • Europa Universalis IV: Conquest of Paradise
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Stellaris
  • Cities: Skylines
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Imperator: Rome
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Crusader Kings II
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Res Publica
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Pre-order
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
Thank you a lot, I hope I will notice a difference
 

Liggi

First Lieutenant
72 Badges
Mar 28, 2017
246
941
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Hearts of Iron IV: Cadet
  • Cities: Skylines - Parklife
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife Pre-Order
  • Stellaris: Distant Stars
  • Stellaris: Ancient Relics
  • Age of Wonders: Planetfall
  • Stellaris: Lithoids
  • Crusader Kings III
  • Prison Architect
  • Europa Universalis IV: Dharma
  • Victoria 2
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Cities: Skylines
  • Pillars of Eternity
  • Crusader Kings II: Conclave
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Expansion Pass
  • Imperator: Rome
  • Cities: Skylines Industries
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines - Snowfall
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
Damn! That's a big improvement. Almost ran 6 months in the space it took the old patch to run 1. Very excited for this to release so I can play again, and thanks for your efforts!
 

Methone

Field Marshal
13 Badges
Oct 27, 2018
6.434
947
  • Stellaris: Synthetic Dawn
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
Pops have to calculate how good they’d be at every job (they do so every 7 days).
If this is the case, then why do pops shuffle their jobs every 1 day in the current patch?
 

Gilad Pellaeon

Filthy Recidivist
78 Badges
Nov 3, 2011
359
786
  • Europa Universalis IV: Rights of Man
  • Stellaris: Galaxy Edition
  • Tyranny: Archon Edition
  • Crusader Kings Complete
  • Age of Wonders: Planetfall Sign Up
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • BATTLETECH: Flashpoint
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Galaxy Edition
  • BATTLETECH: Season pass
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Age of Wonders III
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH - Initiate of the Order
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife Pre-Order
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Stellaris: Ancient Relics
  • Prison Architect
  • Imperator: Rome Sign Up
  • Europa Universalis III Complete
  • BATTLETECH - Beta Backer
  • BATTLETECH - Backer
  • Europa Universalis III Complete
  • Cities: Skylines - Parklife
  • Shadowrun: Hong Kong
  • Teleglitch: Die More Edition
  • Warlock: Master of the Arcane
  • 500k Club
  • Europa Universalis IV: El Dorado
  • BATTLETECH: Heavy Metal
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Mare Nostrum
  • Stellaris: Synthetic Dawn
  • Cities: Skylines
  • Europa Universalis IV: Call to arms event
  • Cities: Skylines - Snowfall

hessuu

Fanatic Materialist Egalitarian
74 Badges
Aug 9, 2008
45
1
  • Crusader Kings II
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines - Snowfall
  • Europa Universalis IV: Third Rome
  • Cities: Skylines - After Dark
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Jade Dragon
  • Sword of the Stars II
  • Sword of the Stars
  • Europa Universalis IV: Res Publica
  • Majesty 2
  • Magicka
  • Leviathan: Warships
  • Crusader Kings II: Charlemagne
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Knights of Pen and Paper +1 Edition
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Cities: Skylines - Mass Transit
  • Stellaris: Apocalypse
  • Europa Universalis IV: Mandate of Heaven
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Leviathans Story Pack
  • Surviving Mars
  • Age of Wonders III
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Humanoids Species Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Cadet
  • Cities: Skylines - Parklife
  • Crusader Kings II: Conclave
  • Cities: Skylines - Parklife Pre-Order
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Victoria 2
Thanks for the good news and the entertaining writeup! Looking forward to the patch.
 

Annihilat0r

Captain
30 Badges
Sep 21, 2017
381
320
  • Stellaris
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Humanoids Species Pack
  • Stellaris: Synthetic Dawn
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Crusader Kings II: Holy Fury
  • Shadowrun: Hong Kong
  • Crusader Kings II: Jade Dragon
  • Age of Wonders: Shadow Magic
  • Age of Wonders III
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
So... A CPU that (according to this site: https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-7900X+@+3.30GHz&id=3056 ) Is still heads and shoulders above the 10 most common desktop CPUs in circulation will get a 15%-30% increase in performance.

So for those of us who have lower specs it will be... Pretty much negligible. ... Amazing. :(
Read again. He said on avarage 15%-30%.
In his video, which he recorded on said CPU, it was about 500% faster.

Edit: Also, single core performance is not that great for the 7900X and pretty much comparable for most mid range CPUs over the last 6-8 years anyway. Most evolution was more cores and not more clock speed, and Stellaris still benefits most from single core speed.
 

henzington

Field Marshal
87 Badges
May 28, 2013
3.777
1.405
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • BATTLETECH: Season pass
  • Europa Universalis IV: Dharma
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Mandate of Heaven
  • Prison Architect
  • BATTLETECH
  • BATTLETECH: Heavy Metal
  • Europa Universalis IV: Dharma Pre-order
  • Stellaris: Lithoids
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Distant Stars
  • Crusader Kings II: Holy Fury Pre-order
  • Shadowrun: Hong Kong
  • Crusader Kings III
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome Sign Up
  • Shadowrun Returns
  • Victoria 2
  • Stellaris: Ancient Relics
  • Cities: Skylines
  • Shadowrun: Dragonfall
  • Europa Universalis IV: El Dorado
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
Glad to hear this. I know CK2 has similar performance issues after Rajas and appreciate this work
 

lgonggr

Captain
66 Badges
Jun 15, 2004
407
24
  • Crusader Kings II: Conclave
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Warlock: Master of the Arcane
  • War of the Roses
  • 500k Club
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • The Showdown Effect
  • Stellaris
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Third Rome
  • Stellaris: Synthetic Dawn
  • Age of Wonders III
  • Crusader Kings II: Jade Dragon
  • Crusader Kings III
  • Divine Wind
  • 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: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Dungeonland
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Heir to the Throne
  • Knights of Pen and Paper +1 Edition
  • Leviathan: Warships
  • Magicka
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Sword of the Stars
TAKE MY CREDITS
 

Moah

Platypus Admirer
49 Badges
Sep 20, 2011
655
2.803
  • Cities in Motion
  • Europa Universalis IV: Pre-order
  • Sengoku
  • Semper Fi
  • Europa Universalis IV: Res Publica
  • Magicka
  • Heir to the Throne
  • Hearts of Iron III
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Divine Wind
  • Europa Universalis III: Chronicles
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Europa Universalis III Complete
  • 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
  • Europa Universalis III
  • Shadowrun: Hong Kong
  • Prison Architect
  • Shadowrun: Dragonfall
  • Shadowrun Returns
  • Tyranny - Bastards Wound
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Stellaris: Galaxy Edition
  • Stellaris Sign-up
  • Tyranny - Tales from the Tiers
If this is the case, then why do pops shuffle their jobs every 1 day in the current patch?
Although we calculate how good a pop is at every job every seven day, we redistribute pops to jobs (or jobs to pops) every day.
The reason why this was being done is that jobs amounts are actually modifiers and modifiers can come from everywhere, so there's no real way to check only when something change.
HOWEVER in practice, there are only a few places where these things actually happen and they were easy to localize. Which we've done. We missed a few, but then we got a couple of bug reports saying "Jobs don't update when XXX happens" so we fixed that, and now, probably like 99% of cases where the number of jobs change update the job distribution.
There might be a special case where your asteroids event adds a "Bruce Willis" job where it won't be reflected immediately but only right before the economy update, but otherwise it works well.
 

Olterin

Major
66 Badges
Jul 15, 2015
644
602
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings III
  • Cities: Skylines - Parklife Pre-Order
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Distant Stars
  • Surviving Mars
  • Cities: Skylines - Parklife
  • Age of Wonders III
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Holy Fury
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Magicka: Wizard Wars Founder Wizard
  • Victoria 2
  • Shadowrun Returns
  • Europa Universalis IV: Dharma
  • Warlock: Master of the Arcane
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Surviving Mars: First Colony Edition
  • Stellaris: Megacorp
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Golden Century
  • Crusader Kings II: Conclave
  • Stellaris: Lithoids
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Europa Universalis IV: Cossacks
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
I'll admit I cheered way too much when I saw the video. Good news, everyone! Looks like the lategame will be technically not a snail anymore :O

This was well worth the wait.

Edit: just to be absolutely clear - I can't say enough how much I appreciate this performance work. Just wish it'll be an ongoing effort and not a one-off
 
Last edited:

ChrisOhm

Corporal
52 Badges
Dec 10, 2015
25
74
  • Europa Universalis IV: Third Rome
  • 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
  • Europa Universalis IV: Res Publica
  • Stellaris: Galaxy Edition
  • Surviving Mars: First Colony Edition
  • Europa Universalis IV: Mandate of Heaven
  • Knights of Honor
  • Surviving Mars
  • Europa Universalis IV: Cradle of Civilization
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Rights of Man
  • Stellaris: Megacorp
  • Europa Universalis IV: Golden Century
  • Prison Architect
  • Crusader Kings III
  • Stellaris: Ancient Relics
  • PDXCon 2019 "Baron"
  • Stellaris: Lithoids
  • Stellaris: Galaxy Edition
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Victoria 2
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Victoria 2: A House Divided
  • Crusader Kings II: The Old Gods
  • Victoria 2: Heart of Darkness
  • Cities: Skylines Deluxe Edition
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
Thanks for the nice diary. According to the video I predict Christmas 2579 going to have the best performance in giving presents to the playerbase :)
 

Gilad Pellaeon

Filthy Recidivist
78 Badges
Nov 3, 2011
359
786
  • Europa Universalis IV: Rights of Man
  • Stellaris: Galaxy Edition
  • Tyranny: Archon Edition
  • Crusader Kings Complete
  • Age of Wonders: Planetfall Sign Up
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • BATTLETECH: Flashpoint
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Galaxy Edition
  • BATTLETECH: Season pass
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Age of Wonders III
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH - Initiate of the Order
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife Pre-Order
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Stellaris: Ancient Relics
  • Prison Architect
  • Imperator: Rome Sign Up
  • Europa Universalis III Complete
  • BATTLETECH - Beta Backer
  • BATTLETECH - Backer
  • Europa Universalis III Complete
  • Cities: Skylines - Parklife
  • Shadowrun: Hong Kong
  • Teleglitch: Die More Edition
  • Warlock: Master of the Arcane
  • 500k Club
  • Europa Universalis IV: El Dorado
  • BATTLETECH: Heavy Metal
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Mare Nostrum
  • Stellaris: Synthetic Dawn
  • Cities: Skylines
  • Europa Universalis IV: Call to arms event
  • Cities: Skylines - Snowfall
Read again. He said on avarage 15%-30%.
In his video, which he recorded on said CPU, it was about 500% faster.
Can't watch the video at work right now, but if that's true, then... Well. Okay. That's a "hot damn!" moment.
 

pliznobn

First Lieutenant
May 24, 2019
227
810
Read again. He said on avarage 15%-30%.
In his video, which he recorded on said CPU, it was about 500% faster.

Edit: Also, single core performance is not that great for the 7900X and pretty much comparable for most mid range CPUs over the last 6-8 years anyway. Most evolution was more cores and not more clock speed, and Stellaris still benefits most from single core speed.
15% more than the current state is still a long way from acceptable.

Are there plans to continue focussing on performance to the same extent, or will we return to the status quo of "we are always working on performance"?
 

Methone

Field Marshal
13 Badges
Oct 27, 2018
6.434
947
  • Stellaris: Synthetic Dawn
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
Although we calculate how good a pop is at every job every seven day, we redistribute pops to jobs (or jobs to pops) every day.
The reason why this was being done is that jobs amounts are actually modifiers and modifiers can come from everywhere, so there's no real way to check only when something change.
HOWEVER in practice, there are only a few places where these things actually happen and they were easy to localize. Which we've done. We missed a few, but then we got a couple of bug reports saying "Jobs don't update when XXX happens" so we fixed that, and now, probably like 99% of cases where the number of jobs change update the job distribution.
There might be a special case where your asteroids event adds a "Bruce Willis" job where it won't be reflected immediately but only right before the economy update, but otherwise it works well.
Thanks for the clarification!