• 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.
I still think the best/easiest answer is to remove individual pops to represent large populations, not only is it not even close to realistic, it creates some terrible mechanics, such as only being able to grow one type of species at a time.
Being able to grow one species at a time isn't an inherent issue, it's artificial. They could easily have allowed each present species to grow on a given planet, like they did pre-2.2.
 
That sounds horrible.
How so? Are you thinking that I'm saying they don't go into a job when created? Because if you read just a tiny bit further, you'll notice I address that.

It's not horrible imo, there's no reason pops should be shifting between jobs repeatedly at all. It results in deficits being created, which causes a player to need to micromanage jobs anyways if the deficit is harsh enough.
 
How so? Are you thinking that I'm saying they don't go into a job when created? Because if you read just a tiny bit further, you'll notice I address that.

It's not horrible imo, there's no reason pops should be shifting between jobs repeatedly at all. It results in deficits being created, which causes a player to need to micromanage jobs anyways if the deficit is harsh enough.
No, it sounds horrible because I WANT pops to auto-balance into available jobs. Not have to wait for pop growth or manually move them.
 
"Pops create the most lag. You can't really optimize it much past what is done now"

This has been thorughly discussed already. Yes it can be optimized much past what is done now.

there's no reason pops should be shifting between jobs repeatedly at all

As has this. Guess who fixed that with a mod for 2.3, without gutting the feature. (Here: https://steamcommunity.com/sharedfiles/filedetails/?id=1805681002 )

Removing a feature (automatic job employment based on suitability) is not the solution. Tearing out features doesn't always solve a problem, and diminishes the game. I feel PDS has done this far too much already anyway.

(If you want that, go get had's mod off Steam. Yes, it's as crap as it sounds. Here: https://steamcommunity.com/sharedfiles/filedetails/?id=1677564824 Enjoy.)

The whole hulabaloo over performance and AI is for the relevant features to be fixed, not torn out. Claims they can't be fixed are wrong. Many full stops.

I wish the moderators could add a check box to post submission along the lines of "I have read the thread and realise I am going to be repeating the same topics all over again." :p
 
Last edited:
I may have been quiet the past few weeks, but that's because there's nothing new and we have to wait until early next year to perhaps finally get a working game.
Just wishing everyone here happy holidays and to have patience, other than that, I'm staying away from the game until this get resolved.
 
I may have been quiet the past few weeks, but that's because there's nothing new and we have to wait until early next year to perhaps finally get a working game.
Just wishing everyone here happy holidays and to have patience, other than that, I'm staying away from the game until this get resolved.

I stayed away for a year after 2.2 first dropped. I didn't understand the economy and I couldn't figure out the auto-build. At least there is auto-build now! I actually just switched back to Sword of the Stars and Sins of a Solar Empire. What those games do great is the combat. And they get good performance by abstracting away POPs. But Stellaris chooses to be more of an economy simulation where you play the Logistics Emperor trying to get those Fleet Power numbers up. Having been playing again, I do like the feeling of risk and danger involved in propping up fleet numbers since the Admiral level AIs are so good early on at rushing out high Fleet Power. I hope that future Stellaris makes so more abstractions on the planets and pops level so the game runs better. My 400 system game has dragged to crawl. I used to have to pause to think on Fastest, but now ... like why.
 
And how exactly do you plan on mutltithreading Colission and Movement? Because last I checked, both work on the same game state part (position of objects) and are thus very much exclsuive.

By casting objects to different threads, and letting the thread-handler manage those. Duh. I'll worry about what they're doing when they signal.

Also, since you seem intent on comparing our genitialia/skill level, here are my StackOverflow and MSDN accounts... I showed you mine. Now please show me yours.

No. I'm not tendering for a contract with you and that's none of your business. Put your academic e-peen away.

However there is still a relevant part of the Drawing Process that is CPU bound. Mostly stuff related to what the "camera point" sees.
Without that pre-filtering, the GPU would try to render the whole galaxy at once only to then realize that 99% of are not even in player view.

Modern GPUs are optimised for modern graphics APIs, such as the latest DirectX and Vulkan, allowing for considerable off-loading of a lot, even much of the pre-filtering, to the GPU. Draw calls can be very minimal, as long as a game utilises the appropriate API fully. Stellaris is probably too old to be making full use of these benefits, though. Backwards compatibility is also often built into later graphics APIs, but this is pretty useless if the game again hasnt been updated to take advantage of that.

The graphics pipe in Stellaris doesn't appear to be a major hog of CPU, though.
 
Last edited:
Isn't the GPU capable to do CPU-related tasks?
GPUs are very good at doing exactly the same calculation to lots of data at once. (This is what makes them so good at rendering pretty pictures.)

If you can express your algorithm that way, then there's benefit to be had from offloading it to the GPU, but the Laconic Reply to Philip of Macedon applies.
 
Isn't the GPU capable to do CPU-related tasks?
And if so, could Stellaris benefit from offloading calculations to the GPU?

GPUs are very good at doing exactly the same calculation to lots of data at once. (This is what makes them so good at rendering pretty pictures.)

If you can express your algorithm that way, then there's benefit to be had from offloading it to the GPU, but the Laconic Reply to Philip of Macedon applies.

Indeed. Alas, no, you can't really treat the GPU as a bonus core. It's good at what it's dedicated to doing. If you start asking it to do other stuff, that's wasting horsepower that should be doin' grafix stuffs.

Not to say there there could be benefits when you have a game that is not demanding on either. We (myself and the missus) did tinker with shunting some stuff over to the GPU in our last release, but ultimately it wasn't necessary.
 
By casting objects to different threads, and letting the thread-handler manage those. Duh. I'll worry about what they're doing when they signal.
Nice set of Buzzwords, but not a answer.
How exactly did you plan to have two pieces of code work on the same values in paralell?

No. I'm not tendering for a contract with you and that's none of your business. Put your academic e-peen away.
Really?
The why did you consistently claim I am unskilled?
Could it be that you are just full of Buzzwords with no skill?

Modern GPUs are optimised for modern graphics APIs, such as the latest DirectX and Vulkan, allowing for considerable off-loading of a lot, even much of the pre-filtering, to the GPU. Draw calls can be very minimal, as long as a game utilises the appropriate API fully. Stellaris is probably too old to be making full use of these benefits, though. Backwards compatibility is also often built into later graphics APIs, but this is pretty useless if the game again hasnt been updated to take advantage of that.

The graphics pipe in Stellaris doesn't appear to be a major hog of CPU, though.
Nice set of Buzzwords. Show. A. Example.

Isn't the GPU capable to do CPU-related tasks?
And if so, could Stellaris benefit from offloading calculations to the GPU?
Multitasking only works for very specific problems. The GPU style of programming more then most.
They are just massive arrays of really weak parallell CPU cores. That can only all do the same thing to their part of the Data.

Pop/Job Management is the candidate for being move to the GPU I can see. And even then, a speedup (worth the amount of work required) is doubtfull.
 
Nice set of Buzzwords, but not a answer.
Yes it was.

How exactly did you plan to have two pieces of code work on the same values in paralell?
I wasn't. But I do have one process doing it when it needs to only when it needs to.

By continuing to avoid the word traps you keep setting, changing every post you make.

Yes.

The why did you consistently claim I am unskilled?
I didn't, I called you an academic. I challenged some of the knowledge you were giving with knowledge I have. But instead of a civil discussion about what and how we know, you resort to being a troll who likes to insult and bully, wave around some credentials any wannabe can get, and show that you are only interested in being right.

Could it be that you are just full of Buzzwords with no skill?
No.

Nice set of Buzzwords. Show. A. Example.
No. Buy one of my games.
 
Last edited:
Yes and no.
Yes, the actuall drawing of Pixels on a image is done by the GPU.
However there is still a relevant part of the Drawing Process that is CPU bound. Mostly stuff related to what the "camera point" sees.
Without that pre-filtering, the GPU would try to render the whole galaxy at once only to then realize that 99% of are not even in player view.

yes, culling is CPU side generally, but it isn't always(and besides culling is not drawing anything), and still the default game loop shouldn't have "draw graphics" in it. when graphics are involved it's important to call them update graphics/shaders just to be clear to people what is actually happening.

sometimes it's also easier to summarize it as input, update, output. as this includes cmdLine games or spreadsheet games.
 
I don't know if this was already discussed here. But to me it seams that it is not so much a matter of the mechanics itself but the way that they were implemented.

I think that all the different mechanics that are in the game are implemented in an algorithmic way and not by multiplying vectors and matrices. That would explain why this game is so heavy utilizing one thread. If the calculations would depend on bitmaps, vectors and matrices they could be delegated to the GPU.

Let me try to explain what I mean with this... Lets say all the disctricts of the planets are represented by a matrix and another matrix represents the boni like ascention perks and civics. Now by multiplication of the matrices and if needed a bitmap you can calculate all the necessary things on the gpu.

This is a way quicker approach than the algorithmic one and used by a lot of games by the way to simulate complex economy.

If this was already considered I would be interessted in the arguments why this was not done.
 
It's not the games graphics rendering or handling that needs optimising (except maybe some of the UI bottlenecking, which PDS have mentioned as an ongoing limitation, true of a lot of games needing to display lots of real-time data that's up-to-date).

If this was already considered I would be interessted in the arguments why this was not done.

You don't design a 4X the way you suggest. Property and data handling with complex games mechanics would not benefit from changing structure or definition in this manner. Stellaris' data-set is far more complex than one that can be boiled down into this, and the data read would still need to be processed by the game's mechanics anyway.

The CPU and RAM are what should be managing these weighty data-sets. Data temporarily held in RAM because obviously access is far quicker than reading off a HD.

Now by multiplication of the matrices and if needed a bitmap you can calculate all the necessary things on the gpu.

No, you can't.

...and used by a lot of games by the way to simulate complex economy.

No it's not.

Stellaris is not an FPS where you only need worry about where things are in relation to each other, and where the cursor is when the player shoots. FPS benefit far more from the approach you describe, because of how little data-sets are (not to mention a very basic AI by comparison, very little data to display by UI, and physics and graphics rendering all being pushed off the CPU too).
 
Last edited:
What I suggested has nothing to do with the graphics and nothing to do with positioning of objects. Therefore you use matrices too of course.

What I was talking about is the calculations of the economy.

In traditional programming you would programme all of the economy by algorithms. e.g. the calculation of the monthly metals income of the planets. You loop over the planets you calculate the base metal income and you call all the different methods that apply a bonus or a malus. This you do hundreds or thousands of times. This you also can mathematically break down to matrix calculations. In the example above the planets with their stats can be represented by a matrix and the bonus/malus are written to a matrix too. With a bitmap you can control whether a bonus/malus should be applied or not. With this technique you can scale calculations in an insane way. And that can be processed by CPUs but better by GPUs via CUDA or RocM. It is only worth it if you use GPUs for the processing.

This technique is used a lot in the industry. You can write a second or a hundred times that this is not the case. But it doesn't change anything.
 
It's a lot of faffing around and complete overkill for solving the current issues with Stellaris. The investment needed for that kind of solution, with a decade old game engine, isn't going to be on the scope, regardless of what benefits you believe it could bring.

It might be a common solution now, but historically 4Xs were designed with traditional algoritmic approaches. Stellaris is nearly 4 years old. I'm not denying the principles, but I am the realistic application.

Pretty sure most readers of this thread are hoping for solutions for performance other than "wait for Stellaris 2".
 
Last edited: