RESOLVED FIXED 33587
Web Inspector: Scrolling editor to the 20Kth line is not smooth.
https://bugs.webkit.org/show_bug.cgi?id=33587
Summary Web Inspector: Scrolling editor to the 20Kth line is not smooth.
Pavel Feldman
Reported 2010-01-13 04:31:51 PST
The reason is that highlighter is synchronous. It is fast, but when it is about 20K lines, it still takes seconds. Hence scrolling is not smooth. This change: 1) Simplifies TextModel so that it stores only per-line attributes, no per-char ones 2) Splits highlight() call into updateHighlight (called upon edits) and highlight (called form paint). 3) Invalidates highlight tail using flag instead of clearing it (so that highlight could recover and quit fast).
Attachments
[PATCH] Proposed change. (14.71 KB, patch)
2010-01-13 04:34 PST, Pavel Feldman
timothy: review+
Pavel Feldman
Comment 1 2010-01-13 04:34:45 PST
Created attachment 46443 [details] [PATCH] Proposed change.
Timothy Hatcher
Comment 2 2010-01-13 04:46:31 PST
Comment on attachment 46443 [details] [PATCH] Proposed change. > + // User keeps updating the job in between of our timer ticks. Just reschedule self, don't eat CPU (he must be scrolling). s/he must/they must/ > + // Highlight 1K lines chunk. > + var toLine = Math.min(startLine + 500, this._requestedEndLine); s/1K lines/500 lines/
Pavel Feldman
Comment 3 2010-01-13 07:24:27 PST
Committing to http://svn.webkit.org/repository/webkit/trunk ... M WebCore/ChangeLog M WebCore/inspector/front-end/TextEditor.js M WebCore/inspector/front-end/TextEditorHighlighter.js M WebCore/inspector/front-end/TextEditorModel.js Committed r53184
Note You need to log in before you can comment on or make changes to this bug.