View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002820 | The Dark Mod | Coding | public | 22.07.2011 16:52 | 06.08.2011 16:11 |
Reporter | grayman | Assigned To | grayman | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | TDM 1.06 | ||||
Target Version | TDM 1.07 | Fixed in Version | TDM 1.07 | ||
Summary | 0002820: Unnecessary event posting during map startup can lead to overrunning the event queue | ||||
Description | The event queue has a fixed size of 8192 entries. Every entity posts an event that checks whether that entity is loot or belongs in the player's inventory, even though the vast majority of entities fail these tests. Large maps with many entities can easily overrun the event queue due to this. | ||||
Steps To Reproduce | The only map that has overrun the queue to date is a current WIP by Bikerdude and Melan. St. Albans Cathedral came close, topping out at 8066 posted events. | ||||
Tags | No tags attached. | ||||
Don’t post an event during frame 0 that handles loot and inventory IF the entity is not loot and isn’t in inventory. rev. 4930: entity.cpp |
|
I'd like to re-open this. Each moveable entity also posts an event to set its owner from the "owner" spawnarg, however, 99.99% of moveables do not have this spawnarg set, thus posting unnec. events. While currently no maps overflow due to this, it still can lead to overflows (e.g. when you have a map with 8000 moveables, 8000 events would be posted, in addition to the other events). The offending line is 247 in game/moveable.cpp - the check for having an owner spawnarg != "" should be likely done there before posting the event. |
|
A subsequent requested change to not post an event where moveables check whether their ‘owner’ spawnarg is set. rev. 4939: moveable.cpp |
|
Date Modified | Username | Field | Change |
---|---|---|---|
22.07.2011 16:52 | grayman | New Issue | |
22.07.2011 16:52 | grayman | Status | new => assigned |
22.07.2011 16:52 | grayman | Assigned To | => grayman |
22.07.2011 19:24 | grayman | Note Added: 0003948 | |
22.07.2011 19:24 | grayman | Status | assigned => resolved |
22.07.2011 19:24 | grayman | Resolution | open => fixed |
22.07.2011 19:24 | grayman | Fixed in Version | => TDM 1.07 |
05.08.2011 17:59 | tels | Note Added: 0003971 | |
05.08.2011 18:00 | tels | Status | resolved => feedback |
05.08.2011 18:00 | tels | Resolution | fixed => reopened |
06.08.2011 16:11 | grayman | Note Added: 0003973 | |
06.08.2011 16:11 | grayman | Status | feedback => assigned |
06.08.2011 16:11 | grayman | Status | assigned => resolved |
06.08.2011 16:11 | grayman | Resolution | reopened => fixed |