2020-12-01
A new appreciation for Firefox's 'Performance' web developer tool
As people who regularly do web development and create web pages know, Firefox has long had a set of web developer tools to help you (accessed as Tools → Web Developer, or you can add an icon for it to the right of your tab bar). I've periodically used several of these tools; Inspector to see things like how a page is structured and how fonts are being chosen (and what they are), Network to help see what's going wrong with requests, and sometimes Web Console (or the Browser Console) if something isn't working right. Through all of this I've noticed the "Performance" tool but I've generally ignored it because I don't write Javascript, so it felt irrelevant to me.
Then recently I had my experience with Firefox WebRender, and I realized that the Performance stuff can tell me things about how Firefox itself is performing. It's one thing to feel that WebRender made my Firefox laggy (and that perception matters), but it's another thing to be able to look at Performance's FPS report and see that it is objectively worse. It's reassuring that it's not just my perceptions, and it's also reassuring that in some way Firefox can actually see the problem (since it saw lower FPS figures).
I'm in the perhaps unusual situation that I periodically want to cross compare my Firefox performance against things like new versions of Nightly (more or less) or trying out a new addon. Until now I've been doing it by subjective feel, but now I know I can use Performance to get some idea if my subjective feel has some measurable basis. I can also use Performance's view of what sort of thing is taking up time to see if any performance glitches are in addon Javascript or the like, or down in the depths of Firefox (where they show only as dead time with low FPS but nothing happening).
(Performance is naturally focused on Javascript, so it can't tell me what's happening inside Firefox at levels that are outside of that scope. All it can show me is that as far as Javascript performance is concerned, nothing is happening.)
Now that I've discovered this use of it, I'm probably going to pay more attention to Performance and play around with it more. Perhaps this will also lead to me exploring other of the developer tools.