Large amounts of encapsulation suck. It sure got results though.

In regards to Java2D on BeOS: I had a hunch this latest idea would make things useable. As I type this now I feel that hunch has been proven correct. Thanks goes to Andrew for picking my brain to the point that I hap-hazzardly came up with the first incarnation of this idea.

I made decent progress at getting things stable when I was trapped in airports a week or so ago. The creation / update of Surfaces is something I’m 99% certain is solid. There’s a few places (regarding invalid surfaces) I need to double-check, but I feel surface creation / management is almost complete. Locking the surface is another story all on it’s own. There’s some work left to be done there.

Anyhow, after an ungodly amount of encapsulation to fix the ‘public final class’ malarky (see post below) and some creative rectangle / region calculation, I’m rather proud to say the following.

The AWT Graphics implementation for BeOS is definately of a ‘useable’ speed. In fact, on my box here, the Wireframe demo that I used BeScreenCapture to record previously is every bit as fast as it is on Windows. At least perception-wise it is. I’d show you what I mean, but incidentally, it’s also now too fast for BeScreenCapture to record reliably. In fact, it looks horrible on BeScreenCapture because of missed data and half updated frames as it’s reading the framebuffer. :-D It’s fast. Really. I’ve even managed to hit the holy-grail of LockLooper(), a single lock per paint(Graphics g); method invocation, only locking if there was anything drawn. This is not behavior that Java2D supported by default. Why, I do not know.

So now it’s on with my march for stability and feature completeness which should culminate in running Swing applications hopefully fairly soon. There’s still some serious stability work to be done with some of our AWT classes, but for the most part, things are looking good. I started on this a few hours ago thinking it’d be a quick hack before bed. Excuse me while I go collapse, it’s 2AM here, and I have work tomorrow.

3 Responses to “Large amounts of encapsulation suck. It sure got results though.”

  1. tb100 Says:

    More great news Bryan.

    Java progress is one of the big BeOS plus stories recently. Now when can we play yahoo games? :P

  2. bman Says:

    I think we need this, in more than one way.

    Maybe Yahoo Games will be a Christmas Present to myself… we’ll see how the next few weeks go.

  3. tqh Says:

    Keep up the good work!