Firefox Performance Testing Lab Fall 2010

From CDOT Wiki
Jump to: navigation, search

Goal

The goal of this lab is twofold. First, to provide students with a real-world experience of working collaboratively in an open community; and second, to work on a cutting-edge, but manageable project within the Mozilla community.

Objective

To conduct A/B performance tests of the Chrome Experiments using nightly builds of both Firefox and Chrome, in order to identify performance bottlenecks in Firefox. Also, to profile and file bugs in order to fix these issues.

Method

  • As a group determine a method for dividing the Chrome Experiments so they all get tested
  • Install both the Firefox and Chrome nightly builds
  • Test each experiment in the two browsers, looking for various issues:
    • Speed - is Firefox as fast as Chrome at rendering the graphics?
    • Smoothness - are the graphics as smooth as in Chrome? Do you notice a lot of pauses, jerkiness, etc.?
    • Responsiveness - does Firefox remain responsive while you run the demo? Is it pegging your CPU(s)?
  • Record your findings, as well as browser and computer info ([about:support], [about:]) in the Results Spreadsheet.

Resources

Links

Misc Info

One of the questions that comes up a lot when filing these bugs, especially on Windows, is whether or not you have Direct2D (i.e., D2D) or Direct3D (D3D) enabled. The graphics system in Firefox has 3 states related to hardware acceleration:

  1. no hardware acceleration
  2. D3D but not D2D
  3. All hardware acceleration

You can control this using various preferences, which you can change by going to about:config (type this into your address bar and press enter):

  • D3D Layers Preferences
    • layers.accelerate-all
    • layers.accelerate-none
  • Font Rendering
    • gfx.font_rendering.directwrite.enabled
  • Direct2D
    • gfx.direct2d.force-enabled

You can also use built-in Firefox options to toggle hardware acceleration between the "None" and "All" states by (un)checking “Use hardware acceleration when available” in the Advanced section of the Preferences/Options dialog. Alternately, you can run Firefox in safe mode to disable hardware acceleration [1]. When filing a bug related to hardware acceleration, please include the Graphics card information from about:support in your browser.

Tests: Initial First Round

(humph) Let's refine this a bit more, such that we track:

Name of Experiment | URL of Experiment | Your Name | Date of Test | Hardware Info | Browser Info | Firefox Performance - Speed | Firefox Performance - Smoothness | Firefox Performance - Responsiveness | Notes and other Details |

Test No. Name
Results
1-10 Carl Results
11-20 Kevin Lasconia Results
21-30 Andrew Condinho Results
31-40 Stephen Bologna Results
41-50 Kenneth Pangilinan Results
51-60 Pete Leaning Results
61-70 Brian Law Results
71-80 Steven Weerdenburg Results
81-90 James Evangelista Results
91-100 Kaitlyn Callow Results
101-110 Crystal de Nobrega Results
111-120 Chris DeCairos Results
1-26 (Linux) Konstantin Novichikhin Results

Tests: Second Round

For each experiment you tested as part of the first-round of testing that was not as fast or faster than Chrome, please create an entry in the table below. Include details about what you are seeing, what is failing, etc. Also, if you need to file a bug, include the link to the bug you filed.

Link to Xperf Profiler
MSDN blog detailing how to use xperf results

Test Tester Problem Additional Info
Lorenz 84 Stephen Bologna In the 32bit version of Minefield on Vista the browser froze for several seconds when the page loaded, and any attempt to interact with the test caused it to freeze again. In the 64bit version of Minefield on Window 7, the page took several minutes to load, and the image was not drawn properly.
Google Sphere Stephen Bologna Overall look in Minefield is very sloppy compared to Chromium. When the 2d text gets close to the screen, it becomes less legible. It also runs slower on Minefield. Runs fine in Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
Cheloniidae Live Kaitlyn Callow Not running. Returning error:

Error: console is not defined Source File: http://spencertipping.com/beta/cheloniidae-live-b1/script.js Line: 2

Water Type Kaitlyn Callow MUCH SLOWER in Minefield on school computers. Speeds seems compairable to Chrome on my home computer. At school browser significantly slowed down while viewing this experiment. Not sure which is better, but Chrome looks more blurry or anti-aliased maybe then Mindfield.
Plane Deformations Kaitlyn Callow At school Mindfield is slower, 12fps vs Chrome at 20fps. At home running must faster in Mindfield, 50 fps (25 in Chrome).
BallDroppings Carl D far more audio clipping and visual chop when at a 'max' ball drop speed when compared to chrome
VP Puzzle Carl D far greater delay generating picture puzzle windows Firefox was much faster and smoother then Chrome when creating the one video puzzle and its windows
Liquid Particles Steven Weerdenburg Minefield particle dot redraw very slow, manages approx 10 frames/sec. Chromium has no delay when rendering particle dot movement. Both have difficulty in letter rendering Investigation yields a duplicate
Animated Harmonograph Steven Weerdenburg Image rendering much slower than on Chromium. Drawing of complex patterns on Minefield would sometimes cause centre to "wobble". CPU utilization seems (near) identical on both. Hardware acceleration makes no difference
Browser Pong Steven Weerdenburg Minefield calculates the "ball" window height as twice that of Chromium Seems resolved in latest nightly
Realtime Video->ASCII Conversion Steven Weerdenburg Seems to have very difficult time at higher "resolutions" (smaller fonts). Scales up in canvas size ok, but becomes unresponsive over prolonged periods (5+ minutes) of use. Handles larger canvas with same resolution better than chrome at default settings.
Colorscube Kevin Lasconia When the cube is rotated in any direction the animation is very choppy. There is also a delay between moving the mouse in one direction and the actual cube moving in that direction. Chrome was very smooth, and responsive. Filed a bug here.
Monster Kevin Lasconia In Firefox, when more complex objects are generated the spinning animation of the object becomes increasingly more choppy. During transformations the animation would freeze for a few seconds then continue. Found a bug about the same experiment here.
Gravity Kevin Lasconia This experiment does not work in the Firefox/4.0b7pre nightly build. It works fine in Chrome. It also works in Firefox 3.6.10, however the objects cannot be dragged around like in Chrome. A bug filed here outlines the dragging issues. Did some regression testing to determine the builds where the experiment worked and stopped working. Added some additional info to this bug here.
Wilderness Downtown Chris DeCairos NEW Minefield crashes on my computer at the same point in the song every time! I have had it happen 3 times in a row, my first crash reprot was not sent but two others were. It happens after the first verse. see my first crash report and second crash report Update: I've reproduced it again got a third crash report will file bug report once I know exactly what component this is crashing in.

also, I would test it on Chrome nightly, but their current build still cannot play the video at all. Filed a Bug

Depth of Field Kenneth Pangilinan Minefield freezes up PC for a few seconds before running. When attempting to move the window around, PC freezes up again. Experiment works fine in Chromium, moving the window around is fine as well.
3D JS w/ Sandy DX Kenneth Pangilinan Experiment did not load in Minefield or Chromium.
JS Voxel Spacing Kenneth Pangilinan In Minefield it runs at 2-4FPS, in Chromium it runs at 22-24FPS, about 10 times faster!
Gear Brian Law This experiment is very choppy in Minefield, whereas Chromium runs smoothly. In Minefield you can see arrows in the boxes which shouldn't be visible.
Waterfall Brian Law Minefield quickly begins to lag as more balls enter the screen. Chromium will run smoothly for much longer.
Pocket Full of Canvas Pete Leaning Minefield draws black triangles in the following effects in 'pocket full of canvas':

Elipse, Colorrects, Mario, Colormunch, imagewaves, fire, wave(de)form and imagemagnifier. These artifacts are not present in Chromium

The two functions that seem to be responsible for this are renderTriangle() and drawImage
Kaleidscope Andrew Condinho Physical window becomes jerky and laggy whenever you re-size the window. Tested this out on my desktop and lag disappeared, looks like it might be an issue with lesser hardware
physicSketch Andrew Condinho Objects don't draw, and after a few failed attempts experiment stops responding to any attempts to draw. Chrome has no problems running this experiment.
Swirling Tentacles Crystal de Nobrega Swirling Tentacles only works with D2D disabled; is super slow and choppy. Computer freezes when you try to resize the window. Filed a Bug.
Blob Crystal de Nobrega Blob has drawing artifacts (crap at the top of the window) when experiment is first launched. Filed a Bug.

Bug Reports

NOTE: All bugs related to what we find should have [chromeexperiments] in the bug's Whiteboard field, so we can track them. The following Bugzilla search will list them all: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=[chromeexperiments]