The first steps to understanding a performance problem is finding the area responsible and collecting information. If you haven't yet, (1) file a bug at this point you should do so now. At this point you may not know the component responsible for the performance problem so take your best guess and update it as your investigation progresses.
Before proceding try testing in against older releases of Firefox and against the up to date Nightly build.
This article will outline the tools and techniques you can use to debug a performance problem:
Built-in Profiler (BenWa)
System Profiler (BenWa)
API Trace (gw280)
A shim OpenGL library that interposes the OpenGL call that records them before sending them to the OpenGL driver. We can use this to trace the opengl to trace file that we can later pull from the device and replay it in the computer. This tool will let you replay the trace, looking at each frame and analyze the current rendering and analyzing the OpenGL frame. This tool is very useful at finding OpenGL state bugs.
Paint Flashing (BenWa)
Layer Borders (Nical)
Useful if: You have some rendering glitches when using OpenGL.
Use this tool to:
- Find if the code uses an OpenGL context which isn't current.
- Have syncronization problems
- Want to find the exact call
- Want to dump a log of the OpenGL functions called.