Anonymous Login
2021-09-16 23:49 UTC

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000380OpenClonkObjectspublic2016-08-29 08:15
Assigned ToMaikel 
Product Version 
Target VersionFixed in Versiongit master 
Summary0000380: Ropes library: Performance issues
DescriptionEven though it doesn't lag for me the CPU usage goes up to about 90%... that's not going to scale properly when more than one grapplers are being used at the same time. Is there a chance for some optimizations?
Additional InformationWhen using 4 grapplers at the same time (which I guess might well happen in multiplayer) then performance drops to about 11 FPS for me.
TagsNo tags attached.
Attached Files




Ringwaul (developer)

Last edited: 2010-08-18 23:37

My FPS drops to 18 whenever I simply use one grappler. :(


Newton (administrator)

The same issues exist for the ropeladder. Even if the ropeladder just hangs without any changes landscape- or position-wise, it still takes up a lot of computing power. At this point, the performance could surely be improved ("freeze" the timer check under those conditions)


Randrian (developer)

Ok, cleaned up the code and did some speed improvements for the central routine of the rope. It should now be a good deal faster (well 'only' about factor 2).
We could turn down the iterations, but I don't know if that's a good idea, cause then the rope becomes more and more a rubber robe.
Perhaps I could try a adaptive iteration count, only iteration the maximal number when there is much movement involved...
I want some feedback how you experience now the speed of the grappler.


Newton (administrator)

One tiny thing i saw which could probably improve the performance a little are to put these arrays which you construct on every call on certain methods as local variables/constants. Especially if these methods are called (several times) each frame.


Clonk-Karl (administrator)

Randrian: It's better now (70% CPU usage, ~19 FPS at 4 grapplers) but would be great if more optimization is possible (without losing functionality)


Newton (administrator)

With the ropeladders hanging around in ruins, OC plays in slow-motion. But only in parts (for half a minute or so, after that it runs normally). Can anybody reproduce this odd behaviour?


Maikel (developer)

I can reproduce that.


Randrian (developer)

Hmm, the ropeladder is first in motion (falling down). And it can be that it naturally takes less memory, when it doesn't move that much.
Maybe we could place them not all at once, but with a time delay.


Newton (administrator)

That would not be a very thorough solution. I am still imagining big settlement rounds with dozens of these ladders hanging around somewhere.


Randrian (developer)

Well, It does cost something, when they are all moving at once. I can't see how we can improve the performance very much for moving "ropes". I already have done very much of an improvement.


Newton (administrator)

Perhaps to at least solve this issue: On placing ladders on scenario start, they immediately just "hang down" as they would now after a few secs or so. This would then not lead to a total lag at the start of each round which uses 1+ ladders.


Newton (administrator)

Same with the hanging bridges btw.


Clonkonaut (developer)

Anyone willing to put effort into this?


Clonkonaut (developer)

Removed target version but confirmed. No change anytime soon, I guess.


Maikel (developer)

This issue is old. But I think it alleviated itself over time. People got better computers to have less lag and I cleaned up and optimized the scripts where possible.

Together this means we can close this issue. If there are particular performance issues in for example a certain scenario a new bug can be opened.

-Issue History
Date Modified Username Field Change
2010-08-18 22:12 Clonk-Karl New Issue
2010-08-18 22:12 Clonk-Karl Description Updated
2010-08-18 23:25 Ringwaul Note Added: 0000878
2010-08-18 23:37 Ringwaul Note Edited: 0000878
2010-08-19 16:34 Newton Note Added: 0000892
2010-08-19 22:17 Randrian Note Added: 0000893
2010-08-20 12:36 Newton Note Added: 0000896
2010-08-29 20:22 Clonk-Karl Note Added: 0000945
2010-10-09 17:57 Newton Note Added: 0001123
2010-10-09 18:24 Maikel Note Added: 0001130
2010-10-10 13:21 Randrian Note Added: 0001133
2010-10-29 12:43 Newton Note Added: 0001194
2010-10-29 20:42 Randrian Note Added: 0001198
2010-11-01 17:51 Newton Summary Grappler: Performance issues => Grapple: Performance issues
2010-11-01 17:53 Newton Note Added: 0001209
2011-07-21 15:25 Newton Summary Grapple: Performance issues => Ropes library: Performance issues
2011-07-21 15:25 Newton Note Added: 0001718
2012-10-14 21:39 Clonkonaut Note Added: 0002232
2012-10-14 21:39 Clonkonaut Status new => feedback
2015-10-16 00:34 Sven2 Target Version => 7.0
2015-10-27 22:01 Clonkonaut Status feedback => confirmed
2015-10-27 22:01 Clonkonaut Target Version 7.0 =>
2015-10-27 22:02 Clonkonaut Note Added: 0004055
2016-08-29 08:15 Maikel Assigned To => Maikel
2016-08-29 08:15 Maikel Status confirmed => closed
2016-08-29 08:15 Maikel Resolution open => fixed
2016-08-29 08:15 Maikel Fixed in Version => git master
2016-08-29 08:15 Maikel Note Added: 0005421
+Issue History