Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_init_login.inc.php on line 81

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /usr/share/b2evolution/inc/items/model/_itemlistlight.class.php on line 420

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /usr/share/b2evolution/inc/_core/_param.funcs.php on line 1407

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /usr/share/b2evolution/inc/_core/_param.funcs.php on line 1407

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

Deprecated: Return type of ExplodeIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/b2evolution/plugins/wikitables_plugin/_string_utils.inc.php on line 529

Deprecated: Return type of ExplodeIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/b2evolution/plugins/wikitables_plugin/_string_utils.inc.php on line 540

Deprecated: Return type of ExplodeIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/b2evolution/plugins/wikitables_plugin/_string_utils.inc.php on line 533

Deprecated: Return type of ExplodeIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/b2evolution/plugins/wikitables_plugin/_string_utils.inc.php on line 558

Deprecated: Return type of ExplodeIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/b2evolution/plugins/wikitables_plugin/_string_utils.inc.php on line 511

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/share/b2evolution/plugins/html5_mediaelementjs_plugin/_html5_mediaelementjs.plugin.php on line 61
Firefox 4 Beta: Bringing Hardware Acceleration
  • Front Page

  • Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

    Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

    Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

    Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

    Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

    Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

    Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

    Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

    Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

    Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542

    Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10537

    Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/share/b2evolution/inc/_core/_misc.funcs.php on line 10542
  • Contact
Bas
2010-09-07

Firefox 4 Beta: Bringing Hardware Acceleration

With Firefox 4 getting closer and closer to release, we've introduced a new feature in the Beta: We've enabled hardware acceleration through Direct2D by default for our users using Windows Vista or Windows 7 and having DirectX 10 Compatible hardware. As some of our users might know, this feature has been available to them through a special preference for a while now, even as far back as the Alpha. However, after a lot of hard work from our Graphics team, we now feel confident enough to enable it by default for our users with compatible hardware.

So what is Hardware Acceleration?

Usually when we talk about hardware acceleration we mean using the graphics card of your computer to accelerate certain graphical operations. Nowadays the graphics cards in most people's computers have an immense amount of computational power, often many times more than the normal processor. This computational power is very specialized and cannot just be used for anything. It's most commonly used for video games, but obviously as web browsers use more and more graphical effects, we want to use it inside firefox as well!

What is Direct2D?

Direct2D is a rendering system part of the DirectX package which is shipped with Windows. It was introduced in Windows 7 and ported back to Windows Vista in the Vista Platform Update. It allows us to access the hardware with a simple 2D graphics drawing API for all mozilla drawing code, allowing hardware acceleration for a very large number of scenarios.
How will I see it's working?
You should notice that some pages are a lot faster and more responsive, in particular, pages that use advanced, animated graphical effects. For example, pages with transparency or that include transformations. In addition to that, you can see if it's currently turned on for your system by looking in 'about:support'.

Help! It broke my browsing experience!

Since we're currently still in Beta, it's not completely unfeasible that on your particular system hardware acceleration might cause you issues! Of course we don't want this to prevent you from using and testing our beta. If you're experiencing issues you can switch it off by going to 'Tools->Options->Advanced' and there you will be able to unset hardware acceleration.

Grafx Bot

So this thing might break your browsing experience, right? Well, that's something we'd love to hear about so we can fix those issues! We've created an extension especially designed to test our browser on your system, and it can be used to send us data on any unexpected behavior. There's a great post on it on JGriffin's Blog, the more people install it, the faster we can improve our support!

That's all well and good, but what about other platforms?

At this point in time we do not have a system such as Direct2D available on other platforms. However we are working hard on alternative approaches to use hardware acceleration on other platforms. You should expect to hear more on that soon!

75 comments

# Ionut on 2010-09-07 at 20:32

any estimate time for this feature to be available on linux?

# Breen on 2010-09-08 at 00:21

Great, but what with older graphic cards compatible with DirectX9 for example? I have GeForce 7600 and Hardware acceleration does not work. So my graphic card is fast enough to allow me to play 3d games like Half Life 2, Far Cry etc, but it is to slow for acceleration of web pages in Direct 2D? If it’s true, then it is the most stupid HW acceleration I’ve seen. I like Firefox 4 but the browser HW acceleration should be compatible with older graphic cards..directx 9/8!

# [Member]   on 2010-09-08 at 01:08

@Ionut: If you read closely, something like D2D probably won’t, atleast not in the near future. Layers acceleration (hardware accelerated compositing) will be available for you.

@Breen: The fact here is that hardware acceleration is not geared towards doing things like high quality text. Particularly before D3D10. It’s indeed made to draw 3D games (notice how the text usually looks pretty crap in those!) like Half-Life. However what we then -can- do with your hardware is accelerate compositing of the ‘layers’ a website consists of or for example for CSS transformations. This is a different ‘kind’ of HW acceleration and we’re working on that for FF4 as well. It will support D3D, but it won’t be as fast as D2D. More on that is coming.

# Someone on 2010-09-08 at 02:28

Hardware acceleration and Direct2D have been nothing but a abysmal failure.

Firefox has become slower than every other browser, memory management has plummet, and font rendering has become a joke.

Some examples:

Before

Using Firefox during days, weeks or even months was no problem. Memory stay controlled and CPU usage never spiked.

Moving back and forward in history while not as fast as it should be was usable. Opening windows / tabs was fast and responsive. Moving between tabs was fast.

Font while not the best of best was smooth.

Now

I cannot use more than a few hours straight. It becomes unresponsive. CPU usage spikes all the time. It makes the all computer unresponsive.

Moving back and forward in history is a nightmare, slow and unresponsive. I’ve to wait 30 seconds or more to go back to the previous page. Changing tabs is also slow.
[going back in history has also another problem. sometimes it takes 2 to 3 clicks to go back to the previous page. I click one, nothing happens, 2nd second time nothing happens. it’s insane]

Font rendering is just awful. Worse than in some Linux distributions. Smoothing disappeared. Web page text is passable, text on comment boxes is jagged and serrated and text on the address bar is horrible, heavily serrated and distorted.

I simply cannot understand how will you be able to release Firefox 4 in these conditions.

I have a t6400 dual core with 4gb RAM and a DirectX 11 graphic card with WDDM 1.1.

Disabling Hardware acceleration does not improve things…

# Silvio Sousa Cabral on 2010-09-08 at 03:14

Macs will take advantage of this feature in Firefox 4?

# [Member]   on 2010-09-08 at 03:18

@Someone:

Let me respond first, that Firefox 4 is not released yet, and it will not be released at its current quality level.

The unresponsiveness on your machine is concerning, particularly since the specs are pretty good.

Are you running Vista by any chance? We’ve noticed some machines with good specs having considerable issues under Windows Vista?

The font rendering in the browser chrome (i.e. the UI area) is a known issue that is being worked on. It’s largely due to a microsoft bug that Microsoft is working on as well.

What I’m most confused about is that disabling hardware acceleration does not help for you? Are you using the nightlies then? Because those have an issue that disabling hardware acceleration does not always work, the Beta, however, should not! Otherwise it would suggest these issues also occur for you without hardware acceleration which I would find surprising.

# [Member]   on 2010-09-08 at 03:19

@Silvio: They will take advantage of Layers composition acceleration. Something we’re working very hard on right now.

# Hassan on 2010-09-08 at 04:14

Awesome work, been using the beta for a while now and it is much more responsive and faster, contrary to what Someone seems to say.

The only issue I have with D2D is that fonts always look weird, this isn’t something I’ve noticed specifically in Firefox, the same thing happens to other programs that make use of D2D acceleration. Will it be fixed, or is it just a by-product of D2D, and something we’ll learn to live with?

Thanks very much and keep up the good work :)

# [Member]   on 2010-09-08 at 05:33

@Hassan:

Some of the font changes are possibly better, and might just take some getting used to. Other issues (light text on dark background for example), we’ve spoken to Microsoft about and they’re working on the issue! We’re also looking for some workarounds on our side.

# Alex on 2010-09-08 at 13:26

I’m still confused: Does enabling DirectWrite have any benefit regarding performance? If so, also on DX9 hardware? And what do you mena by saying the following:

“This is a different ‘kind’ of HW acceleration and we’re working on that for FF4 as well. It will support D3D, but it won’t be as fast as D2D. More on that is coming.”

Is this geared twoards non DX10 hardware? If so, can I enable this hw-acceleration in the latest beta 5?

# Steven on 2010-09-08 at 15:12

Bas, first congrats on the first blog post in a while, I had almost given up (hail to the RSS gods for checking it for me :-))

Second, don’t listen to all the naysayers, I have a pretty weak machine (X2 4200+, 2gb, hd2600xt, Win7 x64) and D2D def. helps alot, and FF is by far the snappiest when it comes to scrolling and the like. Chrome might be faster in Javascript benchmarks, but the overall experience is much better in FF for me.

Only problem I have is Aero Glass is out of wack after using the browser for a while, but I’m on nightlies so it’s expected and nothing major. I’m not even sure its related to D2D.

Please revive this blog with more details about Layers Accelleration :-)

# Eric on 2010-09-08 at 16:24

I’ve turned the hardware acceleration off unless and until the font problem is addressed. GMail in particular looks just awful, to the point where it’s painful to use. Otherwise things are running fine, but they were running fine before, too.

Otherwise the latest beta seems great so far. Tab Candy / Panorama is just about the best thing ever.

# [Member]   on 2010-09-08 at 16:39

@Alex: DirectWrite does not give any performance benefit by itself (although it is available on all Windows Vista/7 machines regardless of hardware).

It is geared to be built upon 3D graphics APIs rather than a 2D graphics API. It’s enabled by default on the latest nightlies.

@Steven: Thanks a lot! It’s great to hear that! :-)

Your Aero Glass problem might be related to D3D9 Layers being on in the latest nightly? See: https://bugzilla.mozilla.org/show_bug.cgi?id=594255

@Eric: It’s a shame the DirectWrite font rendering doesn’t match your preference (g-mail should be rendering fine I believe, I don’t know of any bugs there, or is this only on light text on dark backgrounds). There’s options on DirectWrite to use old style GDI rendering though, we might make it possible to use those through some pref at some point.

Other than that I’m glad to hear you like the Beta!

# Steven on 2010-09-08 at 17:31

Bas I think that’s exactly what I’m seeing, at least the screenshot matches, but I don’t have to enter Fullscreen for it, it just seems to happen after a while (becomes unresponsive for half a second or so and then the top is black like in the screenshot and sometimes completely transparerent).

# [Member]   on 2010-09-08 at 17:34

@Steven: Thanks for your feedback! We’re doing our best to work on the issues.

# Eric on 2010-09-08 at 17:53

I don’t think there’s anything specific about GMail, that’s just where I was noticing it the most. Pretty much every line of text is the difference between this (DirectWrite off):

http://i.imgur.com/oxGih.jpg

And this (DirectWrite on):

http://i.imgur.com/DTJG2.jpg

Which may not seem like much but when it’s a whole page of that it drives me kinda nuts.

Again, love everything else about it, and hope you guys can get it worked out for the final release. But I can’t imagine anybody thinking the 2nd rendering above isn’t distinctly worse.

# [Member]   on 2010-09-08 at 17:56

@Eric: The second here is certainly worse. But that’s an issue in the UI and one that MS is working on. I’m more interested in the content page though! Since there it should look much better.

And thanks!

# Eric on 2010-09-08 at 19:12

Well, I didn’t really want to take a screenshot of my Google inbox and post it for obvious reasons. ;)

I’ll see if I can find a content page that reflects the problem well, but the long and short of it is that the letters are distorted in a pretty similar way to that UI shot, for me.

# Eric on 2010-09-08 at 19:19

Here are some clippings from a spam email, that should be safe. ;)

No DirectWrite:
http://imgur.com/JETgK.jpg

DirectWrite:
http://imgur.com/obqLZ.jpg

The DirectWrite text is far too (for lack of a better word) bunched together, and looks noticeably less crisp. It’s much less pleasant to read.

# [Member]   on 2010-09-08 at 20:04

@Eric: Okay, so it’s hard to be 100% sure here because of JPEG artifacts (PNG would be better :-)). But the latter screenshot in this case looks like the way DirectWrite intends it to be rendered, i.e. in this case it’s probably a matter of taste. I prefer the latter, but I like tightly packed letters.

# Eric on 2010-09-08 at 20:41

Ask and receive. ;) A longer spam mail this time so there’s more text to look at.

No DirectWrite:
http://i.imgur.com/DQpon.png

DirectWrite:
http://i.imgur.com/o0rzE.png

In addition to the letters being more tightly packed, they also appear to be drawn thicker, which makes the whole thing seem blurry to me, especially on the bolded letters (the links in those images). Since all new messages in GMail display in bold, it’s particularly jarring on my Inbox view.

If that is in fact “just the way it should look", that’s a shame, because I’ll have to forego the other benefits of hardware acceleration in order to not have to deal with it. I would have hoped that you’d be able to render the text the same way with as without, at least as an option, but perhaps that just can’t be done.

# Eric on 2010-09-08 at 20:45

Here’s another good example (sorry for spamming your comments with images, but you seem to want to dig into it a bit):

The GMail Priority Inbox toolbar without DirectWrite:
http://i.imgur.com/8V03t.png

And with DirectWrite:
http://i.imgur.com/XbuZe.png

Look at the buttons, the Archive button in particular - that’s just ugly with DW turned on.

# [Member]   on 2010-09-08 at 21:03

@Eric: The first example I’d say directwrite looks better, we -can- render old GDI style using DirectWrite by using a compatibility flag. We might want to make that accessible through a pref so you can use it for example.

The second, there’s a slight dark background issue causing AA to be slightly distorted, that’s part of the MS bug. Then there seems to be a gmail bug in the archive button. What appears to be happening is that they specify bold and stronger for that button. In the Arial family there’s a bold face, and then Arial Black which is even bolder. In the past GDI was unable to enumerate Arial black in the Arial family, causing Arial bold to be chosen incorrectly. Now we’re actually picking Arial Black as we should, but I doubt that’s what the designers intended.

# 대길 on 2010-09-08 at 21:17

Bas, can you work some magic and get this (https://bugzilla.mozilla.org/show_bug.cgi?id=275223) resolved before the final? I get my hopes up before each release.

# Eric on 2010-09-08 at 21:39

Fair enough. Thanks for the many responses - I’ll try it again in the final release and see if things have gotten better. A preference flag would be appreciated for those of us who would like to potentially see other benefits of hardware acceleration but like the old text rendering. :)

# ZekeMX on 2010-09-09 at 01:31

Ok, So, nothing like D2D will be available for Linux, so, why use D2D on the first place where you could probably had used OpenGL and make it work on any platform?.

Also, If Firefox is open source, wouldn’t this make it a little bit not too open?.

# [Member]   on 2010-09-09 at 01:37

@ZekeMX: OpenGL is more like D3D, and D3D and OpenGL will be used for other types of acceleration(layer acceleration).

Saying that is like saying we shouldn’t work on windows at all, after all windows is closed source. Personally I also believe open source works for us, and for a bunch of my projects. But I feel no need to impose my principles upon others in order to work with them.

# Someone on 2010-09-09 at 02:34

@Bas

I’m using nightlies since version v3.0. I’m a heavy user of the browser. Have it open all the time. It’s stable, just a pity about the performance. I also try to update it every day.

It’s great that the font rendering problem in the address bar is being resolved.

If the rendering of content is a consequence of using DirectWrite, then I’ve to accept it.

As I’ve said I’m using the nightlies daily, it’s my default browser, I’ve gone through some rough days where Firefox was almost unusable. I has improved since then but it still nowhere near what it was before.

I’m using Windows 7.

I’ll install Microsoft’s patches as soon as they are available and will be using Grafx Bot to perform the tests.

I will take this opportunity to ask what the several font rendering options in the about:config mean:

always use for content
use for downloadable fonts
harfbuzz level

Thank you.

# [Member]   on 2010-09-09 at 03:05

@Someone:
If you’re using the nightlies it might be worth trying to use it with the ‘layers.accelerate-none’ pref set to true. Accelerated layers are still very much in development and may not even be in the next beta release yet. So they might be causing your issues.

As for the font rendering options, sadly I’m not sure what they mean :(. The guys to ask would be nattokirai and jfkthame on irc.mozilla.org though. They are our font ‘wizards’ and know far, far more about fonts than I do.

# Moustafa   on 2010-09-09 at 03:19

I’m sorry, but I thought Mozilla was committed to Open standards.

Wouldn’t it have made more sense to have hardware acceleration via OpenGL? You know, the one created with Open standards in mind?

I have to say, this is most disappointing. It’s as if each new iteration of Firefox is made to break my heart. :(

# [Member]   on 2010-09-09 at 04:27

@Moustafa: You’re not reading ;-) That’s why were are working on layers, which will offer accelerated compositing through OpenGL and Direct3D. However the additional performance win Direct2D had to offer our users could not just be ignored.

It would of course also be nice to have a decent(i.e. not OpenGL, not C-based, etc.) open standards graphics API.

# voracity on 2010-09-09 at 08:01

@Eric: The DirectWrite examples look a little better to me overall, but they seem to be using a form of ClearType that looks *much* worse (on my monitor, at least) than the ClearType in the non-DirectWrite examples. I see much more “rainbowing” in the DirectWrite examples. Is that what you’re seeing?

# Stéphane on 2010-09-09 at 14:07

What’s the real benefit of Direct 2D ?
What’s Direct 2D has so special that it cannot be done with Cairo by now ?

I though that Cairo was already able to use HW acceleration to boost the font rendering on Linux… But may be I’m wrong.
Isn’t the goal you are trying to reach with Direct 2D ?

# Mike   on 2010-09-09 at 15:25

The font rendering in Firefox 4.0 beta 5 is just terrible.

Is there anything that can be done to correct this?

# Mike   on 2010-09-09 at 17:03

Had to switch back to Firefox 3.6.9 because the font rendering in 4.0b5 was so poor. What in the heck is going on there?

If that’s going to be in the final release, no way I can stand it. My eyes will bleed in pain.

# buddyglass on 2010-09-09 at 17:27

Couple questions for Bas, since he seems to be in the know:

1. How will the HW acceleration in FF4 compare to what MS is doing with IE9? Basically the same thing?

2. Is there any DX10 hardware crappy enough that HW acceleration would actually result in worse performance than doing it the traditional way? Intel GMA X3100? GeForce 8300 GS? Radeon HD 2350 or HD 3430?

3. The last time I tested browsers on the Mac (10.6 + Core i5), I noticed that Chrome was significantly faster than both FF 3.6 and Safari 5 on the “complex graphics” and “rendering” sub-tests in Futuremark’s “Peacekeeper” benchmark. The difference was pretty stark. So the Chrome guys must be doing something clever on the Mac. Any idea what? And whether the FF team can replicate?

# [Member]   on 2010-09-10 at 04:28

@Stephane:

- Tesselator is better suited for hardware in D2D (it does per primitive anti-aliasing)
- Cairo only supports some limited hardware compositing, and cairo-gl is still very defunct, and hard to get right
- General vector graphics rendering hardware support for things like linear and radial gradients, and many other such things. Mind you Direct2D is implemented as a Cairo backend. Mozilla still uses cairo inbetween for rendering.

@Buddyglass:

1. There’s differences but the core technology is the same, although we’ll have ‘layers’ in between.
2. I wouldn’t be surprised if there was.
3. As far as I know their software rasterizer is simply faster than cairo-quartz

# theSAiNT on 2010-09-10 at 12:49

I’ve had to turn OFF hardware acceleration because fonts look so horrible.

Font rendering is the CORE of web browser functionality. You’ve broken it.

# kadajawi on 2010-09-10 at 13:12

The font rendering thing is interesting. The FF4b5 rendering seems by far superior to the standard way Windows renders fonts, however I’ve been using a finely tuned GDI+ which IMHO looks even better (not as bold, but still with an emphasis on the intended shape of the letters). If I deactivate the new way of rendering fonts, would it fall back to GDI+ (which replaces the GDI rendering in all 32 bit applications that use GDI)? You should integrate a switch for those who just can’t get used to the new way of rendering fonts.

I think the big problem is that it now renders fonts the way Macs do, with a focus on the actual fonts, as in the fonts look like they were designed, whereas Windows used to squeeze them into a raster. That made them look uneven and wrong (though you got used to it), but sharp. Apple with their focus on design wanted to have the fonts look like they were supposed to look like, even if that made them blurry because there might not be a pixel where a line has to be. Try Safari for Windows, that browser renders the fonts as a Mac does, it should be quite similar to FF4. And try to get used to the new way, that’s how fonts are supposed to look like (minus the bugs).

# [Member]   on 2010-09-10 at 15:34

All I can say is it’s funny how diverse people’s opinions on fonts are, and how strongly people can feel about their opinion in the area of fonts :-). I don’t believe any new questions have been posed, see my earlier posts.

# buddyglass on 2010-09-10 at 15:36

@Bas

“2. I wouldn’t be surprised if there was.”

So will FF try to intelligently detect whether the underlying hardware is “fast enough” to actually provide a benefit, then selectively fall back to the previous behavior?

I’m not criticizing here- just curious.

“3. As far as I know their software rasterizer is simply faster than cairo-quartz”

Wow. That’s kind of funny. It would also seem to suggest there’s some low hanging fruit Apple could work on with respect to Cairo-Quartz. Which would, I assume, benefit both FF and Safari on OS X?

# [Member]   on 2010-09-10 at 16:25

@Buddyglass:
2. We are working on both driver and hardware blacklisting. This will include hardware that may not be fast enough.

3. Safari uses WebKit, cairo is not used by much on Mac OS X I think.

# buddyglass on 2010-09-10 at 17:26

“We are working on both driver and hardware blacklisting. This will include hardware that may not be fast enough.”

Cool. What about an adaptive approach? Run a quick benchmark in the background to gauge the speed of the hardware + drivers, then enable or disable the new functionality accordingly? If that could be done in a quick and reliable way, it might be more robust (and less work) than maintaining a manual blacklist.

“Safari uses WebKit, cairo is not used by much on Mac OS X I think.”

Looks like I may have misunderstood your comment. When you said “their software rasterizer is simply faster than cairo-quartz” were saying that whatever Chrome uses is faster than cairo and quartz, which are what Firefox (cairo) and Safari (quartz) use respectively?

Safari and Chrome are both built on webkit, but Chrome still outperforms Safari on the graphical tasks. If Safari relies on Quartz, then, given they’re both webkit-based, wouldn’t that imply Quartz is the weak link on the Safari side?

# [Member]   on 2010-09-10 at 18:10

@Buddyglass

In theory it’s possible to do it adaptively, but doing that right is much more complicated, it might be considered going forward. But more likely we’re moving to a situation where everyone has GPUs fast enough.

We use Cairo with a Quartz rendering backend on Mac, so firefox uses cairo-quartz :) That’s where the misunderstanding came from.

I don’t know enough about Mac to say that Quartz is the weak link. But I know Chrome uses its own software rasterizer system.

# Mike on 2010-09-10 at 20:29

The problem is that Mac renders fonts incorrectly for the screen – that is to say, fonts on LCDs should be renedered to fit the pixel grid or they look blurry (as fonts do look on a Mac).

This is not an opinion. It’s just a simple fact that the Mac renders fonts for print on screen, which makes them look terrible and causes them to be unreadable.

I will not be using Firefox if the choice is to render fonts incorrectly for screen.

Why anyone would want this, I have no idea. It is asinine.

# Mike on 2010-09-10 at 20:32

I hate to seem like a troll, but the fonts on Firefox 4 are just horribly blurry and annoying. The technology is designed for hardware that simply doesn’t exist yet. It’s designed for extremely high-resolution displays. The problem with this is that it’s not being released in the future, it’s being released today.

Please correct, as my eyes are bleeding from this.

# Mike on 2010-09-10 at 20:33

Also, accuracy is not more important than readability.

You’ve striven for accuracy and negated what users need to do: read text.

# MASTAN   on 2010-09-10 at 23:25

Personally I like how fonts look in FF4 with directwrite enabled. Blurred just a little, no color edges seen.

I think besides personal preferences it depends on monitor and its pixel size. I’ve seen font smoothing on some 19″ monitor with 1280x1024 resolution and didn’t like it - color edges everywhere.

Here’s photo of the part of this thread in FF4.0b5 on 22″ display with 1680x1050 resolution:
http://img842.imageshack.us/img842/5693/pixelz.png (2.2 Mb)

Sure it looks blurry when this big, but from the distance where I sit it looks fine.

BTW cleartype was not accepted by some users, there’s no universal solution here as well. Option to switch new font rendering off without disabling direct2d acceleration should satisfy everyone.

# buddyglass on 2010-09-11 at 06:54

Re: fonts: My suggestion would be to follow whatever the “precedent” is on each platform. On Windows do whatever IE does. On Mac do whatever Safari does. On Linux…uh…do whatever Chrome does, I guess.

# Alereon   on 2010-09-11 at 11:54

The only major issue I have with D2D font rendering is with bold text, it looks like the greater line width of a bold letter isn’t taken into account, causing letters to run together. One example of this is in article headlines on slashdot.org. Do you know if there’s a bug at work here, or if that’s just how D2D is supposed to look?

Thanks for all your hard work!

# Laurens Holst   on 2010-09-11 at 13:42

The problem with the Direct2D font rendering is that it does not align the letters to the screen pixels anymore as GDI did, resulting in blurry edges for the unaligned letters.

Just one example - here http://i.imgur.com/XbuZe.png in the word ‘spam’ the middle leg of the ‘m’ is unsharp because of this - compare http://i.imgur.com/8V03t.png

I think the ability to more smoothly animate text or a perceived ‘better adherence to the font design’ is not at all worth the loss in readability and crispness. I’m not a fan.

# Laurens Holst   on 2010-09-11 at 13:44

And, as the cleartype technology uses individual colours to do sub-pixel positioning, this gets more noticeable when the letters aren’t nicely aligned, resulting in the letter edges sometimes having a coloured hue to them.

@buddyglass: they *are* doing what IE9 does. Which has the same problem.

# Antwan on 2010-09-11 at 15:21

MS choices to render font w/ direct write are pure heresy. They just look even worse than without AA (like with Win9x)…

My hopes only resides in the GDIPP project. (http://code.google.com/p/gdipp/)
It can handle GDI fonts so far, I just hope the dev could make this work w/ DW interface…

# buddyglass on 2010-09-11 at 15:53

One side thought about GPU acceleration: its going to make benchmarking certain aspects of browsers a big pain in the ass, since now one will have to equalize graphics hardware and driver version in order to make a valid comparison.

# Corné on 2010-09-11 at 21:35

Installing the hardware acceleration platform update for Windows 7 improved the quality of (font) rendering for hardware acceleration with Firefox 4, restoring ClearType alike quality. You can download the update at Microsoft download:

http://support.microsoft.com/kb/2028560

# Frank on 2010-09-12 at 02:22

Am I right in assuming that Win XP users are being left out in the cold on this one? Performance advantage or no, there’s still a significant number of people using Win XP and no alternative available.

# [Member]   on 2010-09-12 at 06:58

@Alereon: I do not know of a bug, if you could open one with a screenshot of what you’re seeing I’ll make sure to have a look at it!

# Laurens Holst   on 2010-09-12 at 14:02

@Frank: It will still work on XP, just not be hardware accelerated.

# Reza   on 2010-09-12 at 18:25

In my PC most of the time
FireFox4Beta5 Fonts are BOLD.
How can I fix it???

# lizz on 2010-09-13 at 01:34

@Laurens: If it will work on XP, but not be hw accelerated, what’s the point? I’m with Frank; pretty comfortable with my old XP; and not looking to upgrade to W7 (microsoft says my machine couldn’t take it, anyway. Too OE)

# lizz on 2010-09-13 at 01:59

@Laurens: If it will work on XP, but not be hw accelerated, what’s the point? I’m with Frank; pretty comfortable with my old XP; and not looking to upgrade to W7 (microsoft says my machine couldn’t take it, anyway. Too OE)

# buddyglass on 2010-09-13 at 04:44

@lizz: The underlying API doesn’t exist on XP, so Firefox can’t take advantage of it. IE9 will be the same.

Side note: if you have at least 1G of RAM and enough disk space then you can probably handle Win7.

# qwerty on 2010-09-14 at 11:25

hi. on some web pages, some texts are entirely missing when using direct2d rendering. for instance:
http://itunes.apple.com/album/a-thousand-suns-deluxe-version/id389739922
(all track’s data)
http://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProductFamily=Wireless+Networking&ProductLine=Intel%C2%AE+WiFi+Products&ProductProduct=Intel%C2%AE+WiFi+Link+5300+and+Intel%C2%AE+WiFi+Link+5100+products&ProdId=3062&LineId=1784&FamilyId=1783
(version row, also all the titles)

btw i liked the regular versions AA better than this with direct2d, can you do direct2d rendering while keeping the old AA method?

# Timur on 2010-09-14 at 20:03

One big problem is that often it does not make my NVidia 9600M GPU increase to 3D clock-rates. And at 2D clocks my scrolling experience is *very* sluggish.

And even if it does make the GPU clock increase. Who wants to do simple web-surfing at full burning GPU clocks (especially if it keeps getting back to 2D where it’s jumpily again)?

I’m all for GPU acceleration (especially since FF’s rendering is still among the most CPU intensive), but currently it’s not the pleasant experience that I’d wished it to be.

# [Member]   on 2010-09-14 at 23:43
# Timur on 2010-09-15 at 10:34

Now that we have the settings in the preferences and that HW acc. is turned on by default: What do the “Render” settings in About:Config do?

Seems like these are turned off now?!

# Luminus on 2010-09-16 at 11:17

Great job on the FF beta! Love how hw acceleration is on by default. Some of the ie.microsoft.com/testdrive is showing really well how fast this thing is, compare to rendering on Chrome, for example. :D

However, anyone else encountered a bug where if you load something intensive (e.g. IE fish tank demo with max fish), and then try to resize firefox, the whole window stops responding? Specifically i can’t click on anything on my computer until I alt-tab.

I’m on Windows 7 64 bit, with an ATI Radeon HD 5400 series card.

# Steven on 2010-09-16 at 18:41

While I have been using HW Acc. since I think February when u first provided nightlies, and I have loved it ever since, I have to say IE9 is consistently faster than FF4’s speed. This one benchmark is just redicolous for me in FF4.
http://ie.microsoft.com/testdrive/Performance/SpeedReading/Default.html
544 Sec on FF4 x64
21 Sec on IE9 x64

Others, like this one seem more realistic.
http://ie.microsoft.com/testdrive/Performance/PsychedelicBrowsing/Default.html
1779 IE9 x64
1574 FF4 x64

Any insight in whats going on with the first one? Anything on the horizon that will adress this?

# [Member]   on 2010-09-16 at 22:32

@Steven:

Currently we’re doing our main window compositing with D3D9. This is so that we can also offer some level of hardware acceleration to our Windows XP users. The interoperation required here to work with D2D is expensive though. We’re working on doing composition with D3D10 when using Direct2D, in order to speed things up.

An additional reason that we have a bit of a disadvantage is that since we’re a cross-platform browser. All our drawing commands arrive at Direct2D through an abstraction layer like Cairo, this makes it a little bit more complicated for us to optimize certain situations. We are most certainly working on it though!

It’s also great to see that IE9 is making such good progress, healthy competition in the browser market is good for all the users!

# luminus on 2010-09-18 at 10:57

Side note: it isn’t just me. ZDNet’s IE9 review happens to mention the resize issue with FF4 too, if you read it carefully. (I think it was somehwere in the benchmark section? He mentions some issue with resizing I think…read it this morning.)

# Timur on 2010-09-20 at 11:06

Three more problems I encountered:

While I can force FF to keep my NVidia GPU at maximum clock-rate via the NVidia control panel I cannot enforce FF to use Vertical Sync. This leads to FF rendering up to over 100 fps (FRAPS) even when the screen is running only at 50 or 60 Hz.

According to FRAPS FF keeps rendering at an average of 16 fps even when *nothing* is moved, scrolled, changed, blinking or whatever (not even the mouse being moved).

Trying to run FF with Hardware Acc. in Parallels Desktop 6 leads to crashing FF right after being started. The same happens with IE9 though and the detection mechanism of FF seems to turn acc. off by default.

# Todor on 2010-09-21 at 23:04

Good as idea but aren’t the planning to integrate support for DX9 or OGL (WebGL)?

# Hera   on 2010-09-23 at 04:02

I don’t understand the whole fonts issue. Why are people obsessed over this?
The only issue I see is the orange button, DW renders the font differently and disfigures that button.
Maybe it is a monitor problem? :/

Most games provide the ability to set an FPS-limit. This has multiple purposes. For example, it might help keep hardware cool - prevent overheating. Is there some mechanism in FF4 similar to an an fps limiter or limit to monitor’s refresh rate?

Now, right now there are a lot of D2D related performance regressions, which will most likely be fixed (Beta 8?).
That is all fine and dandy, but are there any plans or ideas for future performance improvements for GPU-assisted rendering for FF4.1 and on?

Offtopic: due to things like CUDA, does it make any sense to offload JS to the GPU?

Oh and for encouragement: I noticed is that IE9 is really great at its own tests, but horrible at real world performance. While, Firefox seems to balance the two. :D

# RedSign on 2010-12-25 at 20:09

So that we are on beta 8 now it raises the following question for me: Is it safe to assume that Direct2D will be on by default for the shipping version of Firefox 4?


Form is loading...

November 2024
Mon Tue Wed Thu Fri Sat Sun
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
 << <   > >>