A few days ago, we heard about Microsoft planning to include Direct2D acceleration in the yet-to-come IE9, thus leveraging today’s poweful GPUs to render web content.
Mozilla didn’t fall behind: last Sunday, Firefox hacker Bas Schouten revealed a build of Firefox 3.7 with built-in Direct2D acceleration on his blog. His performance tests claim that popular sites like Facebook and Twitter render twice as fast compared to Firefox without Direct2D rendering. More complex sites do not see a lot of benefits, tough. This build requires DirectX 10 and a WDDM 1.0 compatible graphics drive, and thus, Windows Vista or 7. Download it here.
if I were MS, I’d keep any killer new IE features quiet until closer to the release, the firefox team are just gonna 1 up every time they announce something like this.
Yeah, but they can’t win on that, since they’re simultaneously being criticised for being too secretive, and not letting web developers know what to expect…
It’s an overall win for Windows. While IE team may have liked to be first to release with a feature like D2D acceleration, the announcement/demonstration of such support has resulted in greater adoption of the new API. Hopefully, more devs will make the jump for similarly modern APIs where it makes sense for their apps.
Now where’s Firefox’s DirectWrite support (and protected mode)? ๐
Heh, that’s one down:
http://www.basschouten.com/blog1.php/2009/10/27/font-rendering-gdi-…
Edited 2009-11-26 02:22 UTC
It uses it! Or, if not the layout manager, than at least the new text rendering.
Latest Stable Firefox on Windows 7-
http://img134.imageshack.us/img134/4937/regularfirefox.png
This Minefield build using Direct2d and, as it turns out, DirectWrite-
http://img205.imageshack.us/img205/5014/direct2dfirefox.png
This is absolutely a huge win for Windows. It’s easily the most exciting feature about Windows 7 for me. I can’t wait to see this replace GDI.
Edited 2009-11-26 03:45 UTC
If Microsoft wishes for greater use of Direct2D/DirectWrite then they should start moving their common controls (and other widgets) across to using Direct2D/DirectWrite so that GDI’s only function in the operating system is for backwards compatibility only with all parts of the operating system employing the new API. Until that happens developers are going to look at Microsoft, look at their underutilisation of Direct2D/DirectWrite and ask themselves “why even bother, Microsoft can’t even be bothered utilising, why should we?”
Edited 2009-11-26 12:42 UTC
How will that work with Linux and other OS flavours?
It won’t. Be in no doubt that Firefox is a first and foremost a Windows application.
So are you saying that firefox shouldn’t implement technology unless its available right this moment on all three platforms? Windows has a new toy that can give some pretty good performance improvments. I don’t see any good reason why it should not be implemented. When similar techs exist on linux and osx then they will be implemented.
I more or less took Firefox to be a platform independant product.
You would think the the rendering engine would be kept independent but this isn’t the case. I came across a weird OSX rendering bug that wasn’t fixed for over a year.
It should be noted that I have had very fewer problems with webkit browsers when it comes to cross-platform web development. IE isn’t a big deal either as long as you can ignore IE6.
I’m not sure about the Linux version but the OSX version of Firefox seems to be a low priority for Mozilla. They should just drop it since it is a waste of time for web developers who assume that they can code to standards and not have to test in OSX.
Me and the allegedly other 25 percent of Mac users who opted for Firefox kindly disagree with this recommendation as it would leave us with the most under-featured major browser on the market. And Chrome is a dark horse right now and far from finished on the Mac. Firefox on Mac may have its quirks but it’s miles ahead of Safari as long as one has needs beyond *ZOMG* JavaScript and the Mac version has received noticeably more attention beginning with 3.0, probably because many of Mozilla’s developers are on a Mac judging by all the screenshots made on OS X over at Planet Mozilla.
Yes.
Firefox has always been promoted as a cross-platform application, and it’s been a good chunk of the reason why other platforms have had a look-in when it comes to web browsing. It’s a large part of the reason for Firefox existing. Take that away and all you have is another browser on Windows.
They should be thinking about how to implement cross-platform features across all their supported platforms in a sensible manner rather than implementing shiny new toys to the detriment of a good portion of their userbase.
Not good enough.
Edited 2009-11-27 11:21 UTC
Even when linux and osx get similar features working its not like they can share the code. It will all to be developed separately so what possible rational is there for waiting to implement it on windows. Your just denying your windows users a great feature so the the guys on linux won’t get jealous.
And don’t forget that windows is still the biggest chunk of the market, making your windows version stagnate so linux can catch up just can only lose you users. No one is going to give you a download because you bravely made more windows version suck.
Could the linux version use some love? Sure it could, but I won’t begrudge the windows version a great feature that gives a pretty drastic performance increase in many cases.
Also if you limit your cross-platform app to the lowest common denominator features you end up with app that under performs on all of them. Its takes more resources to do cross-platform right, and part of that means using the abilities of each platform to the fullest when you can.
Well, no they can’t so there will be code divergence, maintenance issues and Linux and OS X inevitably won’t get feature parity.
No. If you’re going to have a cross-platform app then do so. If not, just admit to everyone that it isn’t. Simple.
I couldn’t give a shit. If an application is cross-platform then it’s cross-platform. No, you don’t have to lose users. With a proper cross-platform development framework then it’s more than achieveable, and it then makes a limited amount of platform specific features possible and easier to maintain.
See above. You don’t have to. That ‘lowest common denominator’ thing is just plain crap. The problem is that Firefox is doing it wrong.
Firefox is less of a cross-platform app than everyone thinks.
http://civicactions.com/blog/firefox_mac_and_transparency_woes_pull…
Once you start making heavy use of css or javascript you get to learn about how you can’t trust FF Mac to render the same as the Windows version.
What Mozilla should really do is switch to webkit. The gecko codebase is a growing monstrosity.
Actually the Firefox developers were already busy with this before Microsoft announced their IE9 plans.
That’s what they want you to think! Now Microsoft can rip off the peer-reviewed open-source code and hope no one notices.
(Or that’s just the way I would do it anyways… ๐
Okay, so there’s Direct2D acceleration on Windows… what about the other platforms that Firefox supports?!
That’s up for Cairo and its render backends (like GLitz… IIRC, maybe something named similar…)
Cairo (FF since 2.0) is using hardware acceleration if available. It’s up to some developer to point out what is really accelerated on page rendered in Linux http://en.wikipedia.org/wiki/Cairo_%28graphics%29 .
Firefox 2 used Cairo solely for SVG rendering. Starting with 3.0 the browser also uses Cairo to draw both chrome and content. It does currently not use hardware acceleration as the OpenGL backend (Glitz) has been marked as experimental for the last few years, probably because no one has been really working on it. Mozilla seems to consider delegating some of their own resources to actually bring Glitz to a stable state so they can offer hardware acceleration on non-Vista/7 platforms.
I’m curious – does this even work via RDP?
A good percentage of the time that I use a windows box, it’s via Remote Desktop…
D2D uses D3D primitive remoting to render on a remote GPU via RDP for Windows 7 clients (and presumably Vista with the platform update and latest RDP client). Bitmap remoting is used for clients that can’t use primative remoting.