Optimize|Bsp Builder: Use the linedef blockmap to accelerate window effect scanning
When analyzing the map geometry for window effect linedefs before building the BSP, make use of the linedef blockmap. Utilizing the the linedef blockmap here avoids the need to test each candidate line vs every other line in the map (lines can be automatically excluded from the comparision set if their axis-aligned bounding box does not intersect the candidate's on the major axis. Lines belonging to polyobjs are also excluded).
The effectiveness of this optimization varies greatly depending on the complexity of the map and whether any window effects have been used. However, tests show that the improvement in average cases is between 5-10%. More complex maps containing many such constructs should expect a healthier performance improvement.
Optimize|Bsp Builder: Use the linedef blockmap to accelerate window effect scanning
When analyzing the map geometry for window effect linedefs before
building the BSP, make use of the linedef blockmap. Utilizing the
the linedef blockmap here avoids the need to test each candidate
line vs every other line in the map (lines can be automatically
excluded from the comparision set if their axis-aligned bounding
box does not intersect the candidate's on the major axis. Lines
belonging to polyobjs are also excluded).
The effectiveness of this optimization varies greatly depending
on the complexity of the map and whether any window effects have
been used. However, tests show that the improvement in average
cases is between 5-10%. More complex maps containing many such
constructs should expect a healthier performance improvement.