Platform/GFX/Direct2DDemo
Demoing Direct2D
Since there are occasions where people might want to demonstrate Direct2D browser hardware acceleration. I'll briefly describe here how to do this.
Required Software
You need to be running either Windows 7 or Windows Vista with the Vista Platform update. Windows 7 is preferred because of it using WDDM1.1
Required Hardware
You'll need to make sure you have DX10 compatible hardware or higher. DX9 hardware may work, but performance will vary significantly. Onboard graphics chipsets may also not function quite as you'd like them to. nVidia or ATI hardware is at this point the best hardware to demo this on. In order to check for recent enough drivers and DX 10 support, go to Run, and execute 'dxdiag'. Under the 'display' tab it should display DDI: 10 (or higher), and on windows 7 it should display WDDM: 1.1
Installing a Build
Right now I have the latest build stored on my server. Until we have the DirectX SDK installed on the try servers. This is a build without PGO, with a simple --disable-debug --enable-release mozconfig. Its performance should not be compared to normal build server builds at this point.
Starting the build
The best way to start is is to just run the firefox executable with a special d2d profile. (i.e. firefox -no-remote -P d2d) A second instance can then be ran in order to make comparisons on a different profile.
Using GDI
To compare or demo the performance difference it's possible to use GDI in one of my builds. Create a separate profile for your GDI version. And for that profile set the 'font.engine.forcegdi' pref to true. Note that if you do this from about:config it will need a restart before it starts using GDI.
Some good sites
Some good sites that show off the advantages of hardware acceleration well are the following:
- http://people.mozilla.com/~vladimir/demos/photos.svg (particularly noticable when sizing up the photos)
- http://srufaculty.sru.edu/david.dailey/svg/balloon.svg
- http://srufaculty.sru.edu/david.dailey/svg/clipdrag12.svg
- http://maps.google.com/ (zoom in and out once, to make sure that images are cached, and then see the smooth zoom in/out animation in the D2D build)