All of the discussion about Bespin’s choice of Canvas for source code editing, reminded me to talk about one of the invisible new features of Firebug 1.3: the Script panel is now implemented with a ‘viewport’. By that I mean that only the visible lines of the source are rendered.
Of course the viewport has to be updated dynamically for scrolling and other movement. If you use 1.3 you will see that the Script panel is not as smooth or fast as one would like. 1.4 adds a number of improvements mostly around avoiding extraneous updates.
Right now the 1.4 script panel is fast enough, if not blazing. That makes it unlikely that we would invest in a canvas alternative until we examined the performance issues and determined that the problem was related to HTML rather than some other issue in Firebug. Another consideration for a large code like Firebug is complexity: the viewport code is harder to maintain but I guess not as hard as a canvas solution.