Monday, April 2, 2012

TenFourBird files, into an Azure sky

Well, there's now TenFourBird builds available from our anonymous builder in the land of the Rising Sun. I don't use Thunderbird and in fact still read my mail on a shell account, but it does start up and appear to run normally on my G5, and (s)he offers all four architecture builds, so I'm interested how you Thunderbird users find it now that Thunderbird 3.1 is shortly to end with Fx3.6.

As mentioned, I have TenFourFox 12 up and running (this post is being made in it) and a first pass at the CoreGraphics canvas backend for Azure. The Azure project is Mozilla's attempt to reformulate their graphics stack, in the same way that they did with Cairo way back in Mozilla 1.8/Firefox 1.5. Prior to that Mozilla used various system APIs and gaps in support were sometimes evident from platform to platform, so Cairo came along and offered a stable, standardized way to generate similar graphic content on the supported platforms. Mozilla started with Cairo for HTML canvases in 1.8, and in 1.9/Firefox 3.0 Cairo ended up doing everything.

Cairo can be very fast, but because it is a mid-level API, it inserts a level of complexity and therefore extra code. More to the point, it does not exactly map to the underlying operating system and the conversions needed (and the internal state it needs to maintain) can be expensive to handle. For Quartz a/k/a CoreGraphics it ends up working through two levels of abstraction and this is especially painful to us because we render in software. While Cairo made a lot of code simpler, its drawbacks are now unfortunately apparent.

So Azure tries to map closer to the underlying API, which in our case is Quartz/CoreGraphics, and allows primitives and drawing operations that map more directly (in some cases 1 to 1) to the underlying operating system. This allows us to take advantage of whatever hardware acceleration is available to Quartz, but more importantly it lets us get around a lot of unnecessary bloat. This bloat is even worse than I thought: our current CoreGraphics backend in the forthcoming 10.4Fx 12 accelerates canvas performance by almost 60% on Peacekeeper. That is a smoking hot win. Eventually Mozilla wants to do as much of the browser as possible in Azure, just as they did with Cairo, with Cairo existing as a fallback or for printing.

That's the good news, anyway. The bad news is 1) it's only for canvases right now and 2) our backend doesn't fully work; text doesn't render in canvases yet and gradients make it randomly crash, so I still have some work to do. By default it ships disabled, but you can turn it on in about:config and I will tell you how when it is available. Even in this incomplete form it will still pass Peacekeeper and run a number of demos. Don't expect night and day speeds, but you will notice a difference.

Mozilla also did some improvements to JavaScript, which is particularly noticeable on G3 and G4 (G5 only modestly improves for some reason), and I have rescheduled XPT calls to system components from JavaScript to be faster on all platforms, not just G5. Overall the browser feels smoother, but I've only been using it for a couple days.

I have not yet heard when 10.0.4 will go to build, but there are a lot of fixes in it. I will make 12 available when the RC is signed off. In the meantime, post your TenFourBird comments; I'm curious how people who actually use an E-mail client will find it.

12 comments:

  1. @ClassicHasClass, I also have no need for an e-mail client but congratulations on becoming a grandfather and keeping Ubuntu at bay.

    ReplyDelete
  2. This is not the way I intended to become a grampa, mind you :P

    But it's not a competition with Lubuntu PPC either (or MintPPC or any of the other Power Mac Linux distros). They serve a completely different audience. This browser is for people like me who have a need to run legacy software, while their project is for people who want to keep their old system current. And I know an increasing number of people who dual-boot and have a foot in both worlds. So it's good for everyone to keep more Power Macs in operation, because it keeps the audience for both projects intact, and encourages ecosystem development like this.

    Btw, if someone wanted to make a "TenFourMonkey" the TenFourBird changesets would be an excellent place to start because they have all the mail-news tweaks.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. I've been watching that TenFourBird page and downloaded it as soon as it was available. I only did basic tests, but the build seems fine. I didn't really use Thunderbird on Mac much (only for second account for my wife), so I can't make much comparison - but it seems to start much faster. I'm not sure, but the GUI looks lighter. I changed the ugly TenFourBird icon (never liked the Thunderbird icon much either), but when there's new mail the damn thing comes back. (I'll figure it out)

    I'm still quite happy people are putting effort into updating software for the "old" but still very usable PPC Macs.

    ReplyDelete
  5. I knew it'd be easy. I just had to change the thunderbird.icns in Resources.

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. Any performance improvements are welcome for Firefox. Firefox is so bloody bloated and slow.

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. I agree with mr_a500 that Tenfourbird (note that the developer chose not to capitalize the f in four and b in bird) feels faster than Thunderbird 3.1.20. I'm using it as an IMAP client for Gmail. Messages seem to display more quickly. Moving between mailboxes containing tens of thousands of messages, then displaying messages in the mailboxes also feels more snappy. Everything seems to feel a bit more responsive. I haven't used it extensively, but have tried it out on two different 7450-based machines, one running Tiger and one running Leopard, and haven't run into any issues yet. Many thanks to the anonymous builder!

    ReplyDelete
  10. After a few more hours of using Tenfourbird 10.0.3_2, I have to say that the difference in performance between it and Thunderbird 3.1.20 is not subtle. Every aspect of the program feels faster to me. This is a very pleasant surprise.

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. What a co-inky-dink! I was JUST bemoaning my 3.1 TBird on this G5... I'm gonna download one of this toot-suite! :-) (Now, when are we gonna get a PPC Chromium...?) ;-)

    ReplyDelete

Due to an increased frequency of spam, comments are now subject to moderation.