[12.00-1380] Blurry font rendering with Direct3D enabled and ClearType disabled

Forums » Opera for Windows/Mac/Linux » Beta testing (including snapshots and previews)

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

20. April 2012, 16:50:49

Thiemo

Posts: 68

[12.00-1380] Blurry font rendering with Direct3D enabled and ClearType disabled

Oh no! Now Opera uses the same horrible blurry font rendering as Firefox and IE9+. My eyes hurt! Why are you doing this? Why is this damn Direct3D/DirectWrite font rendering so insanely blurry when I turn of the blurry aberration effect that Microsoft calls "ClearType" for unknown reasons? Why am I the only person in the world that wants the crystal clear GDI font rendering back?

Now this bug also applies to Opera 12 when it uses Direct3D:
https://bugzilla.mozilla.org/show_bug.cgi?id=719410
The last line in this image is how it looks in Opera 12:
https://bug719410.bugzilla.mozilla.org/attachment.cgi?id=607090

The people at Mozilla told me this is "intended" by the DirectWrite developers. I don't get it. How can it be intended to have such a blurry mess on your screen? I'm using a screen that is made of pixels. Pixels! There are no half pixels. If you try to address "half pixels" all you get is blur.

Yes, I'm complaining. I love Opera. One of the reasons I love it so much is the crystal clear font rendering. Please never ever enable the blurry DirectWrite mess by default.

24. April 2012, 16:00:59

Thiemo

Posts: 68

Here is a nice article on what's currently happening with the font rendering in the webbrowsers:

http://www.smashingmagazine.com/2012/04/24/a-closer-look-at-font-rendering/

Opera 12 is doing the same, switching to DirectWrite. I know this is not about an Opera bug but a DirectWrite bug. Nevertheless, I'm asking you to not enable Direct3D by default when it has such a major bug. If I can't read a website it does not matter how fast it renders.

25. April 2012, 19:36:30 (edited)

Thiemo

Posts: 68

I reported this as a bug. If you also care about this problem please attach more screenshots: DSK-362202@bugs.opera.com

I really hope Opera has an interest that we actually can read the text on web pages. This would make a big difference to the crap IE 9+ and Firefox 4+ are displaying.


Show the full screenshot to see the difference.

8. May 2012, 09:04:41

Opera Software

alex-shpak

Русский Product Tester, Desktop Team

Posts: 394

I'm afraid I can't reproduce this problem.

I followed first two steps in this answer on microsoft.com:
1. Control Panel->Fonts->Adjust ClearType text, uncheck "Turn on ClearType", next-next-next...
2. Control Panel->System->Advanced system settings -> Performance Settings->Visual Effects -> uncheck "Smooth edges of screen fonts", ok
And that's what I get now - nice pixelated fonts.

Could you please provide more detailed reproduction steps? How do you disable ClearType? Might it be that some configuration in graphics driver has an option to "smooth everything"? Knowing at least videocard vendor also might help.

8. May 2012, 20:24:06

Thiemo

Posts: 68

I did not turned "smooth edges" off. Never said that. I want anti-aliasing, at least for bigger sized fonts. I turned ClearType off because I do not want red and blue colored pixels left and right of the glyphs.

9. May 2012, 09:52:03

netwolf

Posts: 1786

That's the same reason I don't like ClearType: the major downside of all those subpixel-rendering-tricks is that you inevitably get washed out/blurry colors, and together with AA everything - incl. fonts - gets a bit more blurry than it would be without subpixel-rendering.

(similar for PenTile or whatever they are called when used with mobile devices)
Using Win 7 x64 and latest Opera snapshpot, lab build or final, whatever is newer...

10. May 2012, 18:31:49

Guilimote

Posts: 38

I agree with you.
I really hate these blurry fonts... Gives me headaches ^^

I posted the same issue here, there are some screenshot examples: (posted it before I saw this thread dealing with the same issue)
http://my.opera.com/community/forums/topic.dml?id=1391292&t=1336674410&page=1#comment12251542

However, I don't remember having played with the cleartype options. I'm pretty sure I have the default Windows7 settings (and maybe Nvidia if this can be driver related?)
I'll check this tonight.

29. May 2012, 13:56:36

Thiemo

Posts: 68

The problem got worse in the current Opera 12 build 1433. The following screenshot shows the blurry font rendering in Firefox 4+ compared to the blurry font rendering in Opera 12. Both use DirectWrite and both are unacceptable (I have to turn off hardware acceleration in all browsers due to this) but you can clearly see it is a lot more blurry in Opera.


Click here to see the full screenshot.

Graphics card is "AMD (ATI) FirePro M5950 (FireGL) Mobility Pro Graphics". Drivers are up to date. ClearType is turned off (for the same reason, because I get headaches from the blurry mess it creates).

The font rendering was perfect when Opera used OpenGL. I wonder why the forum was not flooded with complaints when you switched from OpenGL to "DirectBlur". I would love to use hardware acceleration but I can't due to this major bug. I'm not the only one with this problem. The people at Mozilla confirmed this is a major bug in DirectWrite. I'm begging you, please stay with OpenGL.

30. May 2012, 10:49:16

Opera Software

alex-shpak

Русский Product Tester, Desktop Team

Posts: 394

You can switch back to OpenGL by setting opera:config#Preferred renderer option to 0.

30. May 2012, 22:34:13

Guilimote

Posts: 38

Yes, thanks, it worked for me!

What are the impacts of this modifications? I assume there are some good reasons if Opera chose to use directX rendering by default?
And isn't there any modifications/tweak/configuration on which Opera can play to achieve this rendering even while using directX?

31. May 2012, 04:01:22

burnout426

Posts: 12418

Originally posted by Guilimote:

What are the impacts of this modifications?



Opera's directX acceleration is slow. Its opengl acceleration is even slower. Assuming there are no compatibility issues with your opengl drivers for your gpu, it should work the same with a chance of being slower.

6. June 2012, 18:05:09 (edited)

Thiemo

Posts: 68

Just to let you know, on my machine the Direct3D renderer is also slower compared to the OpenGL renderer.

For example in this simple DHTML animation test (with the number of balls set to maximum) the Direct3D renderer draws 76 FPS while the OpenGL renderer draws 84 FPS. Fun fact: Even with hardware acceleration disabled it's 84 FPS. In an other benchmark the Direct3D renderer has a bug (the boulder sprites are missing).

GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: AMD (ATI) FirePro M5950 (FireGL) Mobility Pro Graphics
GL_VERSION: 4.1.11289 Compatibility Profile Context FireGL

So there are multiple reasons to prefer OpenGL over Direct3D, at least for my machine.

Edit: What I wrote about "the problem got worse in the current Opera 12 build 1433" seems to be reverted in the current build 1445.

15. June 2012, 03:40:42

ManiacDC

Posts: 51

Same problem here with the blurry fonts, but using OpenGL as suggested fixed the issue.

That being said, I've turned off hardware acceleration as it's slower since I run folding @ home which eats my GPU.

15. June 2012, 09:11:46

aglent

Posts: 2

yes, OpenGL is slower than D3D, but I have font problem with D3D rendering.

16. July 2012, 10:15:54

Thiemo

Posts: 68

Just to let you know, the blurry Direct3D font rendering is still unchanged in the current 12.50 build 1497.

If I switch to OpenGL (set opera:config#Preferred renderer to 0) everything is perfect. It's even faster as explained above. I'm begging you, please, please make OpenGL the default.

28. August 2012, 15:32:56

Thiemo

Posts: 68

In the current 12.50 build 1577 it gets worse: Now OpenGL is blocked because of "Discouraged: According to our internal benchmarks, DirectX performance is better then OpenGL". Are you kidding me? I did some benchmarks. Most of them show no difference. In some OpenGL is faster. DirectX is never faster. And most important: I hate, hate, hate the blurred DirectX font rendering. Why the heck is it so insanely blurred? Please, please disable this crap.

28. August 2012, 16:38:17

netwolf

Posts: 1786

@Thiemo: take a deep breath, calm down and read a bit about DirectWrite, subpixel-rendering etc. and how it renders fonts.
Using Win 7 x64 and latest Opera snapshpot, lab build or final, whatever is newer...

28. August 2012, 21:04:32

ManiacDC

Posts: 51

Originally posted by netwolf:

@Thiemo: take a deep breath, calm down and read a bit about DirectWrite, subpixel-rendering etc. and how it renders fonts.


Yeah, like crud. I've read all about lovely "cleartype". It's not clear unless you are running at a higher DPI than 96, which most people aren't. It looks good when your pixel density is high enough that you don't see blurring. It looks horrible when all you see is gray splotches.

28. August 2012, 23:29:42

RicardoB

Posts: 17

Originally posted by ManiacDC:

Originally posted by netwolf:

@Thiemo: take a deep breath, calm down and read a bit about DirectWrite, subpixel-rendering etc. and how it renders fonts.


Yeah, like crud. I've read all about lovely "cleartype". It's not clear unless you are running at a higher DPI than 96, which most people aren't. It looks good when your pixel density is high enough that you don't see blurring. It looks horrible when all you see is gray splotches.


Yes, I'll call it subpixel-majorfailure.

29. August 2012, 21:49:41

Thiemo

Posts: 68

Originally posted by netwolf:

@Thiemo: take a deep breath, calm down and read a bit about DirectWrite, subpixel-rendering etc. and how it renders fonts.


You are funny. I wrote a major part of the Wikipedia article about subpixel-rendering. I'm pretty sure I know everything about it. It's the reason why I hate it. The whole idea of adding colored pixels to the font glyphs is damn stupid. It does not make a font more "clear". All it does is adding colored pixels.

Good font rendering is a well balanced mixture of anti-aliasing, a lot of hinting and a tiny, tiny bit of subpixel-rendering. Apple does it right. Microsoft does it wrong. They add way to much color and do very bad hinting. DirectWrite does no hinting at all, if ClearType is disabled. I consider this a major bug.

30. August 2012, 15:47:04

netwolf

Posts: 1786

Well, my post was merely a answer to your question:

Originally posted by Thiemo:

Why the heck is it so insanely blurred?



I wasn't aware that you already knew the answer, and now I wonder why you keep repeating the question when you already know how subpixel-rendering etc. works, and why it makes fonts blurry.

btw: yes, I agree with you that Apple is doing a significantly better job with this regard...
Using Win 7 x64 and latest Opera snapshpot, lab build or final, whatever is newer...

30. August 2012, 17:54:41 (edited)

Thiemo

Posts: 68

The question is: Why does Opera forces it's users to use the blurry DirectWrite mess? Why do they start to ban (!) OpenGL basically everywhere? Even if I actively choose the OpenGL renderer my settings are ignored. I have to disable the block list to make it work. Why? Why can't they use the well-readable OpenGL renderer as default? Performance? I don't believe this. On all my machines the Direct3D and OpenGL performance is identical. And most important: Performance is irrelevant if I can not read anything.

To recap: The blurry DirectWrite mess is the main reason why I stopped using Firefox 4+ as my secondary browser. And why I will ignore IE 10+ completely.

Please don't make the same bad decisions as Mozilla did. Stay different.

30. August 2012, 22:23:28

RicardoB

Posts: 17

Originally posted by Thiemo:

The question is: Why does Opera forces it's users to use the blurry DirectWrite mess? Why do they start to ban (!) OpenGL basically everywhere? Even if I actively choose the OpenGL renderer my settings are ignored. I have to disable the block list to make it work. Why? Why can't they use the well-readable OpenGL renderer as default? Performance? I don't believe this. On all my machines the Direct3D and OpenGL performance is identical. And most important: Performance is irrelevant if I can not read anything.

To recap: The blurry DirectWrite mess is the main reason why I stopped using Firefox 4+ as my secondary browser. And why I will ignore IE 10+ completely.

Please don't make the same bad decisions as Mozilla did. Stay different.


My Firefox uses HW Acceleration and don't blurry.

Here is why:


This is a default value for Firefox, Opera should also do these exceptions to fix that mess.

3. September 2012, 08:26:42

Thiemo

Posts: 68

Yes, these are the fonts with the blur problem I'm complaining about. I never understood the fake setting in Firefox. It simply does not work. Nothing is rendered in "GDI classic" when I disable "ClearType".

3. September 2012, 21:18:38 (edited)

RicardoB

Posts: 17

Originally posted by Thiemo:

Yes, these are the fonts with the blur problem I'm complaining about. I never understood the fake setting in Firefox. It simply does not work. Nothing is rendered in "GDI classic" when I disable "ClearType".

What FF version do you use? Did you test with a clean profile?

Cleartype from Windows is not blurry here, but the one used by DX browsers is crap.

Anyway, the about:config option I showed above should avoid Blur with those fonts. (force_gdi_classic_for_families)

Here, if I clear the value of that option it'll render the weird blur we all hate.

Cleartype from Windows will change how GDI render text. Also, if I disable CT in Win, Firefox won't render fonts using CT even if force_gdi_classic_for_families is empty.

Win CT Off && FF classic Off == Win CT Off && FF classic On
but
Win CT On && FF classic On != Win CT Off && FF classic On

4. September 2012, 17:56:22

Thiemo

Posts: 68

I think the "force" option in Firefox is ignored when ClearType is disabled. Hence the "cleartype_params" in the name.
  1. I have to disable ClearType. It makes all fonts a blurry mess in my OS on this pretty big screen.
  2. I want the same font rendering in the browser as in the OS.
  3. DirectWrite ignores my settings. It's even a lot more blurred compared to the ClearType blur. The obvious reason is that DirectWrite does no hinting. Isn't there a way to enable hinting in DirectWrite? The people at Mozilla say no, it isn't. It's a bug in DirectWrite.
  4. OpenGL respects my settings. I want the GDI rendering everywhere and this is what OpenGL does.
Simple choice, if you ask me.

14. September 2012, 10:07:40

operaext

Posts: 14

Font rendering under DX is a horrendous blurry mess here for me as well.
OpenGL does the job perfectly and it also appears to run far smoother and more stable than DX as well.

Forums » Opera for Windows/Mac/Linux » Beta testing (including snapshots and previews)