by UsernameAK » Fri Sep 20, 2019 6:56 am
FWadCollection::GetLumpsInFolder makes lag because it basically bruteforces all lumps in all wads. It affects performance of wads that use ACS SetFont heavily and have large amount of lumps.
The well-known wad that is affected by this bug is LSD. Inventory in this mod is made with ACS, and it lags heavily (drops to 1-2 fps) when it's open. Profiling showed that the performance bottleneck is exactly FWadCollection::GetLumpsInFolder.
Spoiler:
https://github.com/coelckers/gzdoom/blo ... .cpp#L1344 - the part of code which makes lag
- Attachments
-
- lsd-v1.2.2-gzfix.pk3
- LSD gzdoom compat patch if you need some testing thingy. the lsd itself is in the spoiler
- (666 Bytes) Downloaded 74 times
FWadCollection::GetLumpsInFolder makes lag because it basically bruteforces all lumps in all wads. It affects performance of wads that use ACS SetFont heavily and have large amount of lumps.
The well-known wad that is affected by this bug is LSD. Inventory in this mod is made with ACS, and it lags heavily (drops to 1-2 fps) when it's open. Profiling showed that the performance bottleneck is exactly FWadCollection::GetLumpsInFolder.
[spoiler]LSD can be downloaded from here: https://drive.google.com/drive/folders/1W66aKOGcWmsfCQi7e2dLa4jSUdKNOwSq
GZDoom compatibility patch for it is attached[/spoiler]
https://github.com/coelckers/gzdoom/blob/587fd75190871c2d19e32ecd9fe132a635d90954/src/gamedata/w_wad.cpp#L1344 - the part of code which makes lag