Commit 8df8d69
Attempt at fixing issue #725: TBaseVirtualTree.GetLastVisibleNoInit
The code causes exponential slowdowns when traversing very large trees. I copied the code of GetLastNoInit and replaced the GetLastChildNoInit calls with GetLastVisibleChildNoInit calls.
For better performance the 2nd GetLastVisibleChildNoInit call has been replaced with code extracted from GetLastVisibleChildNoInit. This prevents unnecessary calls to FullyVisible while recursing the tree.1 parent 5d8afe3 commit 8df8d69
1 file changed
+16
-11
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27832 | 27832 | | |
27833 | 27833 | | |
27834 | 27834 | | |
| 27835 | + | |
| 27836 | + | |
27835 | 27837 | | |
27836 | 27838 | | |
27837 | | - | |
27838 | | - | |
27839 | | - | |
27840 | | - | |
27841 | | - | |
27842 | | - | |
27843 | | - | |
27844 | | - | |
27845 | | - | |
27846 | | - | |
27847 | | - | |
| 27839 | + | |
| 27840 | + | |
| 27841 | + | |
| 27842 | + | |
| 27843 | + | |
| 27844 | + | |
| 27845 | + | |
| 27846 | + | |
| 27847 | + | |
| 27848 | + | |
| 27849 | + | |
| 27850 | + | |
| 27851 | + | |
| 27852 | + | |
27848 | 27853 | | |
27849 | 27854 | | |
27850 | 27855 | | |
| |||
0 commit comments