Project

General

Profile

Feature #6978

Editor widget performance optimization

Added by Eugenie Lyzenko over 1 year ago. Updated over 1 year ago.

Status:
WIP
Priority:
Normal
Target version:
-
Start date:
12/05/2022
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD

History

#2 Updated by Eugenie Lyzenko over 1 year ago

The remaining work discussion can be found in #6899.

In short when the editor content become big enough sending full content via screen buffer transfers causes the client performance to go down. The new implementation should consider a way to send only currently changed part of the editor content.

#3 Updated by Hynek Cihlar over 1 year ago

From #6899-95:

Greg Shah wrote:

Perhaps we can simplify things a bit. We store an array of lines. When we make edits/insertions/deletions of any line, we could remember which lines were modified since the last synch. When asked for the edits, we can simply send the lines that have been modified and

I'm not sure this will work.

There are two ways how lines are handled in the editor. First, there are line breaks in the text input provided in the legacy logic. Second, there are the internal lines created by the client side widget implementation when the input text is broken into lines to make it fit in the width of the editor.

If the input text has no line breaks than we would operate only on the single line, hence no gains in this case. Also when the editor is resized we would have to sync the lines with the server, an operation we could avoid with the original optimization idea.

#4 Updated by Eugenie Lyzenko over 1 year ago

  • Assignee set to Eugenie Lyzenko
  • Status changed from New to WIP

Also available in: Atom PDF