Stellaris Dev Diary #181 : Threading and Loading Times

Stellaris Dev Diary #181 : Threading and Loading Times

  • 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

Attitude Adjuster

First Lieutenant
33 Badges
Jun 22, 2016
261
659
  • Hearts of Iron IV: Cadet
  • Shadowrun Returns
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Expansion Pass
  • Shadowrun: Dragonfall
  • Hearts of Iron IV: Death or Dishonor
  • BATTLETECH
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris
  • Pillars of Eternity
  • Crusader Kings II: Way of Life
  • Cities: Skylines
  • War of the Roses
  • Prison Architect
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Hearts of Iron IV: La Resistance
  • Crusader Kings III
  • Stellaris - Path to Destruction bundle
  • Stellaris: Megacorp
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Synthetic Dawn
  • Ancient Space
  • Magicka
  • Impire
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II
No. But I CAN blame people for being iackasses about it instead of being decent human beings. And I'm speaking as a Day One buyer myself.
If we're gonna bring decency into this, think a lot of people would agree that there is a deficit on both sides.

Stellaris is the most expensive game I own. Stellaris is the buggiest game I own, and considering I own a few early access titles that's really something.

I don't want to imply that the Devs themselves are behaving indecently, but at the company level, yeah this reeks of an exploitative cash grab rather than a fair exchange of currency for goods.
 
  • 16
  • 2
  • 1Like
Reactions:

RaptorsofSkyrim

Private
23 Badges
May 27, 2016
15
23
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Surviving Mars
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Surviving Mars: First Colony Edition
  • Prison Architect
  • Stellaris: Megacorp
  • Surviving Mars: First Colony Edition
  • Stellaris: Distant Stars
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Cities: Skylines - Natural Disasters
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Cadet
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Cities: Skylines
  • Ship Simulator Extremes
If we're gonna bring decency into this, think a lot of people would agree that there is a deficit on both sides.

Stellaris is the most expensive game I own. Stellaris is the buggiest game I own, and considering I own a few early access titles that's really something.

I don't want to imply that the Devs themselves are behaving indecently, but at the company level, yeah this reeks of an exploitative cash grab rather than a fair exchange of currency for goods.
Perhaps you're right, and Stellaris was just meant to be a cash-grab by the higher ups since space 4x games were popular (And one could argue still are popular) at the time Stellaris was released.

Bringing it back on topic with the DD, I will admit that the Loading time issue wasn't much of an issue (Though something at least a few people had, given some of the posts here) but, as mentioned in the DD, it helps the developers most of all.

That includes getting to the bottom of the performance issues and seeing where they can be streamlined.

For example, if the number of pops is the issue, make it so each pop is roughly equal to a number of people (Something like 1 pop equals 1 billion people). If that's the case, just make the district system run on that assumption, 1 job is roughly equal to 1 billion jobs of that type.

That would lower the amount of pop calculation lag.
 
  • 1
  • 1Like
  • 1
Reactions:

Kayden_II

General
41 Badges
Jan 6, 2014
1.811
1.530
  • Darkest Hour
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Rights of Man
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Golden Century
  • Europa Universalis 4: Emperor
  • Stellaris
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Megacorp
Perhaps you're right, and Stellaris was just meant to be a cash-grab by the higher ups since space 4x games were popular (And one could argue still are popular) at the time Stellaris was released.
I will admit that the Loading time issue wasn't much of an issue but, as mentioned in the DD, it helps the developers ( Paradox ) most of all.
Fine, you've spotted how Paradox sets its priorities, but ...
I CAN blame people ( customers ) for being iackasses about it instead of being decent human beings.
You don't blame Paradox for its egoism, but the customers as being "jackasses" and in-"decent" if they're expressing any form of critique in regards to this ? And before you may begin to explain how normal this is since Paradox is a company, 01. egoism is also normal for customers and 02. you were the one who had begun with your subjective indignation in regards to morality that's not aimed towards Paradox at all, but strangely ( in this context: exclusively ) towards customers.
 
Last edited:
  • 7
  • 3
Reactions:

MatRopert

HoI4 Tech Lead
2 Badges
May 11, 2018
252
731
mropert.github.io
  • Battle for Bosporus
64 bit, AVX-512, DX 12, Vicky III confirmed
Actually we thought about enabling AVX on Imperator release, turned out the gain wasn't worth making a whole class of CPUs unable to boot the game.
For the rest I cannot confirm or deny ;)
 
  • 5Haha
  • 2Like
  • 1
Reactions:

LocutusvonBorg

Sergeant
May 20, 2016
62
15
All your suggestion would do is add an extra step.
where is it adding extra steps ? the opposite is the case. not every single pop have to "ask" the value of the stock and then rewrite it after "the work is done". this way all pops can be paralized. the way it is now, it cant and at the very end, the stock-value is rewritten. im not sure if you realy see the change here.
 
Last edited:

Tamwin5

Lt. General
17 Badges
Dec 3, 2017
1.690
1.094
  • Stellaris: Lithoids
  • Cities: Skylines
  • Crusader Kings II: Horse Lords
  • Stellaris
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Age of Wonders III
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
where is it adding extra steps ? the opposite is the case. not every single pop have to "ask" the value of the stock and then rewrite it after "the work is done". this way all pops can be paralized. the way it is now, it cant and at the very end, the stock-value is rewritten. im not sure if you realy see the change here.
To start off, unless you have a few thousand cores, parallizing EVERY pop is overkill. I don't know exactly how much processing pops take up, and it might be that you can keeps jobs all on the same thread and split off other planetary stuff into a different thread or something. Also the actual number of threads available differs based on the computer so whatever system you have needs to be able to handle that.

The way I understand code, you HAVE to ask the value of something in order to effect it relative to it's current value (aka adding or subtracting). If you add one, you don't send it an "increase by one" command, you pull the initial value, increase it by one, then push back the updates value. The reason this can't be paralized is that if pop A pulls the value in the time between pop B asking for the value and giving back the updated value, when pop A updates the value it overwrites over whatever production pop B did.

It doesn't matter if the Number that the pops are updating is the base stockpile or some other value. If multiple pops are accessing it, they have to do it in sequence (or write in safeties which would take even longer). The only way to properly paralize the jobs would be to split the pops into multiple groups, calculate the changes in each group sequentially, then combine the results of all the groups sequentially.

Something I just realized is that the easiest way to divide up pops is by empire, since each empire calculate resources individually.
 

tului

General
107 Badges
Oct 27, 2009
2.103
267
  • Rome Gold
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Impire
  • Mount & Blade: With Fire and Sword
  • King Arthur II
  • The Kings Crusade
  • Magicka
  • Victoria 2 A House Divided Beta
  • Naval War: Arctic Circle
  • Pirates of Black Cove
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Hearts of Iron III
  • Semper Fi
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars
  • Sword of the Stars II
  • Stellaris: Galaxy Edition
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines - Snowfall
  • Europa Universalis IV: Pre-order
  • Cities: Skylines - After Dark
  • Commander: Conquest of the Americas
  • A Game of Dwarves
  • Arsenal of Democracy
  • Cities in Motion
  • 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
  • Deus Vult
  • East India Company Collection
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • 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
  • For The Glory
  • For the Motherland
Actually we thought about enabling AVX on Imperator release, turned out the gain wasn't worth making a whole class of CPUs unable to boot the game.
For the rest I cannot confirm or deny ;)
I was just kinda throwing buzzword salad in there
.maxresdefault (3).jpg
 

Pyzayt

Captain
12 Badges
Aug 5, 2019
347
218
  • Cities: Skylines
  • Stellaris
  • 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
  • Stellaris: Synthetic Dawn
Something I just realized is that the easiest way to divide up pops is by empire, since each empire calculate resources individually.
Personally, I feel that calculating individual pops is the cause of a lot of the problem there. Every single last pop needs to calculate a lot of things, and as a result, every-time a new pop is generated, a lot more calculations need to happen. I feel turning pops into a more abstract thing would work better to calculating them all as individual objects.

Have a planetary population variable that counts how many pops are on a planet. Use the local ethics attraction to divide their ethics; since there are no individual pops, it uses this to set different variables for how many pops in the main count belong to a specific ethic. (Say, the planet has a population of 30, and a 33% spiritualist ethics attraction. It then decides it has 10 spiritualist pops; though there is still no individual pop. Everything would simply be integers that go up slowly, rather than new pops that individually calculate things being generated. A total population per planet, the populations of specific ethics and species, ect. When it comes to empire-wide demography, you just add up these numbers and do some division. (Which I think it already does.)

Basically, make pops be abstract numbers instead of individual entities with their own things to calculate. That's how I think pops should be calculated.
 
  • 5
  • 3
Reactions:

CrazyJ

Colonel
23 Badges
Nov 26, 2018
985
2.138
  • Stellaris: Galaxy Edition
  • Cities: Skylines Deluxe Edition
  • Age of Wonders: Planetfall
  • Hearts of Iron IV: Cadet
  • Surviving Mars: Digital Deluxe Edition
  • Prison Architect
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Surviving Mars
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Synthetic Dawn
  • Stellaris: Ancient Relics
  • Surviving Mars: First Colony Edition
  • Age of Wonders: Planetfall - Revelations
  • Stellaris: Lithoids
  • Stellaris: Apocalypse
Basically, make pops be abstract numbers instead of individual entities with their own things to calculate. That's how I think pops should be calculated.
i've made a thread about this idea, it didn't get the positive reaction i was hoping for
 

KaiserTom

Private
45 Badges
Feb 12, 2012
10
21
  • Victoria 2: A House Divided
  • Crusader Kings II
  • Victoria 2: Heart of Darkness
  • Stellaris: Digital Anniversary Edition
  • The Showdown Effect
  • Warlock: Master of the Arcane
  • War of the Roses
  • Cities: Skylines
  • Cities: Skylines - After Dark
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Supreme Ruler 2020
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Surviving Mars
  • Surviving Mars: Digital Deluxe Edition
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Surviving Mars: First Colony Edition
  • Prison Architect
  • Surviving Mars: First Colony Edition
  • Europa Universalis III: Chronicles
  • Arsenal of Democracy
  • Cities in Motion 2
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sunset Invasion
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Dungeonland
  • Europa Universalis III
  • Divine Wind
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Heir to the Throne
  • Leviathan: Warships
  • Magicka
  • Victoria: Revolutions
  • Sword of the Stars
  • Victoria 2
  • Sword of the Stars II
Personally, I feel that calculating individual pops is the cause of a lot of the problem there. Every single last pop needs to calculate a lot of things, and as a result, every-time a new pop is generated, a lot more calculations need to happen. I feel turning pops into a more abstract thing would work better to calculating them all as individual objects.

Have a planetary population variable that counts how many pops are on a planet. Use the local ethics attraction to divide their ethics; since there are no individual pops, it uses this to set different variables for how many pops in the main count belong to a specific ethic. (Say, the planet has a population of 30, and a 33% spiritualist ethics attraction. It then decides it has 10 spiritualist pops; though there is still no individual pop. Everything would simply be integers that go up slowly, rather than new pops that individually calculate things being generated. A total population per planet, the populations of specific ethics and species, ect. When it comes to empire-wide demography, you just add up these numbers and do some division. (Which I think it already does.)

Basically, make pops be abstract numbers instead of individual entities with their own things to calculate. That's how I think pops should be calculated.
Once again proving the pop system of vic 2 is just plain superior.
 
  • 3
  • 1
Reactions:

LocutusvonBorg

Sergeant
May 20, 2016
62
15
The way I understand code, you HAVE to ask the value of something in order to effect it relative to it's current value (aka adding or subtracting). If you add one, you don't send it an "increase by one" command, you pull the initial value, increase it by one, then push back the updates value. The reason this can't be paralized is that if pop A pulls the value in the time between pop B asking for the value and giving back the updated value, when pop A updates the value it overwrites over whatever production pop B did.
that is the point, dont pull the values. u dont need to for example energy-production, or mineral production, cause not a single resource is based if the stockpile-value. so u can calculate ALL the pops what they produce and what they consume and AFTER that u sum every resource and THEN access the stockpile.

right now u did not said why this whouldnt work, just assumptions, weired assumptions. and no one said anything with tthousand cores, pls be serious.

so, simple: no pop does access the stockpile-value. all ress that are produced/consumed are summed and THEN added/subtracted to the stockpile. until you tell me a very good reason this should not work ... i dunno where there is a problem. and i mean a real good reason.
 

Tamwin5

Lt. General
17 Badges
Dec 3, 2017
1.690
1.094
  • Stellaris: Lithoids
  • Cities: Skylines
  • Crusader Kings II: Horse Lords
  • Stellaris
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Age of Wonders III
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
that is the point, dont pull the values. u dont need to for example energy-production, or mineral production, cause not a single resource is based if the stockpile-value. so u can calculate ALL the pops what they produce and what they consume and AFTER that u sum every resource and THEN access the stockpile.

right now u did not said why this whouldnt work, just assumptions, weired assumptions. and no one said anything with tthousand cores, pls be serious.

so, simple: no pop does access the stockpile-value. all ress that are produced/consumed are summed and THEN added/subtracted to the stockpile. until you tell me a very good reason this should not work ... i dunno where there is a problem. and i mean a real good reason.
I think you might not understand how computers do math. THAT is the reason. If my explanation here isn't making sense, I recommend googling some resources that might explain it better.

In order to sum, you have to pull both values from where they are stored, then push the new value to somewhere else. If you are adding X and Y, you need to know what both X and Y are. In order to combine the production of all your jobs, after you've added X (current resources) and Y (job production) you push that updated value back to X. If two different cores try to add (or subtract) some amount to/from X at the same time, Whichever one happens second will effectively "ignore" whatever process the first one did.

Now let's take your idea. Instead of pulling from X and pushing to X, we create a brand new variable/location Z, which serves as a buffer so you don't need to access the stockpile. Only now instead every pop needs to add resources to Z, so you go from [X+Y->X] to [Z+Y->Z]. The pops still need to know how many resources are in the buffer in order to increase that amount. Summing the production of those jobs still needs every job's production to be calculated in sequence. Instead, if you were to split the group in half, now you could sum each half in sequence (they are pulling from separate sources, so no errors), then combine the two halves and then add it to the base stockpile. The trouble then becomes how do you split up the jobs and ensure the proper distribution of cores (remembering that cores are also processing sound, graphics, AI, etc.).
 
  • 2
Reactions:

SephirothWS

Sergeant
18 Badges
Jan 3, 2019
66
90
  • Stellaris: Galaxy Edition
  • Age of Wonders III
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Prison Architect
  • Stellaris: Megacorp
  • Shadowrun Returns
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Teleglitch: Die More Edition
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Magicka: Wizard Wars Founder Wizard
  • Stellaris: Synthetic Dawn
The thing about pops is how they behave. Each pop can have different jobs with different resource costs and resource production values. How would you be able to calculate say, 10 Clerks, 5 Researchers, ... etc if pops themselves aren't entities?

 

EventHorizon42

Recruit
29 Badges
Sep 3, 2020
1
0
  • Cities: Skylines - Mass Transit
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Cities: Skylines - Campus
  • Prison Architect
  • Imperator: Rome
  • Stellaris: Megacorp
  • Cities: Skylines Industries
  • Shadowrun Returns
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Cities: Skylines - Green Cities
  • Age of Wonders III
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Natural Disasters
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Cadet
  • Stellaris
  • Cities: Skylines - Snowfall
  • Cities: Skylines - After Dark
  • Cities: Skylines
  • Warlock: Master of the Arcane
  • The Showdown Effect
  • Knights of Pen and Paper +1 Edition
  • Crusader Kings II
I love that you're working on making the game faster, but this post touched on an issue that has plagued the vast majority of the (multi-session) multiplayer Stellaris games I've played:
On the server the Prikki-Ti action is resolved first, killing the Blorg. The Blorg action that comes after (possibly on another thread) is discarded as dead Blorgs can’t shoot (it’s a scientific fact). The client however distributed the computation in another way (maybe it has more cores than the server) and in his world the Blorg dispatched the Prikki-Ti first, which in turn couldn’t fight back. Then both players get the dreaded “Player is Out of Sync” popup as their realities have diverged.
That is, the dreaded "desync" issue. Are these "out of sync" issues simply an unavoidable consequence of how the game is designed? Why can't a single player (i.e. the game host) preform these order-dependent calculations so that the "out of sync" issues can be avoided?

Disappointingly, it seems to happen for us most often when we host a save file, immediately after attempting to continue games we have already invested hours into playing.

Is Paradox investigating (or otherwise working on) this problem?
 

ProtoformX

Second Lieutenant
16 Badges
Jun 27, 2017
154
8
  • Europa Universalis IV: El Dorado
  • Magicka 2
  • Europa Universalis IV: Cradle of Civilization
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Sign Up
  • Stellaris: Lithoids
  • Hearts of Iron IV: La Resistance
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mare Nostrum
Er, I wonder about the elephant in the room.

Has anyone asked why pdx is using dx rendering instead of vulkan?
 

KaiserTom

Private
45 Badges
Feb 12, 2012
10
21
  • Victoria 2: A House Divided
  • Crusader Kings II
  • Victoria 2: Heart of Darkness
  • Stellaris: Digital Anniversary Edition
  • The Showdown Effect
  • Warlock: Master of the Arcane
  • War of the Roses
  • Cities: Skylines
  • Cities: Skylines - After Dark
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Supreme Ruler 2020
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Surviving Mars
  • Surviving Mars: Digital Deluxe Edition
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Surviving Mars: First Colony Edition
  • Prison Architect
  • Surviving Mars: First Colony Edition
  • Europa Universalis III: Chronicles
  • Arsenal of Democracy
  • Cities in Motion 2
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sunset Invasion
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Dungeonland
  • Europa Universalis III
  • Divine Wind
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Heir to the Throne
  • Leviathan: Warships
  • Magicka
  • Victoria: Revolutions
  • Sword of the Stars
  • Victoria 2
  • Sword of the Stars II
Er, I wonder about the elephant in the room.

Has anyone asked why pdx is using dx rendering instead of vulkan?
Because the game is bound by the simulation thread, not the graphics thread. Switching to vulkan is meaningless.
 

ProtoformX

Second Lieutenant
16 Badges
Jun 27, 2017
154
8
  • Europa Universalis IV: El Dorado
  • Magicka 2
  • Europa Universalis IV: Cradle of Civilization
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Sign Up
  • Stellaris: Lithoids
  • Hearts of Iron IV: La Resistance
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mare Nostrum
Because the game is bound by the simulation thread, not the graphics thread. Switching to vulkan is meaningless.
Okay,
Then I've obviously missed something somewhere.
DX12 and vulkan can both do low level (low overhead) resource and task management.
DX12 and vulkan can do graphics.

What do you mean by simulation thread, and how does that translate to dx11 doing something that opengl and vulkan cannot?