Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News IE and Firefox Will Be Using DirectX for Rendering

IE and Firefox Will Be Using DirectX for Rendering

This item in japanese


Both IE and Mozilla teams are currently working on using DirectX/GPU for page rendering while Google is considering it.

Christian Fortini, a former member of both Netscape and IE teams back in the 1990s, has been working on making IE rendering text and graphics on GPU rather than CPU for the last year. One of the first results is going to be better looking fonts due to more esthetic spacing of characters because there is the possibility to control sub-pixel points when the text is zoomed or rearranged.

The next image shows the difference between GDI and D2D text rendering:


Not only text is going to be affected but every graphical drawing or figure. The most visible results are going to be related to the smoothness of graphic movements and the quality of the edges, curves, shadows, etc. Image scaling is also going to benefit from rendering using DirectX. Images will be scaled, zoomed and panned much faster and smoother because the frame rate can go as high as 40-50 frames/sec compared to 4-5 frames/sec if using GDI. Printing of pages rendered with DirectX is going to be also possible and the team is currently working on this feature.

One of the obstacles met is the fact that some page components, like Flash or Silverlight, do their own rendering so some additional measures need to be taken to display a page that uses two different rendering engines. ActiveX controls will be directed to use the D2D instead of GDI without having to change any code. These changes are planned to be integrated in IE9 which will probably be available in 2011. Channel 9 posted a short interview with Fortini demoing such features.

Interestingly enough, Mozilla is working on the same feature for Firefox, rendering using Direct2D and DirectWrite, according to Christopher Blizzard, Director of Developer Relations at Mozilla. He tweeted: “Interesting that we're doing Direct2D support in Firefox as well - I'll bet we'll ship it first. :)”. They are also working on supporting OpenGL on Tegra devices.

Google, which released O3D API - a browser plug-in for 3D rendering using the GPU - last year, is investigating using DirectX in Chrome according to “Issue 28539: Investigate Direct2D support” and “Issue 25541: Investigate DirectWrite support“ entered on Chromium. The problem is that “it may be COM-only and thus unsuitable for use in our current sandboxed renderer.”

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • DirectX for Rendering

    by Subhrajit Panda,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    yes they are using DirectX for better visibility of fonts and images on browsers. Is we have to sacrifice more memory for that.
    free mp3

  • Re: DirectX for Rendering

    by Subhrajit Panda,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    sorry for the mistake "Is we have...".
    Do we have to sacrifice more memory for that??

  • Re: DirectX for Rendering

    by Jim Leonardo,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I can't remember the last time I had to worry about client side memory in a web app for HTML. Regardless, I would expect it to be within reason. Given no one has really looked at this low level rendering that I can recall since we were measuring machines in MB of RAM instead of GB of RAM, I don't think it would be that much of an issue.

    Of course this runs the risk of opening up more of a gap between what something looks like on one OS vs another.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p