View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0000380 | OpenClonk | Objects | public | 2010-08-18 22:12 | 2016-08-29 08:15 | ||||
Reporter | Clonk-Karl | ||||||||
Assigned To | Maikel | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | git master | |||||||
Summary | 0000380: Ropes library: Performance issues | ||||||||
Description | Even 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 Information | When using 4 grapplers at the same time (which I guess might well happen in multiplayer) then performance drops to about 11 FPS for me. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
![]() |
|
Ringwaul (developer) 2010-08-18 23:25 Last edited: 2010-08-18 23:37 |
My FPS drops to 18 whenever I simply use one grappler. :( |
Newton (administrator) 2010-08-19 16:34 |
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) 2010-08-19 22:17 |
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) 2010-08-20 12:36 |
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) 2010-08-29 20:22 |
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) 2010-10-09 17:57 |
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) 2010-10-09 18:24 |
I can reproduce that. |
Randrian (developer) 2010-10-10 13:21 |
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) 2010-10-29 12:43 |
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) 2010-10-29 20:42 |
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) 2010-11-01 17:53 |
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) 2011-07-21 15:25 |
Same with the hanging bridges btw. |
Clonkonaut (developer) 2012-10-14 21:39 |
Anyone willing to put effort into this? |
Clonkonaut (developer) 2015-10-27 22:02 |
Removed target version but confirmed. No change anytime soon, I guess. |
Maikel (developer) 2016-08-29 08:15 |
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. |
![]() |
|||
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 |