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

    • "77ee94b helium/windows: winsparkle updater (built-in auto-update support on Windows" If that's what I think it is, that is about the only thing that's been missing from this excellent browser. I guess I'll find out the next time I'm on a Windows machine.
    • Alphabet Raises $84.75 Billion To Feed Its AI Compute Hunger https://www.techtimes.com/articles/317953/20260607/alphabet-raises-8475-billion-feed-its-ai-compute-hunger-warren-buffetts-berkshire-buying.htm
    • Good point Anti-spoofing protection for cloud mailboxes Anti-spoofing technology in Microsoft 365 specifically examines forgery of the From header field (also known as the 5322.From address, From address, or P2 sender), because email clients show the From header value as the message sender. When Microsoft 365 has high confidence the From header is forged, the message is identified as spoofed. https://learn.microsoft.com/en...g-protection-spoofing-about
    • I sort of agree with you on that. I had a telescope - a real hefty thing, although only around 500CHF - that got me so fascinated about the stars and planets. I would stare for hours, amazed that I could see the craters of the moon or the rings of Saturn in "realtime" (quotations because, y'know, speed of light and whatnot). A friend of mine has a telescope like the one mentioned in the review, and the pictures are amazing to look at. But there is something missing for me. I may as well just go to NASA's website and look through their gallery.
    • As opposed to catching bad press because it's the engine's fault? The engine has all the tools a dev needs to optimize their game, Epic isn't gonna hold their hand to make sure they use them. Also, Epic isn't forcing anyone to use Lumen, Nanite or super high resolution meshes and textures. Just because Nanite can render meshes with millions of polygons doesn't mean you should use it like that, in fact, Epic recommends you avoid doing that. Most of the stuttering can easily be fixed by cutting down on unique materials by using master materials, using instanced meshes or combining meshes, generating a thorough PSO cache to allow shader pre-compilation and also managing what must be loaded and unloaded at runtime. It's up to the developer to set all that up properly and no the engine can't do all that for you that's not how any of this works.
  • 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
      246
    3. 3
      Steven P.
      72
    4. 4
      +Edouard
      69
    5. 5
      neufuse
      68
  • Tell a friend

    Love Neowin? Tell a friend!