It seems to me that the majority of the problem here is textrun reconstruction for the entire textarea.
I saw this comment <http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsTextFrameThebes.cpp#3911>, and this code indeed is what invalidates all of the continuations' textruns when the field is edited.
I didn't understand the comment though, and I'm not sure how to do what it says, but I'm pretty sure that we'll get a huge perf benefit if we can avoid invalidating those textruns unnecessarily.
It seems to me that the majority of the problem here is textrun reconstruction for the entire textarea.
I saw this comment <http:// mxr.mozilla. org/mozilla- central/ source/ layout/ generic/ nsTextFrameTheb es.cpp# 3911>, and this code indeed is what invalidates all of the continuations' textruns when the field is edited.
I didn't understand the comment though, and I'm not sure how to do what it says, but I'm pretty sure that we'll get a huge perf benefit if we can avoid invalidating those textruns unnecessarily.