| Anonymous | Login | Signup for a new account | 2026-06-14 17:19 UTC |
| My View | View Issues | Change Log | Roadmap | Zandronum Issue Support Ranking | Rules | My Account |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
| 0001952 | Zandronum | [All Projects] Bug | public | 2014-10-09 19:43 | 2026-05-22 23:38 | ||||||||
| Reporter | Tribeam213 | ||||||||||||
| Assigned To | Torr Samaho | ||||||||||||
| Priority | high | Severity | crash | Reproducibility | always | ||||||||
| Status | assigned | Resolution | open | ||||||||||
| Platform | Microsoft | OS | Windows | OS Version | XP/Vista/7 | ||||||||
| Product Version | 1.3 | ||||||||||||
| Target Version | Fixed in Version | ||||||||||||
| Summary | 0001952: Extreme lag from an old wad | ||||||||||||
| Description | So I've been going through a lot of old mods lately, when I came across this lag problem in supersonicdoom On Map28 there is a room full of fans, whenever you walk in and the fans activate, the game starts lagging to about... 0 fps... Tried to figure out why it happens before I posted this report, but couldn't reproduce the problem in my own test map. This happens in both 1.3 and 2.0 Does not happen in ZDoom or GZDoom | ||||||||||||
| Steps To Reproduce | At the start of the map, turn on noclip, turn 90 degrees to your left, and head straight. 1. zandronum -iwad doom2.wad -file sonic_lag_03.wad -host +skill 3 +sv_cheats 1 2. Connect a client to the server and join the game. 3. Drop down onto the floor to trigger the fans spinning, it will start to lag greatly. This lag does not appear offline as of 3.2. | ||||||||||||
| Attached Files | |||||||||||||
Notes |
|
|
Dusk (developer) 2014-10-09 19:55 |
Without a WAD link this report is pretty much useless. |
|
Tribeam213 (reporter) 2014-10-09 20:01 |
'http://www.gamers.org/pub/idgames/levels/doom2/Ports/megawads/sonic.zip [^]' Sorry about that, forgot |
|
Dusk (developer) 2014-10-09 21:04 edited on: 2014-10-09 21:05 |
Debugging says the culprit is the horribly inefficient P_FindFirstFreeFloorID() function. I'll optimize this function (and its twins >_>). |
|
Dusk (developer) 2014-10-09 22:10 |
Turns out this function has *seven* different twin functions. This is requiring rather major rework to make into anything sensible. This patch is going to be a teeny bit larger than I first anticipated as I'm going in for a full refactor. |
|
Dusk (developer) 2014-10-10 01:24 edited on: 2014-10-10 01:34 |
Big one incoming here:'https://bitbucket.org/crimsondusk/zandronum-stable/commits/19fbc48cc324fee30aebe5e19e9783ed8ff9e2fc [^]' - all movers, ceilings, floors, pillars etc alike now use a single pool of 2^16 mover net IDs instead of 2^13 each (overall this increases the limit somewhat) - new, linear-complex net ID choosing algorithm doesn't cause lock-ups in less-than-ideal scenarios, sonic map28 has a *lot* of instant movers in the fan hall, which caused the FindFreeFloorID function to spaz out - a large amount of code duplication removed No zandronum-history entry yet because I don't consider this changeset complete. I'm expecting something to crop up as this obviously enough needs through testing. Thus also needs a build for testing... |
|
Torr Samaho (administrator) 2014-10-11 13:00 |
I think it's not worth to make the code more complicated just so save a few kb of memory. If you really want to avoid using more than a bit to store a bool, I suggest to create a bit vector class that completely encapsulated all the bit shifts and index arithmetics. Also, why do you invent a completely new network index handling algorithm when we already have one (ACTOR_GetNewNetID) and you could generalize that one instead? From a quick glance, I'd say that the existing mechanism is even more efficient. It won't necessarily slow down with the number of already used IDs while yours will go through all IDs starting from the first to find a free one (see how g_ulFirstFreeNetID is used). |
|
Dusk (developer) 2014-10-11 13:24 |
So you're saying we should tie the mover net IDs in with actor IDs? |
|
Torr Samaho (administrator) 2014-12-27 16:38 |
For the record, we discussed this on IRC a while ago. I don't mean to use the same ID list for actors and movers, just the same ID list management code. I converted the actor ID list code to a class locally, to make this possible without code duplication. Still needs some refinement though before I can push it to the stable repository. |
|
Torr Samaho (administrator) 2014-12-28 13:39 |
I added the ID list code to the stable sandbox. Still almost untested, but should be good enough to try this with the movers. |
|
unknownna (updater) 2026-05-22 23:02 |
I've been investigating this issue recently, and for what it's worth, the unplayable lag that occurred on the offending map (MAP28) has been eliminated when playing offline since 3.2-alpha-250323-2124. Something changed between 3.2-241030-1744 and 3.2-250323-2124 that caused the lag to disappear offline. It still lags quite a bit online however, but it doesn't freeze up the server anymore compared to before. I decided to strip down the map painstakingly into its own example wad as far as possible without removing the consistent lag. Quote from Dusk When I strip down the map too much, it stops lagging online too. The less sectors and things there are, the less lag present. The client's tick offset seemingly makes it smoother or laggier as well. On a separate note, when stripping down the offending part of the map too much into its own example wad, there seems to be a difference in the sector sounds between Zandronum and GZDoom 1.8.6. In Zandronum, the sector platform sounds play, but in GZDoom 1.8.6 they don't for some reason. I decided to not keep this behavior for the main example wad since we just want to be guaranteed to reproduce the lag here, but I nonetheless uploaded the other completely stripped down wad as well so you can see the difference between the ports if you want to. And here's link to the mod in the OP since the link posted earlier doesn't work anymore:'https://www.doomworld.com/idgames/levels/doom2/Ports/megawads/sonic [^]' Fixing this would help eliminate even more stuttering on the client, which is always welcome. |
| Only registered users can voice their support. Click here to register, or here to log in. | |
| Supporters: | unknownna |
| Opponents: | No one explicitly opposes this issue yet. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2014-10-09 19:43 | Tribeam213 | New Issue | |
| 2014-10-09 19:55 | Dusk | Note Added: 0010434 | |
| 2014-10-09 19:55 | Dusk | Assigned To | => Dusk |
| 2014-10-09 19:55 | Dusk | Status | new => feedback |
| 2014-10-09 19:55 | Dusk | Assigned To | Dusk => |
| 2014-10-09 20:01 | Tribeam213 | Note Added: 0010435 | |
| 2014-10-09 20:01 | Tribeam213 | Status | feedback => new |
| 2014-10-09 21:03 | Dusk | Assigned To | => Dusk |
| 2014-10-09 21:03 | Dusk | Status | new => assigned |
| 2014-10-09 21:04 | Dusk | Note Added: 0010437 | |
| 2014-10-09 21:05 | Dusk | Note Edited: 0010437 | View Revisions |
| 2014-10-09 22:10 | Dusk | Note Added: 0010441 | |
| 2014-10-10 01:24 | Dusk | Note Added: 0010444 | |
| 2014-10-10 01:24 | Dusk | Status | assigned => needs review |
| 2014-10-10 01:34 | Dusk | Note Edited: 0010444 | View Revisions |
| 2014-10-10 01:34 | Dusk | Note Edited: 0010444 | View Revisions |
| 2014-10-11 13:00 | Torr Samaho | Note Added: 0010481 | |
| 2014-10-11 13:01 | Torr Samaho | Status | needs review => feedback |
| 2014-10-11 13:24 | Dusk | Note Added: 0010482 | |
| 2014-12-27 16:38 | Torr Samaho | Note Added: 0011093 | |
| 2014-12-27 23:22 | Dusk | Assigned To | Dusk => Torr Samaho |
| 2014-12-27 23:22 | Dusk | Status | feedback => assigned |
| 2014-12-28 13:39 | Torr Samaho | Note Added: 0011097 | |
| 2026-05-22 23:00 | unknownna | File Added: sonic_lag_03.wad | |
| 2026-05-22 23:00 | unknownna | File Added: sonic_lag_gzdoom.wad | |
| 2026-05-22 23:02 | unknownna | Note Added: 0024757 | |
| 2026-05-22 23:27 | unknownna | Steps to Reproduce Updated | View Revisions |
| 2026-05-22 23:38 | unknownna | Priority | normal => high |
| Copyright © 2000 - 2026 MantisBT Team |