Hi everyone,
This isn't really my place, I'm just a developer, but I thought I'd say something. I do absolutely understand why people are getting frustrated - I haven't exactly enjoyed the last few months myself, but at last things are starting to come together now.
First off let me say something about progress. We're making fairly good progress at the moment. A lot of multithreading bugs were squashed over the last week or so, and things got a lot better. There are still some issues though and they need to be resolved. Matt was a bit hesitant to mention this here because we don't know how long until the remaining threading bugs can be cleaned up. They can be very difficult to track down, and what seems straightforward can be anything but. Adding multithreading is a big deal, and especially retrofitting it to a large and complex codebase is not the easiest thing in the world. Matt has been doing that work by himself, unfortunately it was impractical for us both to work on it, and I'm actually quite impressed that he's been able to do it as quickly as he has, believe it or not...
Obviously the delay has been far greater than expected, but multithreading along with the improvements to the renderer which allowed transparency ( amongst other things ) have taken a long time to get sorted. How long? Let me say this - we didn't even release anything to alpha testers for over 3 months. I myself didn't get any of the multithreaded code to work with until relatively recently. You can perhaps see why we haven't done incremental updates in this situation - we simply couldn't. The changes TG2 was undergoing were too fundamental.
Why don't we make alpha releases to just everybody? Because we need to keep feedback, problem reports and followups to a manageable level. It may not seem this way to you, but the public releases we make have been tested so that all bugs within reason have been resolved. When I say "within reason" I mean not part of some fundamental system which we haven't addressed for that release. It's not uncommon for us to need to put out a followup alpha release quickly when we find something wrong we haven't picked up. Alpha tests are basically the first time TG2 gets tried out "off our computers". We can't feasibly test everything just by ourselves, although we try and cover things as well as we can. There has been more than once that something has worked perfectly on my machines but not on one of the alpha testers. Having alpha testers allows some bugs to be shaken out quickly, with any luck with reproducible circumstances we can recreate ourselves for debugging purposes. For this to be effective we need to keep it to a relatively small group. Besides, if we released them to the public at large there would be people who wouldn't understand that the releases were alpha quality.
Believe you me, we're not holding back alpha releases which we feel could be satisfactorily used by a wider audience!
The point about allowing alpha testers to release images is to show that progress is being made. We can't release those versions which are being used to create the images, because right now for every nice looking image there's several more which haven't been able to be rendered to completion due to problems we're in the process of fixing. It isn't so much we want things to be perfect, right now we just want them to work the way they're supposed to.
The one positive in all this is that the multithreading stuff is looking pretty good. Render times are reduced considerably, dramatically in some cases. I used to hear how long a render took for some nice new image and shudder, now I sometimes find myself thinking "Hey, that's not too bad" :-). Don't get me wrong, it can still take a long time to render an image, but at least it's a long time rather than an eternity. Having the previews threaded is great too. We made a hard decision that we didn't want to release a beta without multithreading, but it has of course taken much longer than expected. In any case, the work needed to be done and TG2 is vastly improved because of it.
One big benefit of it for me is that for the first time TG2 is much more interactive while its rendering. I think this will make a bigger difference to people than you might expect. You may have seen me mention this before, but for TG Mac v0.9 I made the renderer run in a different thread to the UI and it was like night and day. Before that it was hard to use other applications while TG was rendering, it took an age to switch away from TG and if you accidentally switched to it when using other apps you had to wait again. Often TG would take a long time to come to the front when you wanted to check on progress. It really made doing other stuff while TG was rendering a pain in the neck. I was pretty annoyed when we found ourselves in the exact same situation with TG2. Right now however, things are looking much better. With any luck the alpha testers won't find anything wrong with this and we'll be able to keep it that way :-).
Anyway, like I said, it's no longer my place to do this kind of thing, and perhaps Matt will tell me off, but I hope that this has explained something to you. I'm not surprised that people are dissatisfied with how things are going, we don't work in a vacuum. All I can say is that with regard to the big changes we've had to make for the threading etc. there's finally light at the end of the tunnel, take that how you will.
Regards,
Jo