QodotPlugin / qodot-plugin

(LEGACY) Quake .map support for Godot 3.x
MIT License
960 stars 70 forks source link

Significantly slower tree attach in newer versions #46

Closed Shfty closed 4 years ago

Shfty commented 4 years ago

Tree attachment time has increased to the point where ad_sepulcher is no longer feasible to load. My initial suspicion is that NodePath is slowing things down, though that may not be the case given that the aggregated build steps are also affected.

If this is the case, attach paths need to be converted back into indices. There are wrapper functions for generating attach paths now, which should make it less painful.

Shfty commented 4 years ago

Fixed with the recent build system refactors- nodes are now attached by dictionary key instead of node names or indices. In addition, the tree structure is assembled by the build thread as each set of nodes arrive, which spreads any main thread stalls throughout the build process and somewhat mitigates the end-of-build hang.

AD Sepulcher is now feasible to load again, and load times are the lowest they've ever been.