SV: Review Request for JMC-5366 : Abort generating of a page if the user switches to another.
erik.gahlin at oracle.com
Mon Apr 8 12:18:18 UTC 2019
Previously (4.x) there was a flag that would terminate a "view model
builder" job, if a new task was started.
That way, it was possible to navigate quickly around, using both mouse
and keyboard, and between tabs and tables/graphs. The background task
would poll a terminated flag once every 100 000 event that was
processed. It made the GUI very responsive, even with large recordings.
I haven't tried the current patch, so it is hard for me to compare, but
waiting for a selection doesn't seem sufficient if there is a lot of
data to process.
Have you tried with a recording with 10-20 million events?
> Hi Deepa,
> This only works for the keyboard, right?
> From the javadocs on the IPostSelectionProvider interface:
> "Selection provider extension interface to allow providers to notify about
> post selection changed events. A post selection changed event is equivalent
> to selection changed event if the selection change was triggered by the mouse,
> but it has a delay if the selection change is triggered by keyboard navigation."
> Please check with Markus Grönlund and Erik Gahlin to see if the solution
> solves their problem.
> Kind regards,
> -----Ursprungligt meddelande-----
> Från: jmc-dev <jmc-dev-bounces at openjdk.java.net> För Deepa Avhad
> Skickat: den 8 april 2019 08:34
> Till: Jmc-Dev <jmc-dev at openjdk.java.net>
> Ämne: Review Request for JMC-5366 : Abort generating of a page if the user switches to another.
> Hi All,
> Please review the fix for JMC-5366.
> JIRA : https://bugs.openjdk.java.net/browse/JMC-5366
> Webrev : http://cr.openjdk.java.net/~ghb/davhad/JMC-5366/webrev_00/
> Solution: When navigating views the selection changes frequently - especially when the keyboard is used to scroll through long
> lists or the mouse is dragged over some text. This will lead to many unnecessary updates of the viewers registered,
> making application less responsive.
> So use of post selection events will be send-out with a slight delay. All intermediate selections during the delay time
> are ignored; just the final selection is propagated.
> Example: (addPostSelectionListener(ISelectionListener listener) ).
More information about the jmc-dev