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.
5 Comments
I went a bit too fast in trying to make the major improvements. I was changing too many data structures at once and the changes required to the code to get everything working again would have been painstaking. There are so many special cases that I handled before that I’d have to reprogram.
So I am taking the simple way out. I’m backing up to my development version of November 16th, which is after I successfully converted Behold completely to Delphi 2009 and Unicode. With this version, just about everything works as it did before.
Now I’ll add the optimizations one-by-one and make sure everything works before I go on. I know I won’t be able to get quite as fast this way, but it should still become much faster than the current alpha version is. Maybe only 1 order of magnitude instead of 2, but we’ll see.
So once I get these internal optimizations going, and finish off some sort of faking out RichView into believing it is producing the whole document, then I think I’m going to finally close out what I’ve been calling “alpha development” and bring on the Beta.
Lot’s of work ahead, but that’s what these cold winter days in Winnipeg are for.
Leave a Comment
There’s at least one person out there eager for the beta of Behold. Tamura Jones has posted an entry titled: Behold release disappoints.
Tamura’s been one who very critically reviews genealogy (and other) software. He torture tests them with huge files that tear them apart. Previous alpha versions of Behold have not withstood the wrath of his tests.
But my recent blog comments about the orders-of-magnitude improvement I have added to my development version of Behold have raised Tamura’s interest. I’m hoping to make Behold almost as fast as Genviewer, with the difference that Behold will later become a full genealogical editor, while retaining the speed.
So Tamura downloaded the release from two days ago thinking it had these improvements. It didn’t and he expressed his disappointment.
Don’t worry, Tamura. I’m putting everything into this, and I trying my hardest to ensure you won’t be disappointed.
————————————
Meanwhile, something happened at my new webhost a couple of days ago that the PHP Mail function will no longer work from my website. That means that requesting a trial key, sending feedback or trying to register for my blog or forum will give an error page. Not good at all! Same for feedback at gensoftreviews.com and lkessler.com.
I’m got a case in with Netfirms to fix this ASAP and in the meantime, I’m manually emailing keys to everyone who cannot get sent one.
3 Comments