View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0003602 | Spring engine | public | 2013-03-22 05:48 | 2013-03-27 01:33 | |||||||||
Reporter | msafwan | ||||||||||||
Assigned To | Kloot | ||||||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||||||
Status | assigned | Resolution | reopened | ||||||||||
Product Version | 93.2.1+git | ||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0003602: Lagspike when unit try to cross map's ocean for QTPFS | ||||||||||||
Description | I test this on Small Supreme Island V2 for both Standard pathing and QTPFS pathing. For QTPFS it consume almost 90% CPU (lag spike) when ordering unit across ocean but for Standard pathing it took only around 10%. To test this: spawn 100 construction bots, then order them to move to another island. In real case, you always have to do this for LUA widget/AI. | ||||||||||||
Additional Information | IMO QTPFS do not use multiple resolution pathfinding unlike Standard pathing, therefore it would consume incredible amount of CPU when testing impenetrable terrain. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Checked infolog.txt for Errors | |||||||||||||
Attached Files |
|
![]() |
||||||
|
![]() |
|
msafwan (reporter) 2013-03-22 06:13 Last edited: 2013-03-22 08:33 |
I have idea. Maybe the square should get bigger when look ahead?! EDIT: I have trouble using Spring.RequestPath() for qtpfs it always return NIL |
Kloot (developer) 2013-03-22 13:51 Last edited: 2013-03-22 13:55 |
Spring.RequestPath only works in synced gadgets for QTPFS. The rest is a duplicate of 0003594, and the ONLY reason the standard pathfinder does not create lagspikes in this situation is because it uses a HACK to limit the squares it explores to a circle centered between origin and destination which prevents it from finding valid paths in many other cases. I won't add such hacks to QTPFS. |
msafwan (reporter) 2013-03-23 01:43 Last edited: 2013-03-23 01:54 |
Kloot, I know qtpfs can be really cool, but can't it simply limit the square just to prevent lagspike? I think lagspike is really bad :( it is more bad than unit behaving stupidly (especially vs chicken) because when it consume 90% CPU the entire game halt, and then, no more game. Also, can we have Spring.RequestPath() for unsynced? because really need this for AI. For example: to check for location to send Constructor to build stuff (not to build underwater or in a blocked area), and for making widget that use Teleportation enterance/exit. (I would love to use qtpfs) Also, organically, no one can look ahead and see infinite resolution. The further we look, the coarser the squares (like driving car: our thumb is bigger than a big truck at distance) |
Kloot (developer) 2013-03-23 03:00 |
"can't it simply limit the square just to prevent lagspike?" it can but it simply won't. any such limit WILL mean cases are created where QTPFS will FAIL to find a path where one does exist and then people will report that as a major bug instead. I know this because there have been such complaints about the standard pathfinder before. "Also, can we have Spring.RequestPath() for unsynced?" maybe in the future, supporting that needs a lot of extra memory. |
msafwan (reporter) 2013-03-23 23:14 Last edited: 2013-03-23 23:15 |
Hi, kloot I think its really bad that qtpfs require a lot of memory. I think, why not tweak standard pathfinding instead? :P I saw that Standard already can obstacle avoidance at short range (for example it knows to go left/right when you build terraform wall quickly) and also is low cost at long range (ie: when try to cross island). I cannot understand why its bad anymore. Maybe it just had tiny bug or something that need tiny tweak??? |
Kloot (developer) 2013-03-24 00:11 |
"I cannot understand why its bad anymore" You cannot, but I can, ok? Don't you think that maybe IF the standard pathfinder only had some "tiny bugs" I would have simply "tweaked standard" instead of writing QTPFS? "and also is low cost at long range (ie: when try to cross island)." Again: THE LOW COST IN THAT CASE IS BECAUSE IT USES DESIGN HACKS. |
msafwan (reporter) 2013-03-27 01:29 Last edited: 2013-03-27 01:33 |
Hi Kloot, I have discovered another source of lag. This apply to Spring94.1 Unit stuck (can't move) and it lag the entire game down. Both player has 100% CPU. Here is the Demo for Spring 94.1, at map Small Divide, at minute 9.13 the lag start when 5 unit stuck on the hill. https://skydrive.live.com/?cid=E7F297F4F70F2EF0&id=E7F297F4F70F2EF0%21121 (pls forgive the large empty square UI. The file is the empty square on left) This lag the Demo too. |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2013-03-22 05:48 | msafwan | New Issue | |
2013-03-22 06:13 | msafwan | Note Added: 0010156 | |
2013-03-22 08:33 | msafwan | Note Edited: 0010156 | View Revisions |
2013-03-22 13:50 | Kloot | Relationship added | has duplicate 0003594 |
2013-03-22 13:51 | Kloot | Note Added: 0010162 | |
2013-03-22 13:55 | Kloot | Note Edited: 0010162 | View Revisions |
2013-03-22 13:56 | Kloot | Status | new => closed |
2013-03-22 13:56 | Kloot | Assigned To | => Kloot |
2013-03-22 13:56 | Kloot | Resolution | open => won't fix |
2013-03-23 01:43 | msafwan | Note Added: 0010167 | |
2013-03-23 01:43 | msafwan | Status | closed => feedback |
2013-03-23 01:43 | msafwan | Resolution | won't fix => reopened |
2013-03-23 01:44 | msafwan | Note Edited: 0010167 | View Revisions |
2013-03-23 01:44 | msafwan | Note Edited: 0010167 | View Revisions |
2013-03-23 01:48 | msafwan | Note Edited: 0010167 | View Revisions |
2013-03-23 01:54 | msafwan | Note Edited: 0010167 | View Revisions |
2013-03-23 01:54 | msafwan | Note Edited: 0010167 | View Revisions |
2013-03-23 03:00 | Kloot | Note Added: 0010168 | |
2013-03-23 23:14 | msafwan | Note Added: 0010172 | |
2013-03-23 23:14 | msafwan | Status | feedback => assigned |
2013-03-23 23:15 | msafwan | Note Edited: 0010172 | View Revisions |
2013-03-24 00:11 | Kloot | Note Added: 0010175 | |
2013-03-27 01:29 | msafwan | Note Added: 0010284 | |
2013-03-27 01:30 | msafwan | Note Edited: 0010284 | View Revisions |
2013-03-27 01:31 | msafwan | Note Edited: 0010284 | View Revisions |
2013-03-27 01:33 | msafwan | Note Edited: 0010284 | View Revisions |