I stumbled into my biggest performance improvement yet. The Application.ProcessMessages statement allows the Operating System to handle all outstanding requests from all programs running. I have that statement in critical places throughout Behold to ensure that other applications, and even multiple copies of Behold can run smoothly at the same time.
The Eltree BEGINUPDATE and ENDUPDATE statements (see Feb 24) block off the Eltree updates so they are not done until the ENDUPDATE is reached. Similarly the FORMATTAIL command in Richview indicates when the newly added parts of the Everything Report should be formatted.
What I discovered is that both ENDUPDATE and FORMATTAIL hold their screen updates until the ProcessMessages is executed. When I placed the ProcessMessages immediately after those two statements, I couldn’t believe the speedup that resulted. I have no idea what blockage that prevents, but it is more than significant.
As a result of this fix and the other changes made, this version of Behold will be a full 3 to 5 times faster than Version 0.98.8 while using 20 to 25% less memory!!!!!!!! I am a bit stunned, as this is even more improvement than I was expecting. You’ll get to try this out in a few weeks, when I release this version.