Recommended Posts

Do you know the differences between Azure and Cairo? Do you know why they're using one over another?

Yes, I do..

Cairo is backend used to provide layer acceleration in Firefox since long and Azure API is just a cover to make communication between Windows and API better and reduce stateful funda of Cairo API.

http://blog.mozilla.org/joe/2011/04/26/introducing-the-azure-project/

Cairo predates layers, it's just a 2D drawing API with backends around other APIs (Like GDI/Quartz/Direct2D, written by the Mozilla guys). The Gecko codebase doesn't even use plain Cairo, since Cairo provides a C API (Gecko wants C++), so it's wrapped in another API called Thebes internally.

Gecko > Thebes > Cairo > Pixman/GDI/Quartz/Direct2D

Cairo's API design is quite specific, and doesn't match up well with the platform APIs (Like Quartz or Direct2D), it works but it's not very efficient (Cairo is stateful, Gecko wants stateless, etc.). Azure is the replacement of the Thebes/Cairo layer for the platform APIs, and a replacement for the Thebes layer where there's no (good) platform API (Linux/GDI).

Gecko > Azure > Quartz/Direct2D/Cairo/Skia

Simply changing from using Cairo to talk to Direct2D to using Azure provided a bunch of speed ups for benchmarks, and also helped real world use cases (Like webpages with repeating linear gradients as backgrounds). It also allowed Mozilla to switch from using Cairo on Android to using Skia, which is what pretty much all of the APIs there want (Android plugins even use Skia to draw, so they needed it for plugins to render). It turned out Skia outperformed Cairo pretty much everywhere, so Mozilla seems to be transitioning away from Cairo to Skia on Windows (XP, and when there's no hardware acceleration).

Cairo predates layers, it's just a 2D drawing API with backends around other APIs (Like GDI/Quartz/Direct2D, written by the Mozilla guys). The Gecko codebase doesn't even use plain Cairo, since Cairo provides a C API (Gecko wants C++), so it's wrapped in another API called Thebes internally.

Gecko > Thebes > Cairo > Pixman/GDI/Quartz/Direct2D

Cairo's API design is quite specific, and doesn't match up well with the platform APIs (Like Quartz or Direct2D), it works but it's not very efficient (Cairo is stateful, Gecko wants stateless, etc.). Azure is the replacement of the Thebes/Cairo layer for the platform APIs, and a replacement for the Thebes layer where there's no (good) platform API (Linux/GDI).

Gecko > Azure > Quartz/Direct2D/Cairo/Skia

Simply changing from using Cairo to talk to Direct2D to using Azure provided a bunch of speed ups for benchmarks, and also helped real world use cases (Like webpages with repeating linear gradients as backgrounds). It also allowed Mozilla to switch from using Cairo on Android to using Skia, which is what pretty much all of the APIs there want (Android plugins even use Skia to draw, so they needed it for plugins to render). It turned out Skia outperformed Cairo pretty much everywhere, so Mozilla seems to be transitioning away from Cairo to Skia on Windows (XP, and when there's no hardware acceleration).

So we are going for Skia library and Azure API combination or sauce but if Australis lands then it is meaningless for me. You might say why I am making fuzz on Australis but in my opinion, it is personal preference issue.

Lets see where all browser go in near future.

So we are going for Skia library and Azure API combination or sauce but if Australis lands then it is meaningless for me. You might say why I am making fuzz on Australis but in my opinion, it is personal preference issue.

Lets see where all browser go in near future.

I honestly don't get all the fuss about Australis. Besides the gaudy curved tabs it looks pretty nice. It shouldn't be hard to square the tabs with a stylish script once Australis lands. The firefox interface is very customizable whether it be through themes or user css, its hardly the end of the world because the tabs are curved by default.

I honestly don't get all the fuss about Australis. Besides the gaudy curved tabs it looks pretty nice. It shouldn't be hard to square the tabs with a stylish script once Australis lands. The firefox interface is very customizable whether it be through themes or user css, its hardly the end of the world because the tabs are curved by default.

Brother, you are quite knowledgeable yourself so you may know that Firefox do slow down with addons and such stuff. Even Persona (new Theme) slow down Firefox startup. So I don't like personally using theme or scripts.

Brother, you are quite knowledgeable yourself so you may know that Firefox do slow down with addons and such stuff. Even Persona (new Theme) slow down Firefox startup. So I don't like personally using theme or scripts.

In my experience firefox doesn't slow down noticeably at all with stylish + some small stylish scripts.

Hmm, looking at the last few pages gives me the impression that Firefox is loosing quality, and poor decisions are being let through.

Personally, I think the "Enterprise" edition of Firefox should be the main consumer edition - with new major versions introduced yearly (and 18 months of updates - giving a 6 month consumer upgrade window). They should rename the current fast release cycle to "developers edition" which purpose is for testing, feedback & alternations of new features and preparing extension/web developers for any API changes.

This will ensure that Firefox has a mature code base through better testing, calibration of developers/community on major features, and allowing developers to have longer cut off's for code commits.

Since Firefox 10, the current "Enterprise" edition, there haven't been any ground-breaking improvements that would see Mozilla unable to compete in the browser market - so I don't understand why they don't wait until version 18 (or whatever it'll be in January 2013) to release a new major consumer edition. They just need to ensure they stick to a schedule, like a 12 month one, to ensure Firefox 3 to 4 never happens again.

Latest nightly, Aero snap, and YouTube. Anyone else unable to drag the window down from maximized? When I try to, the window just snaps right back up.

Sometimes, when the page first loads, the drag down works. Second time though, it fails, and every time after that.

EDIT:

Seems like the Aero Snap still works when first switching to a tab with the flash content on it. But if the tab stays in focus, then subsequent attempts to use Aero snap do not work, at least until the user switches back and forth to another tab then back again.

Anyone?

Seems like it's a problem with flash and not Firefox?

I honestly don't get all the fuss about Australis. Besides the gaudy curved tabs it looks pretty nice. It shouldn't be hard to square the tabs with a stylish script once Australis lands. The firefox interface is very customizable whether it be through themes or user css, its hardly the end of the world because the tabs are curved by default.

There's already a userstyle out for it. I even use it without Australis, because it makes the tabs bigger and easier to read the titles. http://userstyles.org/styles/51663/australis-classic-tabs?r=1312288377

today's Aurora build seems to have broken forecastfox for me, anyone else experiencing this?

I don't use Aurora, so I can't answer that. Have you had the above mentioned flash issue? It seems to happen mainly on YouTube. I'm asking because I'm not sure if it's a Nightly issue, or is it due to the latest Flash 11.3.300.257.

I don't use Aurora, so I can't answer that. Have you had the above mentioned flash issue? It seems to happen mainly on YouTube. I'm asking because I'm not sure if it's a Nightly issue, or is it due to the latest Flash 11.3.300.257.

If it has something to do with Firefox painting webpage on top of the flash element, then it is Firefox issue IMO

If it has something to do with Firefox painting webpage on top of the flash element, then it is Firefox issue IMO

After one more test, it seems the problem started with something in the new Flash, that Nightly doesn't handle properly or something.

I recently downgraded flash to the previous version and Aero snap, more notably on YouTube, now works properly on Nightly again.

today's Aurora build seems to have broken forecastfox for me, anyone else experiencing this?

Look here.It was a known bug with nightly and the addon developer has to make some minor changes to forecastfox code to make it work again,but some ppl at mozillazine forums did that for the impatient ppl like me :)

Look here.It was a known bug with nightly and the addon developer has to make some minor changes to forecastfox code to make it work again,but some ppl at mozillazine forums did that for the impatient ppl like me :)

thanks for the link, the modified .jar file he posted worked perfectly :)

In my experience firefox doesn't slow down noticeably at all with stylish + some small stylish scripts.

I am running Nightly with a theme and 33 extensions and it is just as fast as out of the box. FTDeep Dark 3.2.3 seems to play nice with it. Comapitable as well.

What exactly is Ion? I've been using nightlies for years now and they almost never crash on me.

IonMonkey is the next generation JavaScript JIT compiler for SpiderMonkey. It is a whole-method JIT with the ability to perform type specialization. It has two goals: a cleanly engineered design that makes future optimization work possible, and excellent performance.

http://arewefastyet.com/?a=b&view=regress

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Posts

    • No, "a great deal" for 32GB of DDR5 is $50, not $350. I mean I see what you mean, that it's a decent price compared to what's currently available, but you really should put a disclaimer in this articles explaining that it's still multiple times more expensive than it used to be.
    • Linux 7.1 stable launch looms as Linus Torvalds releases the final release candidate by Paul Hill Linus Torvalds has just released what’s expected to be the final release candidate of Linux 7.1, rc7. The Linux founder said that this RC is not small, but smaller than recent releases, which is a good sign because he expects the stable version to drop next week if things continue on this trajectory. Linux kernels see a merge window for the first two weeks of their life, where developers add new features, then there are about seven or eight weeks of release candidates before the stable version. Typically, there are seven release candidates, but if more time is needed, then an eighth release candidate is released too. This week’s RC’s biggest area of fixes was for GPUs, with networking just behind. Torvalds said that the rest of the release was “pretty random and spread out” with some architecture fixes, driver fixes, filesystem improvements, and build fixes for more unusual configs. In terms of specific pieces of hardware receiving improvements in this update, we had more AMD Zen6 models supported and fixes for AMD SDMA 7.1 and GFX11. Hardware that got improvements includes Lenovo laptops, HONOR laptops, and MSI laptops. Here are the changelogs for those: ASoC: amd: acp: Add DMI quirk for Lenovo Yoga Pro 7 15ASH11 Input: atkbd - add DMI quirk for Lenovo Yoga Air 14 (83QK) Input: atkbd - skip deactivate for HONOR BCC-N's internal keyboard ASoC: amd: yc: Add MSI Raider A18 HX A9WJG to quirk table ASoC: amd: yc: Enable internal mic on MSI Bravo 17 C7VF When the stable Linux 7.1 is released, it will be up to distribution maintainers, such as Canonical and Red Hat, to release the update to their users via the update manager. Some versions of Linux will get it before others, and some will never get it at all. Fedora and Arch-based distros will be among the first to get it, though. If you don’t get it, the security fixes will be backported to your system’s kernel, so you won’t be at risk, but you won’t get newer hardware support, which is fine if your computer works now.
    • Ideally, the algorithm is smart enough to see the real sender ID and non-spoofed address to block it. Ideally.
  • Recent Achievements

    • One Month Later
      DJC50PLUS earned a badge
      One Month Later
    • Week One Done
      DJC50PLUS earned a badge
      Week One Done
    • Proficient
      Eric Biran went up a rank
      Proficient
    • Dedicated
      Conjor earned a badge
      Dedicated
    • Week One Done
      Windows Guy earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      493
    2. 2
      PsYcHoKiLLa
      249
    3. 3
      Steven P.
      71
    4. 4
      ATLien_0
      68
    5. 5
      +Edouard
      68
  • Tell a friend

    Love Neowin? Tell a friend!