Oh, I changed LOTS of things. It's no mystery that something fixed it, I just don't know what.
As to rendering aspect -- the normal playing aspect is fine. There's nearly infinite amount of time (relative to what's needed) between one page and the next while playing forward.
However, there are other modes:
1) Select a song, and want to start -- it's annoying (if not significant) to wait 4 seconds before the first two pages appear, but...
2) I have a mode with 4 x 2 pages shown for browsing, e.g. looking for a specific spot in a large score. Those render a bit faster, but not fast enough - now I have maybe 10-12 seconds to render all 8 pages to get the first display or the next if I immediately hit "next".
The second is far more serious, and is probably the main reason I need to cache and have multi-threading, so when I first load up, I can pretty quickly get well ahead of the pages that might be displayed if they go into that mode.
I think the longest song I have is 12 pages, but in reading about other people who have done this, they describe music 300 pages long. I don't know that anyone other than me will ever use this, but I ought to try to make it useful if so in those cases, so I need a sliding window of cached pages that can go pretty quickly.
There's also:
3) going back. This is a bit easier if I have a cache as it should already be there but is a good example of where you don't have a lot of time. Music sometimes repeats, and the repeat-from may be anywhere from a few bars back from your current spot on the same page, to several pages back. You want to get back to that page quickly when you hit the repeat point, as there may be no available transition (transitions are a whole different matter because you want the new page displayed before you really quite finish the current -- going forward that's easy, not so easy going back).
Handling those transitions, like putting up half a page at times, is what I was working on that "fixed" the overlay I had.
Now I'm working on cache management and multi-threading, so who knows what I'll break ... or fix. I think I've conceptually got what I need, and good isolation, but haven't gotten enough written to even hit Build yet.
Bookmarks