Better performance

Started by NemesisN, December 09, 2015, 05:31:03 PM

Previous topic - Next topic

zandadoum

Quote from: Ectoplasm on December 15, 2015, 07:12:11 AM
You guys need to limit the number of work types each colonist does, this will massively improve performance. Tynan commented on this on one of the early alphas and is still applicable today.

I didn't know about that post, but I already limit work types a lot. Didn't think of it for performance, but to run the colony with smooth specialised working.
So in my case, I was already doing that and still have problems.
Problems that only appear when massive enemy groups are on screen.

ONE THING: one day the game was extremely laggy and I mistakenly unrdrafted all my colonists that were waiting for a big raid to come closer. The moment I did that, the performance improved a bit. But not much. And they all died ofc xD

TLHeart

Quote from: zandadoum on December 15, 2015, 08:21:39 AM
Quote from: Ectoplasm on December 15, 2015, 07:12:11 AM
You guys need to limit the number of work types each colonist does, this will massively improve performance. Tynan commented on this on one of the early alphas and is still applicable today.

I didn't know about that post, but I already limit work types a lot. Didn't think of it for performance, but to run the colony with smooth specialised working.
So in my case, I was already doing that and still have problems.
Problems that only appear when massive enemy groups are on screen.

ONE THING: one day the game was extremely laggy and I mistakenly unrdrafted all my colonists that were waiting for a big raid to come closer. The moment I did that, the performance improved a bit. But not much. And they all died ofc xD

Exceeding the limits of the game, and still expect great performance. 300+raiders... yes the performance will suffer, do to all the path equations, target assignments. The game has NEVER been programmed to handle that, and I highly doubt it ever will.

It is being developed with UNITY... not intended for large games, but for small portable games. Games people play for a few hours, and put down. Unity has to be programmed to the lowest common denominator of all the platforms it supports. Therefore multi threading is not possible.

The initial concept was that you would survive, build the ship and leave. That evolved, but the engine will NEVER support the late game with large colonies. The engine is not designed to support 500 ai pawns that need total control and freedom of the entire play space.

Tynan is an idea person, not a programmer. He uses UNITY for that reason. Unity does much of the integration for him.

All of the debug hooks, and code is still in the game. All of that slows performance, and is removed from games once it reaches final release. Until then it is great to have all of those in the game, to help with balance, bugs, logic errors.

If the developers module was removed from the game right now, performance would improve greatly. But testing and debugging and modding would become long slow processes.

Grax

Quote from: Fluffy (l2032) on December 14, 2015, 03:56:00 AM
a) multithreading is not magic. It's not always better to split a task over multiple cores, and it's not always a guaranteed speed up. A task, or set of tasks, need to actually be parallel in order for multithreading to work efficiently. Parallel in this context means that the tasks can run independently of eachother, for most of the task. You cannot just run pawns 1-5 on core 1, and pawns 6-10 on core 2 - they need to be able to communicate with eachother, and threads communicating with eachother is 1) a huge slowdown, 2) a massive potential source of bugs and 3) quite tricky to code.
I meant that no one will deny multithreading perfomance (4 cores versus 1) while posessing the ability to use it.
All these arguments like "need to be parallel in order" are just evasions for unskilled. ;-)

Quote
If you want to play an optimized final version of the game, wait for the release. It's your choice.
The game will be morally and physically outdated to the time of release which will be within 5-6 (or maybe even more) years from now.
But i'm somewhat sure that there won't be a full release at all.

Britnoth

Quote from: NemesisN on December 10, 2015, 02:43:27 PM
I am talking about vanilla with no mods it laggs the same as having mods and I have 12 colonist not 100+

12 colonists and the game lags? Are you playing on a potato?  ;)

400x400 map. 20 colonists, half a dozen hauling pets. Only had noticably lower (below 30 fps?) performance when I fully zoomed out, set the game to triple speed and had the entire colony plus 150 chickens roaming about on screen. This with a budget price dual core 4-year-old cpu.  :o

If anything I am pleased with the stability and performance of a game still in alpha with dev and debug tools.  :o

But then again, I do not sit inside a mountain for 5 years building an insane level of wealth and then getting 500+ tribal raids. ;)


LittleGreenStone

Quote from: Britnoth on December 17, 2015, 11:03:41 AM
Quote from: NemesisN on December 10, 2015, 02:43:27 PM
I am talking about vanilla with no mods it laggs the same as having mods and I have 12 colonist not 100+

12 colonists and the game lags? Are you playing on a potato?  ;)

400x400 map. 20 colonists, half a dozen hauling pets. Only had noticably lower (below 30 fps?) performance when I fully zoomed out, set the game to triple speed and had the entire colony plus 150 chickens roaming about on screen. This with a budget price dual core 4-year-old cpu.  :o

If anything I am pleased with the stability and performance of a game still in alpha with dev and debug tools.  :o

But then again, I do not sit inside a mountain for 5 years building an insane level of wealth and then getting 500+ tribal raids. ;)

I'm positive it's not a potato he's playing on.

Because I am playing on a 8(!!!) years old lapotato, that was fairly average even back then, yet the game runs fine for me, considering.

Even with 18 colonists, ~120 raiders worth of wealth, 150 hare, a few dozens (about 30 I think) of boars, and a dozen muffalos, on a medium sized map (300something IIRC), ~40 mods.

Sure, it can no longer handle triple speed without lagging, but can still handle double speed fairly well, and regular speed perfectly.

I have no idea what he's playing on if a potato can handle it.

NemesisN

#35
Quote from: Britnoth on December 17, 2015, 11:03:41 AM
Quote from: NemesisN on December 10, 2015, 02:43:27 PM
I am talking about vanilla with no mods it laggs the same as having mods and I have 12 colonist not 100+

12 colonists and the game lags? Are you playing on a potato?  ;)

400x400 map. 20 colonists, half a dozen hauling pets. Only had noticably lower (below 30 fps?) performance when I fully zoomed out, set the game to triple speed and had the entire colony plus 150 chickens roaming about on screen. This with a budget price dual core 4-year-old cpu.  :o

If anything I am pleased with the stability and performance of a game still in alpha with dev and debug tools.  :o

But then again, I do not sit inside a mountain for 5 years building an insane level of wealth and then getting 500+ tribal raids. ;)

I am not playing on a potato....PC has Quad Core, my laptop has Intel Dual Core the performance is the same on both....number of colonist are not the only one that effect lagg....my colony base takes half of the map....lot of chunks, lot of dead bodies and weapons on the ground, lot of storage, large raids

also did you read the conversation here...this game does not use the potential of your PC it limits itself on CPU usage....so no matter what PC you have it will run the same....1 core, 4 cores, 8 cores it will run the same because the game does not use your PC potential
Join the RimWorld fan community group on Facebook: https://www.facebook.com/groups/1404635226524821/

Fluffy (l2032)

Not entirely true, it utilizes one core - if that core is faster, the game will run faster. CPU advances have mostly come in power consumption and increasing the number of cores over the last few years, so yeah - older hardware is going to run just as fast, or in some cases faster as a new quadcore.

@Zandadoum; ok, fair enough. I still don't agree with your assessment that the core is rotten, but if one was to accept that, you make a valid point.

@Grax; I'm sorry, but you clearly have no idea what you're talking about. Multithreading is by no means a magic button that makes everything faster. You're always limited by how much of you program is actually doable in parallel, and across how many threads you can usefully split up the workload. This is a non-trivial task, especially in games, where a lot of systems are linked to each other. It's not like you can just split the game in 2 (or 4, 8, whatever), and run a part on each core.

@TLHeart; Not entirely true, Unity itself does not support multithreading (it's not threadsafe, at least v4 - which RW uses isn't), but C# can obviously do multithreading. Cities Skylines is build in Unity, and does do multithreading quite well. The difference ofcourse is that they had a couple of people working full-time on just the engine - whereas Tynan has to do it all alone (more or less).

So yeah, performance could potentially be better. But it's not likely to happen, because this is not that kind of game. It's meant to be a small colony simulator, creating stories. It's not a Sim City in space. Again, I'm quite happy with the game as it is - I like playing it, and I like it even more as a modding canvas (granted, this is the first game I ever modded). Yes, it's alpha/early access/whatever you want to call it, so the usual advice applies: buy it only for what it is now, not for what you - or the developper! - expect it to be in the future.

TLHeart

Quote from: Fluffy (l2032) on December 17, 2015, 06:27:46 PM


@TLHeart; Not entirely true, Unity itself does not support multithreading (it's not threadsafe, at least v4 - which RW uses isn't), but C# can obviously do multithreading. Cities Skylines is build in Unity, and does do multithreading quite well. The difference ofcourse is that they had a couple of people working full-time on just the engine - whereas Tynan has to do it all alone (more or less).

So yeah, performance could potentially be better. But it's not likely to happen, because this is not that kind of game. It's meant to be a small colony simulator, creating stories. It's not a Sim City in space. Again, I'm quite happy with the game as it is - I like playing it, and I like it even more as a modding canvas (granted, this is the first game I ever modded). Yes, it's alpha/early access/whatever you want to call it, so the usual advice applies: buy it only for what it is now, not for what you - or the developper! - expect it to be in the future.

As I have stated earlier, Tynan is not a programmer, but an idea person, and used Unity because of the ease of creating his idea. Just reading his double negative code says he is not a programmer.

And at present time the entire rimworld is being run within the shell developers debug program, which has a large overhead.

Unity based games will NEVER take full advantage of a pc, it can't, as it has to work on the iphone, tablet, portable game systems also.

NemesisN

#38
is it possible to move the game code so its not Unity ?

or will this game stay in Unity as final product and there is no possible way to change it ?
Join the RimWorld fan community group on Facebook: https://www.facebook.com/groups/1404635226524821/

Fluffy (l2032)

Quote from: NemesisN on December 17, 2015, 07:41:19 PM
is it possible to move the game code so its not Unity ?

or will this game stay in Unity as final product and there is no possible way to change it ?
That's basically a full rewrite of the game. Unlikely, at best.

NemesisN

#40
if this is how the final product will be then the game is not worth 30$

I would price it at 12$ because it limits you with progress

Some may say 30$ is nothing but in my country 1$ is double the price of my currency which this game costs 60 of my currency and that is a lot for a small game....you expect FIFA, Battlefield, GTA for that kind of money even tho todays games are overpriced for what they are actually worth

Yeah the game is fun but this performance issue is really frustrating
Join the RimWorld fan community group on Facebook: https://www.facebook.com/groups/1404635226524821/

Fluffy (l2032)

I agree regional pricing should probably be a thing (altho I generally get annoyed by it, being in western europe we usually pay through the nose).

As for enjoying the game, have you tried upping the difficulty level so getting such a large colony is more of a struggle?

NemesisN

#42
Quote from: Fluffy (l2032) on December 18, 2015, 06:43:52 AM
I agree regional pricing should probably be a thing (altho I generally get annoyed by it, being in western europe we usually pay through the nose).

As for enjoying the game, have you tried upping the difficulty level so getting such a large colony is more of a struggle?

my default plays are Rough and Challenge, sometimes I went extreme (rarely)....but the problem with this Raids get seriously large....I do manage to survive long enough on those difficulties sometimes depending on some luck but Raids are big laggy problem
Join the RimWorld fan community group on Facebook: https://www.facebook.com/groups/1404635226524821/

Grax

Quote from: Fluffy (l2032) on December 17, 2015, 06:27:46 PM
@Grax; I'm sorry, but you clearly have no idea what you're talking about. Multithreading is by no means a magic button that makes everything faster. You're always limited by how much of you program is actually doable in parallel, and across how many threads you can usefully split up the workload. This is a non-trivial task, especially in games, where a lot of systems are linked to each other. It's not like you can just split the game in 2 (or 4, 8, whatever), and run a part on each core.
Let's say the problem in other words. I just want a game that run without any lags on any stage of gaming.
And it seems to me there are not many ways to resolve this problem:
1. The simplest way - to simplify all that math complexity eating gigahertz. Not the right way. Limited future scalability.
2. Optimize the code to reduce the excessiveness of all the math operations. Time-consuming but resultative, as i saw it once in Dwarf Fortress example. It's still onecore but pathfinding problems were somewhen rewrited and optimized in previous version and i remember the giant leap in speed from 20fps to somewhat 40 and then to 45-50fps with consequent patches. Maybe using GPU for floating points for example. But it maybe not even possible. And have limited scalability.
3. Optimize the code to use more threads than one. Hard, time-consuming, but almost unlimited scalability in future.

And i'll say it again:  I just want a game that run without any lags on any stage of gaming.

andrei2000pc

#44
This is not a dwarf fortress game. The owner is here for the money. Fair enough. This game core source code will never be touched by anyone outside of Ludeon studios after the release. Most see that there should at least be enough respect for more help obtained on getting performance fixed. Peoples ego should not be mixed with teamwork and cooperation. In other words, more skilled workers should be brought up to Ludeon studios expectations and invited. Move the progress of the game, quicker before boredom kicks in. No one wants to lose.

I did not want to edit my post. I wanted to be honest and brash. Very thankful for this simulation game.
Many thanks to all the testers and the creators. Thanks.