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

    • 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.
    • Helium Browser 0.13.1.1 by Razvan Serea Helium is a private, fast, and honest Chromium-based web browser — built for people, with love. It offers the best privacy by default, unbiased ad-blocking, and a clean experience free from bloat and noise. Proudly based on Ungoogled-Chromium, Helium removes Google’s clutter while keeping a fast, efficient development pipeline. With thoughtful touches like native !bangs and split view, Helium is a people-first, fully open-source browser that puts control back in your hands. Privacy, security, and control come first. Ads, trackers, and third-party cookies are blocked automatically, HTTPS is enforced everywhere, and all Chromium extensions work seamlessly — while Google can’t track your activity. Helium’s 13,000+ offline-ready !bangs let you jump straight to sites or AI tools like ChatGPT instantly. Open-source, people-first, and unbiased, Helium delivers a browsing experience that’s fast, secure, and free from noise, ads, and compromises. Helium Browser key features: Performance Fast, efficient, and lightweight — built on Chromium’s optimized engine. Energy-saving and consistent — stays fast over time without slowing down. No bloat — stripped of unnecessary components for maximum speed. Minimalist interface — compact, clean, and distraction-free. Customizable toolbar — hide elements you don’t need. Smooth and stable — no flicker, lag, or animation glitches. Comfort-focused experience — intuitive and unobtrusive. Privacy & Security Best privacy by default — blocks ads, trackers, phishing, and third-party cookies. Unbiased ad-blocking — powered by community filters and uBlock Origin. No telemetry or analytics — zero background web requests on first launch. Strict HTTPS enforcement — warns for insecure sites. Passkeys supported — modern authentication made simple. No built-in password manager or cloud sync — your data stays yours. Extension Compatibility Full Chromium extension support — including MV2 extensions. Anonymized Chrome Web Store requests — Google can’t track extension installs. Extended MV2 support — maintained for as long as possible. Smart Features Native !bangs — browse faster using 13,000+ offline-ready shortcuts. AI integration — use !chatgpt and others directly from the address bar. Offline functionality — bangs work without an Internet connection. Philosophy People-first design — open source, transparent, and community-driven. No ads, no noise, no bias — privacy and honesty over profit. Helium Browser 0.13.1.1 changelog: Helium Windows e13ddd4 update: helium 0.13.1.1 (#285) 77ee94b helium/windows: winsparkle updater (built-in auto-update support on Windows) e501e98 helium/windows: refresh updater patches for m149 008faee helium/win: move versioning patches to separate file e114701 helium/updater: implement system install update notifications c9e3cda helium/winsparkle: verboser errors b8f787c helium/windows: more version migrations cd376ed ci: sign update helper with different description 5d2383a build: wire up winsparkle envs 3ff28ff helium/updater: init ca58f6f helium/change-branding: use helium version in more internal places 75b2625 .gitignore: add resources/generated abe78f2 downloads: add winsparkle dep 4ed4429 build: build mini_installer again fabf8e9 update: helium 0.13.1.1 Helium-Chromium 5bf45fed merge: update to chromium 149.0.7827.53 (#1857) 3bbe6a3c revision: reset to 1 e3525bb6 helium/zen: reorder patch hunks d48bc496 deps: update ublock to 1.71.0 (#1875) d4e58802 helium/ui: redesign infobar, optimize and rename zen (#1868) c20175cf helium/ui/infobar: redesign, draw proper borders, fix webview relations e8a1bfc1 helium/zen: rename Zen to Frameless in UI, remove feature gates bf560c6a helium/layout: optimize zen top reveal, move out of experiment dir 34ef5f26 patches/brave/chrome-importer: remove os_crypt-related dead code 99cef46c helium/ui: clean up patches, fix accidental string OS gates 5b7dd06c devutils/i18n: add clean command (#1869) 7a32267e helium/updater: add win scaffolding, tighten arch conditions (#1866) d856d800 ci: complete cirrus port to github actions (#1867) c362740d patches: update for chromium 149.0.7827.53 b8a66095 merge: update ungoogled-chromium to 149.0.7827.53 a3a5471d Update to Chromium 149.0.7827.53 c6a41202 helium/updates: decouple update url from helium services + reformat (#1827) 94344c47 Update to Chromium 148.0.7778.215 95f6fe1c Port CirrusCI jobs to github actions (#3776) Download: Helium 64-bit | Portable 64-bit |~100.0 MB (Open Source) Download: Helium ARM64 | Portable ARM64 Links: Helium Home Page | macOS | Linux | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • FastStone image Viewer is better anyway
  • 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
      248
    3. 3
      Steven P.
      71
    4. 4
      ATLien_0
      69
    5. 5
      +Edouard
      68
  • Tell a friend

    Love Neowin? Tell a friend!