Bug 197534 - Improve efficiency of HighlightingManager together with View Hierarchy
Improve efficiency of HighlightingManager together with View Hierarchy
Status: RESOLVED FIXED
Product: editor
Classification: Unclassified
Component: Painting & Printing
7.0
PC All
: P2 with 1 vote (vote)
: 7.1
Assigned To: Miloslav Metelka
issues@editor
: 7.0.1_WAIVER_APPROVED, PERFORMANCE, PLAN
: 190985 192045 192391 192587 193497 194217 194255 194352 194611 194816 194869 195349 196028 196168 196369 197309 197327 197419 197687 197892 197917 198013 198282 198561 198940 199252 199671 199768 200044 200355 201135 201914 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-04-07 12:34 UTC by Miloslav Metelka
Modified: 2011-10-17 11:52 UTC (History)
33 users (show)

See Also:
Issue Type: DEFECT
:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Miloslav Metelka 2011-04-07 12:34:46 UTC
1. Start to use "fixedSize" attribute of HighlightsLayer to eliminate view rebuilds due to changes in certain upper z-order layers such as selection or caret row highlighting.

2. Once positions sharing gets implemented the highlighting layers should migrate to PositionsBag instead of OffsetsBag.

3. Due to RTL text support change the HighlightsView to correspond to a single TextLayout instead of a part of TextLayout.
Comment 1 Miloslav Metelka 2011-04-07 12:46:51 UTC
4. Optimize ParagraphView rebuilding process by reusing start position of the corresponding paragraph element where possible.
Comment 2 Miloslav Metelka 2011-06-08 11:19:14 UTC
4. was already implemented by issue #198719.
2. is case by case since OffsetsBag may still be more memory efficient for the highlights.

1. and 3. will be handled by upcoming commit.
Comment 3 Miloslav Metelka 2011-06-08 11:23:58 UTC
*** Bug 194816 has been marked as a duplicate of this bug. ***
Comment 4 Miloslav Metelka 2011-06-08 11:27:09 UTC
*** Bug 197309 has been marked as a duplicate of this bug. ***
Comment 5 Miloslav Metelka 2011-06-08 11:28:38 UTC
*** Bug 197687 has been marked as a duplicate of this bug. ***
Comment 6 Miloslav Metelka 2011-06-08 11:30:59 UTC
*** Bug 197892 has been marked as a duplicate of this bug. ***
Comment 7 Miloslav Metelka 2011-06-08 11:38:29 UTC
*** Bug 197917 has been marked as a duplicate of this bug. ***
Comment 8 Miloslav Metelka 2011-06-08 11:40:53 UTC
*** Bug 198561 has been marked as a duplicate of this bug. ***
Comment 9 Miloslav Metelka 2011-06-22 14:10:23 UTC
Unfortunately I'm still facing regressions with the rewritten code :(
It's not stable enough for integration so I have to ask for a waiver for 7.0.1.
I hope to stabilize and integrate the new code into the trunk during the next week.
Comment 10 Marian Mirilovic 2011-06-22 16:20:33 UTC
(In reply to comment #9)
> Unfortunately I'm still facing regressions with the rewritten code :(
> It's not stable enough for integration so I have to ask for a waiver for 7.0.1.

I agree, the only small note I would add to this : we will run community testing next two weeks for NB 7.0.1, in case we will face plenty reports i would vote for additional try to fix this into 7.0.1 , if not I am fine to fix this to 7.1 and skip 7.0.x
Comment 11 Miloslav Metelka 2011-07-04 11:20:51 UTC
The fix allows for splitting of the current 27 highlighting layers into two groups: 9 'bottom layers' and 18 'top layers'.
Bottom layers are those that change metrics (font's name, style or size). Changes in these layers result in views rebuilding.
Top layers (including e.g. caret row highlighting and text selection) do not change metrics and changes to them only result in repaints.
Btw the two layer groups contents may be logged with
-J-Dorg.netbeans.modules.editor.lib2.highlighting.HighlightingManager.level=FINER

The fix should improve performance since view rebuilds are generally more expensive than just repaint notifications (and certain portions of the repaint e.g. for a large text selection may even not be visible and thus not physically repainted). Since this is a broad change there may be certain inefficiencies that I'll try to fix once I'll be sure that there are no functional regressions.
I'd like to ask people on CC of this issue to test the change once it gets propagated into dev builds. Thanks.

http://hg.netbeans.org/jet-main/rev/d4fa1c637d0a
Comment 12 Quality Engineering 2011-07-05 13:56:46 UTC
Integrated into 'main-golden'
Changeset: http://hg.netbeans.org/main-golden/rev/d4fa1c637d0a
User: Miloslav Metelka <mmetelka@netbeans.org>
Log: #197534 - Improve efficiency of HighlightingManager together with View Hierarchy.
Comment 13 Miloslav Metelka 2011-08-16 09:32:22 UTC
*** Bug 190985 has been marked as a duplicate of this bug. ***
Comment 14 Miloslav Metelka 2011-08-16 14:50:19 UTC
*** Bug 198940 has been marked as a duplicate of this bug. ***
Comment 15 Miloslav Metelka 2011-08-16 15:00:54 UTC
*** Bug 199768 has been marked as a duplicate of this bug. ***
Comment 16 Milutin Kristofic 2011-09-15 13:09:30 UTC
*** Bug 200355 has been marked as a duplicate of this bug. ***
Comment 17 Miloslav Metelka 2011-09-20 12:24:25 UTC
*** Bug 201135 has been marked as a duplicate of this bug. ***
Comment 18 Miloslav Metelka 2011-09-22 14:29:59 UTC
*** Bug 201914 has been marked as a duplicate of this bug. ***
Comment 19 Miloslav Metelka 2011-10-07 10:22:35 UTC
*** Bug 192045 has been marked as a duplicate of this bug. ***
Comment 20 Miloslav Metelka 2011-10-07 10:26:48 UTC
*** Bug 192391 has been marked as a duplicate of this bug. ***
Comment 21 Miloslav Metelka 2011-10-07 12:22:11 UTC
*** Bug 192587 has been marked as a duplicate of this bug. ***
Comment 22 Miloslav Metelka 2011-10-07 12:45:32 UTC
*** Bug 194217 has been marked as a duplicate of this bug. ***
Comment 23 Miloslav Metelka 2011-10-07 12:46:07 UTC
*** Bug 194255 has been marked as a duplicate of this bug. ***
Comment 24 Miloslav Metelka 2011-10-07 12:48:15 UTC
*** Bug 194352 has been marked as a duplicate of this bug. ***
Comment 25 Miloslav Metelka 2011-10-07 12:52:30 UTC
*** Bug 194611 has been marked as a duplicate of this bug. ***
Comment 26 Miloslav Metelka 2011-10-07 12:57:39 UTC
*** Bug 194869 has been marked as a duplicate of this bug. ***
Comment 27 Miloslav Metelka 2011-10-10 11:59:28 UTC
*** Bug 200044 has been marked as a duplicate of this bug. ***
Comment 28 Miloslav Metelka 2011-10-10 14:09:38 UTC
*** Bug 199671 has been marked as a duplicate of this bug. ***
Comment 29 Miloslav Metelka 2011-10-10 14:15:38 UTC
*** Bug 199252 has been marked as a duplicate of this bug. ***
Comment 30 Miloslav Metelka 2011-10-10 15:59:38 UTC
*** Bug 198282 has been marked as a duplicate of this bug. ***
Comment 31 Miloslav Metelka 2011-10-11 15:07:33 UTC
*** Bug 198013 has been marked as a duplicate of this bug. ***
Comment 32 Miloslav Metelka 2011-10-11 15:36:26 UTC
*** Bug 197419 has been marked as a duplicate of this bug. ***
Comment 33 Miloslav Metelka 2011-10-11 15:44:03 UTC
*** Bug 197327 has been marked as a duplicate of this bug. ***
Comment 34 Miloslav Metelka 2011-10-12 09:41:04 UTC
*** Bug 196168 has been marked as a duplicate of this bug. ***
Comment 35 Miloslav Metelka 2011-10-12 12:26:42 UTC
*** Bug 196028 has been marked as a duplicate of this bug. ***
Comment 36 Miloslav Metelka 2011-10-12 12:30:51 UTC
*** Bug 196369 has been marked as a duplicate of this bug. ***
Comment 37 Miloslav Metelka 2011-10-12 12:37:19 UTC
*** Bug 195349 has been marked as a duplicate of this bug. ***
Comment 38 Miloslav Metelka 2011-10-17 11:52:38 UTC
*** Bug 193497 has been marked as a duplicate of this bug. ***


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo