Anonymous Login
2018-12-15 13:34 UTC

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000380OpenClonkObjectspublic2016-08-29 08:15
ReporterClonk-Karl 
Assigned ToMaikel 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
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

-Relationships
+Relationships

-Notes

~0000878

Ringwaul (developer)

Last edited: 2010-08-18 23:37

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

~0000892

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)

~0000893

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.

~0000896

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.

~0000945

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)

~0001123

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?

~0001130

Maikel (developer)

I can reproduce that.

~0001133

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.

~0001194

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.

~0001198

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.

~0001209

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.

~0001718

Newton (administrator)

Same with the hanging bridges btw.

~0002232

Clonkonaut (developer)

Anyone willing to put effort into this?

~0004055

Clonkonaut (developer)

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

~0005421

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

-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