Not logged inOpenClonk Forum
Up Topic General / Feedback and Ideas / Rapid Refining on Insane is really insane...
- - By K-Pone [de] Date 2016-12-09 21:18
Well, I've just been playing Rapid Refining together with Fulgen. I've also played it before with Kanibal and also once alone (but on normal difficulty).

First of all, for my taste, it takes way too long to get all the oil pumped to the oil-pipe. Insane requires 1600 units to win, after 6 hours and 18 minutes, we were just able to get 608 units so far. Together with Kanibal this took about 3 1/2 hours, which is still quite a lot. Unluckily the game with Kanibal decided to crash then. The game with Fulgen began to lag extremely hard, which made it nearly unpossible to do anything. I decided to deactivate his client then as he was afk at that time, but that didn't fix the lag. My computer by the way is not that weak.

Not that I don't like the scenario. The scenario itself is really cool, and the easy difficulties are also quite good and playable, but Insane is just too intense even for high performance PCs and takes very long to complete.

Specifications:
CPU: Intel Core i7-4770 @3.40GHz
RAM: 16 GB DDR3 1600 MHz
Graphics Card: NVidia GeForce GTX 760
SSD: SanDisk Ultra II SSD 240 GB
OS: Win 7 Professional 64-Bit
Parent - - By Luchs Date 2016-12-09 21:42
Can you upload a savegame to reproduce the performance issues?
Parent - By K-Pone [de] Date 2016-12-09 21:51
If I had one, I could. Unfortunately, I didn't create one this round. I'll do next round when this happens again. Hope this doesn't crash then as it did for Fulgen.
Parent - - By Maikel Date 2016-12-12 15:20
The performance issues might be the power system. Can you give some rough details on the settlement you had? Like number of pumps etc.

Maybe you can recreate it in editor mode by just placing the buildings. I did not test this round on insane, but I intended the use of a lot of pumps.
Parent - - By Zapper [de] Date 2016-12-12 15:29
Is it already the time of year where we rewrite the power system again :D
Parent - - By Maikel Date 2016-12-12 16:05
No, never, but there is room for optimizations and if we really run into laggy set-ups I might invest some more time.
Parent - - By Clonkonaut [de] Date 2016-12-12 16:54
Isn't the power system broken anyway or has it been fixed by now?
Reply
Parent - By K-Pone [de] Date 2016-12-12 17:18
It still seems a bit broken when compensators are used, and sometimes even when you have a huge settlement (>20 power consumers)
Parent - By Zapper [de] Date 2016-12-12 18:19
I also believe batteries don't seem to behave as expected from time to time. At least judging from the complaints in IRC
Parent - - By Maikel Date 2016-12-12 19:59
I fixed one issue in the last month. I will run the power tests again and try to device some new ones based on this thread.

The IRC issues could be from 7.0 or faulty snapshots (with no fix).
Parent - - By Clonkonaut [de] Date 2016-12-13 14:16
How do these tests work? It seems to me that faults in the power system usually become visible after a good one or two hours of gameplay, after having built multiple suppliers and consumers and some compensators. At one point, a pump just fails to work or similar weird things happen.
Reply
Parent - By Maikel Date 2016-12-13 14:31
Most of them are very basic. But some of them add and remove consumers/produces/storages and flags at random order and times. Usually if someone reports a bug I add a test which tries to be as minimal as possible and still gives the same problem and then from thereon I attack the problem.

I agree that this is not ideal in these 2 hour cases, but there is little we can do otherwise.
Parent - - By K-Pone [de] Date 2016-12-13 18:16
Yep, most weird things happen after 2 hours. I wonder if these weird things happen as well when you use "/fast x".
Parent - By Luchs Date 2016-12-13 18:35

>I wonder if these weird things happen as well when you use "/fast x".


Yes, /fast doesn't change anything about script execution. If it didn't happen with /fast, you'd probably also get desyncs as it would somehow relate to rendering then.
Parent - - By K-Pone [de] Date 2016-12-12 17:12
Don't know how many of the buildings we actually had, but there were quite a lot of compensators, pumps, and steamengines.

Anyway, yesterday I tried it alone with no compensators used, but had a lot of steamengines and pumps instead. When it came to the point where I had the pumps ready to pump the oil up with 4 pumps per oilpool, the pumps behaved buggy as reported here: http://bugs.openclonk.org/view.php?id=1865

I'll attach a screenshot of that round. You can see 5 pumps on the bottom right. These pumps had that glitch. All these 5 pumps had just produce that much oil that it could be transfered with exactly one of the pumps in the center of the map to the top left oilpool. This needs to be fixed first that your intended way of solving this scenario will work.

I'll also try to figure out if theres a way to reproduce this problem.
Parent - By K-Pone [de] Date 2016-12-12 19:49
So, I tried to reconstruct this situation in the editor, and it seems to do weird things when multiple pumps take oil from one pond, especially when the pond is rather empty/only floor covered with oil. Then pumps start to not putting out the oil at the output pipe. The energy system in this case seemed to work fine, the pumps unfortunately didn't. In this case, I didn't use compensators but rather used 7 steamengines connected to pumps pumping oil from the oil source to the engines directly. The pumps generated energy in this case because they were below the input pipe from the pumps. Saving somehow created a script which caused a (maybe too much recursions) error which made it impossible to reload the scenario. I'll try to create a scenario next time that creates all the things needed via "hand-written" script.
Parent - By Maikel Date 2016-12-12 20:02
Cool, this helps a lot. I will reproduce this in editor mode as well and do some debugging.

Don't expect anything soon, since this is not the easiest to tackle. Be it should make it to the 8.0 release.
Parent - - By Maikel Date 2016-12-17 17:40
A small update: Pumps were quite slow: even slower than the power system for a large settlement with many pumps. I made some improvements so that pumps are faster. Maybe we should test again, so that I can fine-tune the round a bit regarding the goal.
Parent - - By Maikel Date 2016-12-18 10:45
Pumps are not really faster, but still laggy. But at least we managed to finish the round now. So I will look at some more optimizations later.

The not pumping seems to happen when too many free PXS are around and some PXS are not created. But I am not an engine expert.
Parent - - By Marky [de] Date 2016-12-18 12:23 Edited 2016-12-18 12:27
A sort of unrelated question: Why do you add empty return statements (return; or return nil;) in some cases?

Personally I find it strange to add code that does not change the behaviour of the function. One reason that I can think of is that you want to make it clear what the code does, so one does not need the implicit knowledge that the function returns "nil" anyway if no explicit return statement is given. Are there any other reasons, or a different reason altogether?

[Update]
I think that after your optimizations the pipe object will behave differently. It returns the line in GetConnectedLine() if the line merely exists - there could be cases where it is not actually connected to the pipe object, if I remember correctly.
Parent - By Maikel Date 2016-12-18 12:32
It is personal taste, I like clear delimiters of the end of a function.

>[Update]
>I think that after your optimizations the pipe object will behave differently. It returns the line in GetConnectedLine() if the line merely exists - there could be cases where it is not actually connected to the pipe object, if I remember correctly.


I hope I covered all those cases (i.e. change of action targets) by then setting the local variable to nil. But feel free to improve this if needed. The optimization is quite essential for large amounts of lines, as FindObject gets really slow then.
Up Topic General / Feedback and Ideas / Rapid Refining on Insane is really insane...

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill