-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[win] Slow Tree expand #901
Comments
See also #882 |
If you make a snippet, I could profile it with native profiler. |
I don't have a snippet, but when i move setExpanded() after expanding the children, performance problem is gone. :-) And i don't see a visual difference. Thanks. |
Could this be made somehow in the JFace impl to perform it in such a way by default? |
move setExpanded() after expanding the children eclipse-platform/eclipse.platform.swt#901
Absolutely. See my proposed PR. @SyntevoAlex After doing so the next hotspot (2seconds )is in |
You might want to read code comments here eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TreeItem.java Lines 93 to 99 in 02c8a22
and here eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/TreeItem.java Lines 1694 to 1698 in 02c8a22
|
* move setExpanded() after expanding the children * insert every item at index 0 (in reverse order) eclipse-platform/eclipse.platform.swt#901
cc @basilevs |
* move setExpanded() after expanding the children * insert every item at index 0 (in reverse order) eclipse-platform/eclipse.platform.swt#901
* move setExpanded() after expanding the children * insert every item at index 0 (in reverse order) eclipse-platform/eclipse.platform.swt#901
* move setExpanded() after expanding the children * insert every item at index 0 (in reverse order) eclipse-platform/eclipse.platform.swt#901
* move setExpanded() after expanding the children * insert every item at index 0 (in reverse order) eclipse-platform/eclipse.platform.swt#901
For example when showing the quick-type hierarchy of
![image](https://private-user-images.githubusercontent.com/51790620/285462798-8c0d1bb1-5fc0-46e3-bc5a-b7ec6385c580.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NTcxMTUsIm5iZiI6MTczOTY1NjgxNSwicGF0aCI6Ii81MTc5MDYyMC8yODU0NjI3OTgtOGMwZDFiYjEtNWZjMC00NmUzLWJjNWEtYjdlYzYzODVjNTgwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDIyMDAxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVjYzlkMWFmNDhhOTg2M2FmNWZmYjJmNDZlYmZlM2MzNDU1ZmE5NTIxMjdlODMzMjUwOTdjNjljYmY4YjU3MjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.nJSziLpcT72B-Jyjf4uZLog87B6OomtPg59rzXjGoF4)
java.lang.Object
multiple seconds are spend in SWT expanding the tree.most time is spend in
CallWindwProc
that follows each TreeItem.setExpanded()'sOS.SendMessage (hwnd, OS.TVM_EXPAND
.I don't get why it is that slow since
org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(Object, Object)
setstree.setRedraw(false);
before that.Help wanted.
Screenshot from Sampling:
The text was updated successfully, but these errors were encountered: