[
https://issues.jboss.org/browse/JBIDE-10881?page=com.atlassian.jira.plugi...
]
Viacheslav Kabanovich commented on JBIDE-10881:
-----------------------------------------------
There is one related issue that I decided to put to Eclipse Bugzilla. If selecting those
1000 lines is done by keys (Shift+ArrowDown) then as selection grows, it becomes also very
slow. All selection listeners ask getSelection() from selection provider, and that is too
slow because of inefficient implementation of DOMModelImpl.getIndexedRegion() and
SelectionConvertor.getElements(). I created issue
https://bugs.eclipse.org/bugs/show_bug.cgi?id=371292. To work it around and select 1000
lines in reasonable time, put cursor on the first of these lines, then scroll to the last
one and use Shift key and left button of the mouse.
JBoss Tools JSP Editor is very slow with large selections because of
SelectionBar.notifyChanged()
-------------------------------------------------------------------------------------------------
Key: JBIDE-10881
URL:
https://issues.jboss.org/browse/JBIDE-10881
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: Visual Page Editor core
Affects Versions: 3.3.0.M5
Reporter: Viacheslav Kabanovich
Assignee: Yahor Radtsevich
Fix For: 3.3.0.Beta1
Attachments: SelectionBar.java.patch
1. Create a JSF KickStart project.
2.Open inputUserName.jsp
3. Copy 1000 times line
{code}
<h1><h:outputText value="#{Message.header}"/></h1>
{code}
4. Select these 1000 lines.
5. Delete and Save.
6. Undo by Ctrl+Z.
Editor freezes for several minutes. Debugger shows that most time is spent for method
SelectionBar.updateNodes() called by SelectionBar.notifyChanged.
The problem is that when 1000 lines are removed, XML model sends thousands of deferred
events about each removed XML node, so that instead of one call to
SelectionBar.updateNodes(), there are thousands of them.
I suggest creating UIJob at the first call to SelectionBar.notifyChanged, and ignoring
subsequent calls until the job is not done.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira