I have attained success at making the Everything Report “Virtual”. Now what appears to be a big huge report is simply only a porthole looking at the piece of the report you want to see. The speedup and reduction in Behold’s memory use is dramatic.
This is, of course, the way all other genealogy programs work. They only show you one person or one family at once, which is why they are fast, but limited.
Behold still appears to produce the whole report at once. It’s a bit of an optical illusion now, sort of the way motion pictures are really individual frames blurred together faster than you can see. Behold’s viewport also gets generated faster than you can see.
I’ve now also virtualized the Treeview. Now only the structure of the entire Treeview is pregenerated, and the data is only included when required for display. This also really increases speed so that 1,000,000 nodes can be added to the Treeview in a half a second.
I still have to convert the Print, Print Preview, Export and Find functionality to work with the virtualized Everything Report. Hopefully I’ll get most of that done in time for the beta release in a couple of weeks. If not, they’ll be the first things I finish off during beta.