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

No, never, but there is room for optimizations and if we really run into laggy set-ups I might invest some more time.



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).
The IRC issues could be from 7.0 or faulty snapshots (with no fix).

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.
I agree that this is not ideal in these 2 hour cases, but there is little we can do otherwise.


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.

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.
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.
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.
A sort of unrelated question: Why do you add empty return statements (
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.
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.
It is personal taste, I like clear delimiters of the end of a function.
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.
>[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.
Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill