All’s been quiet on my blog for the past two weeks as I worked to see if I could actually implement the Everything Report “virtually”. What that means is that I don’t actually load the whole Report into TRichView. Instead I am trying to just load the visible area into TRichView.
I didn’t know for sure if this would work, so the last two weeks have been testing the idea. It is tricky. It required a tearing apart of the way I built the report. First, I had to separate out the Treeview parts, since they were mixed in. Then I had to split the code to generate every small section independently.
I’ve now got that done. And the results are what I had hoped. Each small part generates instantaneously. I should be able to plaster a few together and regenerate a screen in less than 1/16th of a second to allow real time simulated scrolling that mimics what would happen if the full document were loaded.
What this means is that Behold will take a miniscule amount of time and memory to display the Everything Report once the data is loaded and the report is internally generated. That reduces the time of loading large files by 60% and memory by 50%.
But by implementing the Everything Report in this “virtual” way, it means that some of the tasks that RichView now does for me, I’ll have to program myself. This is everything that uses the whole document and includes: the scrollbar and paging, the find function, print preview and printing, exporting to html and rtf, and a few functions not needed until version 2.0 such as copying, pasting, undo and redo. So that’s what’s next.
I’ve now updated the future plans page which includes these tasks. Also, we’re going to go to beta as soon as these are done, maybe in March.
Hopefully nothing major will happen to slow me down this time.