While developing an extension for firefox and chrome, I noticed that certain UI element of popups (or browserAction
) are noticeably janky in Firefox. I modify certain DOM properties in a mousemove
event handler to achieve an effect that an element is following the cursor, and it is smooth in Chrome but falls below 10fps in Firefox. It is not something that happens in normal website contexts; only in popup windows.
While I am still unsure of the exact cause, now I am suspecting that Firefox browser’s own code for recalculating popup window size on DOM mutation would have been causing extraneous layout recalculations and this may be the cause of the frame drop, so I am looking for a way to disable this entirely.
The MDN documentation roughly describes the algorithm, but it is still unclear. Would there be any ways to entirely disable layout recalculation, e.g. by specifying certain CSS properties at body
or html
tags?