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

Stellaris Dev Diary #170 - Performance and other technical issues

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…

G3Zg2ENmwufWgqUXGFjTEebkxlbQzYRGI0diuSOCrFfUcSl9Xn8EkYCyzAUtWAyCdVXt5biT3vv65T4n-EnA5YmHZXb_Gpp9ydvqh28lj_Oa7py3yU3MHETwURjuo1QD4sFZiZNB


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.

DYxcPB_pqZfHKxxtAj0sh_Y3nx7zXM4OMcUHTkgNsDK9csuQgEECkgc6jVmUEgWpoa6lD2e9kfYdssD61j2I57mhM0XcyT20wfu8fFIZbP-Usqnw2PShuEAD0_-n-ZTNFcH0NJR6


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.

EwNw1Mhvr5FLcwYQYuZClsoMxr8qHs3nF3VPqExEcAJrWCvISTEc2fcl3fNLWzQlWKdxuDLAGHEagL9FXOrtio6XazmKpx_rsR7Ri58Ts2tFbq7OcWPdsIG_ayumIutkMGm2VnD_


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

  • perf_massive.sav
    4 MB · Views: 289
Last edited:
  • 1Like
Reactions:

Eelectrica

Colonel
81 Badges
Nov 12, 2016
910
331
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Crusader Kings II
  • Age of Wonders: Planetfall Season pass
  • Stellaris: Federations
  • Crusader Kings III
  • Europa Universalis IV
  • Stellaris: Synthetic Dawn
  • Tyranny - Tales from the Tiers
  • Stellaris: Galaxy Edition
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Shadowrun Returns
  • Age of Wonders III
  • Tyranny - Bastards Wound
  • Stellaris: Distant Stars Pre-Order
  • Imperator: Rome - Magna Graecia
  • BATTLETECH: Heavy Metal
  • Stellaris: Lithoids
  • BATTLETECH - Beta Backer
  • Age of Wonders: Planetfall Premium edition
  • BATTLETECH: Season pass
  • Stellaris: Distant Stars
  • Imperator: Rome Deluxe Edition
  • Crusader Kings II: Holy Fury
  • Stellaris: Megacorp
  • Surviving Mars: First Colony Edition
  • Shadowrun: Hong Kong
  • Shadowrun: Dragonfall
  • BATTLETECH
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Crusader Kings II: Monks and Mystics
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Tyranny: Gold Edition
  • Stellaris: Ancient Relics
  • Age of Wonders: Planetfall - Revelations
  • BATTLETECH: Flashpoint
  • Imperator: Rome
  • Age of Wonders: Planetfall Deluxe edition
Just want to say thanks for your efforts. It's appreciated. Looking forward to the update and expansion!

In some ways I kind of look at performance and compare it Planetfall and similar turn based games. The opening 10 turns take no time at all. The 100th turn might take half an hour to sort all the things out I want to do.
Point being the game is going to slow down as more things are happening. Trick is keeping it manageable I guess.
 

Annihilat0r

Captain
37 Badges
Sep 21, 2017
438
743
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • BATTLETECH
  • Tyranny: Gold Edition
  • Tyranny: Archon Edition
  • Tyranny: Archon Edition
  • 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
Can't watch the video at work right now, but if that's true, then... Well. Okay. That's a "hot damn!" moment.
I would like to point out that the 15%-30% "on average" most likely also reflects on average over the whole campaign, where the first half or so might be negligible. The video that he posted was an extreme case, very late game with more than 20k pops, so in that case the increase might be 500+%. Which is more or less exactly what I was hoping for.
 

bedervet

Private
33 Badges
Feb 20, 2020
12
21
  • BATTLETECH: Season pass
  • Surviving Mars: First Colony Edition
  • BATTLETECH: Flashpoint
  • Surviving Mars: First Colony Edition
  • Shadowrun Returns
  • Stellaris: Distant Stars
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Apocalypse
  • Hearts of Iron IV: Expansion Pass
  • Age of Wonders III
  • Surviving Mars
  • BATTLETECH
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Tyranny: Archon Edition
  • Hearts of Iron IV: Cadet
  • Stellaris
  • Stellaris: Lithoids
  • Crusader Kings II: Way of Life
  • Mount & Blade: Warband
  • BATTLETECH: Heavy Metal
  • Stellaris: Federations
  • Stellaris: Necroids
  • Stellaris: Synthetic Dawn
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Crusader Kings II
  • Stellaris - Path to Destruction bundle
  • Pillars of Eternity
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
Awesome guys, as a developper myself, I Really appreciate your work on thoses issues and your explainations/

OMG is this Grafana output in the bottom of the Post?
It means I can connect Stellaris event stream to a Database?? Pleaz @Moah says yes!!!!
 

A2ch0n

Spymaster
21 Badges
May 30, 2018
1.162
3.493
  • Stellaris: Megacorp
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Age of Wonders: Planetfall - Revelations
  • Stellaris: Lithoids
  • Age of Wonders: Planetfall Season pass
  • Age of Wonders: Planetfall Premium edition
  • Age of Wonders: Planetfall Deluxe edition
  • Age of Wonders: Planetfall
  • Stellaris: Ancient Relics
  • Stellaris
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
Finally, we’ve looked for (and found) opportunities to use more multi threading.

can you say something about the improved multithread use? It would be very interesting to know, especially if there is a thread dedicated for checking the jobs or fleet movement. Actually i've looked many times in my performance monitor and one of my threads is at its peak and the other ones are idle the most time. Will you share a glimpse of your wisdom with us? :)
 
Last edited:

Arutar

First Lieutenant
47 Badges
May 10, 2017
265
116
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Europa Universalis IV
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Age of Wonders III
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rights of Man
  • Stellaris: Apocalypse
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Shadowrun: Dragonfall
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Age of Wonders: Planetfall
  • Stellaris: Lithoids
  • Europa Universalis IV: El Dorado
  • Hearts of Iron IV: No Step Back
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Europa Universalis 4: Emperor
  • Crusader Kings III
  • Victoria 2
  • Stellaris: Federations
  • Hearts of Iron IV: La Resistance
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Stellaris: Galaxy Edition
  • Age of Wonders: Planetfall - Revelations
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Expansion Pass
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Stellaris: Galaxy Edition
Thank you for this.

Just to throw this out here:

Have you ever thought about just reducing the amount of indvidual pops (i.e. lower pop growth rate as well as housing and all the population dependent thresholds, while accordingly increasing the ressources create by jobs?).

An indivudual pop is an abstract unit anyway, so not why make the unit a bit bigger? I wouldnt care if my planets are maxed out late game with 40-60 or 100-120 pops if the ressources provided / supply needed is the same. I mean, before 2.0 the hard cap for pop units per planet was the number of tiles, i.e. 25.
 

Ragnor Ironpants

Sergeant
65 Badges
Nov 2, 2017
80
136
  • Cities: Skylines - Campus
  • Crusader Kings II
  • Victoria 2: Heart of Darkness
  • Europa Universalis IV
  • Victoria 2: A House Divided
  • Europa Universalis 4: Emperor
  • Crusader Kings III: Royal Edition
  • Stellaris: Federations
  • Victoria 2
  • Europa Universalis IV: Cossacks
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Reapers Due
  • Crusader Kings III
  • 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
  • Hearts of Iron IV: Death or Dishonor
  • Cities: Skylines - Green Cities
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Stellaris: Ancient Relics
  • Hearts of Iron IV: Cadet
  • Stellaris: Galaxy Edition
  • Stellaris
  • Cities: Skylines
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Cities: Skylines - After Dark
  • 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
I'm really happy about this. Stellaris is now one of the best games I've ever played and I've previously bought DLC on day one without thinking about it, but I was unsure about Federations because performance is getting so bad.
 

_Drizzt_

Corporal
Mar 22, 2018
49
2
Yay a dev diary about performance and we'll get a speedup of ~14-30% GREAT!!

Results are all that matter and the speedup is a good result to silence most doubts.
Still I'm a bit confused and sceptical about the "jobs distribution is now only done on demand" as the solution to all slow downs. Will this really solve our core problem? I remember the Perfomance Megathread stating the problem of slow downs is not the pops checking for new jobs every day. According to the thread it is rather the pops checking once a new (vacant) job opened up - meaning once a new job is created all pops on the planet check everyday if they should leave their current job and take the new job. (EDIT: Here's GnoSIS post with the analysis: https://forum.paradoxplaza.com/forum/index.php?threads/performance-megathread.1253705/page-22 - Post 427)
Lots of (unemployed) pop were supposed to be even beneficial and their normal regular checks were much less of a problem in comparison.
 
Last edited:

Pancakelord

Lord of Pancakes
43 Badges
Apr 7, 2018
3.272
11.700
  • Cities: Skylines - Green Cities
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Ancient Relics
  • Cities: Skylines - Mass Transit
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Imperator: Rome
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Cities: Skylines Industries
  • Imperator: Rome Deluxe Edition
  • Cities: Skylines - After Dark
  • Stellaris: Nemesis
  • Europa Universalis IV
  • Stellaris: Necroids
  • Crusader Kings III
  • War of the Roses
  • Cities: Skylines
  • Stellaris: Federations
  • Magicka: Wizard Wars Founder Wizard
  • Cities: Skylines - Snowfall
  • Stellaris: Lithoids
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Stellaris - Path to Destruction bundle
  • Stellaris: Megacorp
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
  • Stellaris
  • Cities: Skylines Deluxe Edition
  • Sword of the Stars II
  • March of the Eagles
  • Darkest Hour
Looks good! For some reason the music in that video reminded me of Stargate. Not sure why - is it a new track coming with Federations?

Out of curiosity, are job checks/tests performed on "invalid pops"?
  • E.g. If i have 1000 pops in an undesirables cast [e.g. being purged] on a planet is the game running fewer checks on them vs someone in ruler/specialist/worker cast (on a daily - or weekly/monthly basis, now, i guess?)
 

Fjolsvid

Major
28 Badges
Jan 7, 2014
533
64
  • Magicka
  • Majesty 2 Collection
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Age of Wonders: Planetfall - Revelations
  • Stellaris: Lithoids
  • Age of Wonders: Planetfall Deluxe edition
  • Age of Wonders: Planetfall
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Age of Wonders III
  • Surviving Mars
  • BATTLETECH
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Pillars of Eternity
  • Magicka: Wizard Wars Founder Wizard
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
Seems more like 200% improvement, 2 months (Jan and Feb) passed in 2.5.1 and 6 (Jan, Feb, Mar, Apr, May, June). Oh well, 3 years per hour is better than 1 year per hour, so i'll take it.
And of course, we'll see how it will be in the game when the patch goes live.
 

Make Victoria 3

Colonel
30 Badges
Feb 19, 2018
871
549
  • Europa Universalis IV: Mare Nostrum
  • Victoria 3 Sign Up
  • Europa Universalis IV: Dharma
  • Stellaris: Distant Stars
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Apocalypse
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Cadet
  • Stellaris
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: El Dorado
  • Victoria 2
  • Europa Universalis IV
  • Crusader Kings II: The Old Gods
  • Crusader Kings II
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Europa Universalis IV: Res Publica
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
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.
Are there any other changes about ethics attraction/factions beeing possible to show up or is it just working as before with the tile system for pops?

How much multithreading was added/will a CPU with good single cores (i3 8350k 4x4Ghz 4 Threads) still be better for stellaris than your CPU that cost almost as much as my entire PC?
 

Spartakus

I'm Spartakus
53 Badges
Feb 22, 2018
1.237
5.035
  • Europa Universalis IV
  • Cities: Skylines - After Dark
  • Cities: Skylines - Mass Transit
  • Cities: Skylines - Parklife
  • Cities: Skylines Industries
  • Crusader Kings III
  • BATTLETECH
  • BATTLETECH - Initiate of the Order
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Crusader Kings II
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Cities: Skylines
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!
Much appreciated. I'm always happy to see dev diaries dive deep into the inner workings. As we all know, the night, erm code is dark and full of errors.

However the other dev diary I've been long waiting for is about the AI rather then platypi. I'm among those who never had any performance issues because I never played a single post 2.2 game into the late game due to how non-competing the AI is. Any chance we're going to hear about that anytime soon?
 

Make Victoria 3

Colonel
30 Badges
Feb 19, 2018
871
549
  • Europa Universalis IV: Mare Nostrum
  • Victoria 3 Sign Up
  • Europa Universalis IV: Dharma
  • Stellaris: Distant Stars
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Apocalypse
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Cadet
  • Stellaris
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: El Dorado
  • Victoria 2
  • Europa Universalis IV
  • Crusader Kings II: The Old Gods
  • Crusader Kings II
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Europa Universalis IV: Res Publica
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
Still I'm a bit confused and sceptical about the "jobs distribution is now only done on demand" as the solution to all slow downs. Will this really solve our core problem?
My assumption would be that the same is applied for vacant jobs too (and generally applied in most areas where it makes sense), because unless a check wheter it needs to be done is actually expensive itself compared to just doing it then it improves performance overall.
 

cblue22

The Catch 22 Solver
27 Badges
Nov 28, 2018
33
18
  • Stellaris: Federations
  • Stellaris: Ancient Relics
  • Cities: Skylines - Campus
  • Stellaris: Megacorp
  • Cities: Skylines Industries
  • Stellaris: Distant Stars
  • Cities: Skylines - Parklife
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Cities: Skylines - Green Cities
  • Stellaris: Lithoids
  • Cities: Skylines - Mass Transit
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Cadet
  • Stellaris: Necroids
  • Stellaris: Galaxy Edition
  • Stellaris
  • Cities: Skylines - After Dark
  • Magicka: Wizard Wars Founder Wizard
  • Cities: Skylines
  • Stellaris: Nemesis
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
  • Stellaris - Path to Destruction bundle
  • Stellaris: Galaxy Edition
  • Hearts of Iron III
I would like to point out that the 15%-30% "on average" most likely also reflects on average over the whole campaign, where the first half or so might be negligible. The video that he posted was an extreme case, very late game with more than 20k pops, so in that case the increase might be 500+%. Which is more or less exactly what I was hoping for.
15% and 30% improvement in late game situations