This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 20195 - Speed up and improve the popup menu interactions
Summary: Speed up and improve the popup menu interactions
Status: VERIFIED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Actions (show other bugs)
Version: 3.x
Hardware: Sun Solaris
: P1 blocker (vote)
Assignee: Petr Nejedly
URL:
Keywords: PERFORMANCE, T9Y, UI
: 21006 21256 21813 (view as bug list)
Depends on:
Blocks: 20294
  Show dependency tree
 
Reported: 2002-02-06 11:23 UTC by Petr Nejedly
Modified: 2008-12-23 13:34 UTC (History)
3 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Petr Nejedly 2002-02-06 11:23:37 UTC
The IDE have to generate menus by compositing several piecesof functionality.
The current implementation is somehow problematic because of its asynchronity.
The menu generation should be more streamlined with help of the new Actions API
Comment 1 rmatous 2002-02-07 09:18:48 UTC
Reassigned to Dafe group
Comment 2 rmatous 2002-02-07 09:19:18 UTC
Reassigned to Dafe group
Comment 3 David Simonek 2002-02-07 13:23:31 UTC
Huh, wait Petr, please be more specific. Assume we know nothing about
menu creation and actions (that's nearly true, you know).
Please write specific ideas what should be done, this will help us.

Also, UI team we need some tests and techniques how to measure that
popup menu is fast enough. Please provide something.
Comment 4 Petr Nejedly 2002-02-08 09:18:33 UTC
Af first, I've originally assigned this to myself, willing to take
care of the research and proper implementation. At second, new Actions
APIs does solve the complexity part.
This was intended as a tracking task to not forget to exploit
the "Context" (see actions APIs) when it will be available.

See the dependency tree.
Comment 5 Peter Zavadsky 2002-02-12 16:04:24 UTC
Dafe told me to assign it to Petr.
Comment 6 Petr Nejedly 2002-02-27 09:19:01 UTC
It seems it would be possible to significantly reduce flickering
of the menu by using some nice package private communication
inside org.openide.awt even without new Actions API.
It would involve two-phase menu posting because of inline
menus waiting to addNotify and then updating themselves *later*
(can't modify parent during addNotify).
I'll try to investigate it more.
Comment 7 Peter Zavadsky 2002-03-06 15:49:25 UTC
*** Issue 21256 has been marked as a duplicate of this issue. ***
Comment 8 _ ttran 2002-03-16 20:44:30 UTC
*** Issue 21006 has been marked as a duplicate of this issue. ***
Comment 9 _ ttran 2002-03-16 20:56:28 UTC
I think the hard requirement for this issue is: no flickering.  Under
no condition should the menu rebuild itself while already being
displayed.  Besides the fact that this is annoying, AWT
implementations do not deal well with this situation (gray rectangle
left behind on the screen for example)
Comment 10 Petr Nejedly 2002-03-18 17:28:25 UTC
I've just realized that the keyboard initialized popup in explorer
is way faster than when initiated by right click (more work
done even when clicking on the same node).
Comment 11 Jan Zajicek 2002-03-25 11:25:41 UTC
*** Issue 21813 has been marked as a duplicate of this issue. ***
Comment 12 Petr Nejedly 2002-04-03 12:34:09 UTC
The popup menus based on JMenuPlus/JPopupMenuPlus should not flicker
any more. I've added private communication channel between
them and JInlineMenu, which was the major source of flickering.
Also subclasses of JInlineMenu have their chance to behave better,
and I've also fixed ToolsAction to exploit it and to cause
flickering neither from popup nor from top level menu.

I've also changed the MenuView to wait for the most up-to-date
content of the underlaying Node, so it will display OK directly,
not refreshing itself later.

The explorer menu is mostly below 100ms on my machine (after
first-time initialization), the editor menu is a bit slower
(depending on actual completion resolution time),
but we can tune them both more now, when we have everything one-shoot
and in one thread.
Comment 13 Jan Zajicek 2002-04-05 16:14:19 UTC
Verifying this wanted task, will commit some tests soon.