[IDE built from today's CVS, Linux, AMD64, 2GHz, 1 GB RAM, 64-bit JDK
Steps to reproduce
- create a simple NB plugin module project, keep all the defaults
- right-click on the project node in Projects tab, select Properties menuitem
- select node "Libraries" in the left hand side of the Project propertties dialog
- click on Add button to add new module dependency
- in the Add Module Dependency dialog there is a Filter text field where the
user is supposed to type in a pattern to narrow the list of modules listed in
the JList underneath in the same dialog
- editing this Filter field is painful, the IDE does not keep up with the user
typing, there is a second or so lag after each keystroke even on my 2GHz laptop
You are presuambly talking only about the case when all dependencies are being
loaded (first time you open the dialog). After the first load, the feedback is
immediate (also after you open the properties dialog itself nexttime - cache is
used). So probably INVALID.
it's in both cases. And even if it was slow the first time, it would still be a
problem. The user usually opens this dialog only once in a while. So in most
cases she cares about, it's the first usage scenario.
What I observe is subjective, it's better to measure the UI responsiveness using
the technique invented by the perf team. Ask them for help if you don't know
The problem is most visible when you type in something like "org.openide.util",
place the caret at the end, then hold down <backspace>
I haven't looked in the code, but I guess the population of the JList should be
done async in a different thread and with 100-200 ms delay after the user stops
typing. Cancel the job when she starts typing again.
I'm not a performance expert but my subjective feelings about this:
[P4 2.8 GHz, 1GB RAM, WIN XP...]
I didn't spot any latecy while typing letters - only as Martin says, there's a
"first time delay" announced by "please wait", keystrokes after load are replied
[SUNBLADE 2000 sparc, 1GB RAM, sol9,...] ~weaker machine
trying your case with "org.openide.util", but did not notice any visible lag?!
There are two "Please wait"s.
First in the Textfield - waiting for all deps to be loaded - really happens only
once per NB platform (when the whole Customizer is shown the computation starts).
Second in the List. Is cached only per dependency dialog. Could be probably
enhanced, not sure. But seems to be fast enough AFAIK. So still not sure where
the problem is (regarding also to tmusil comments).
But good idea with that typing delay - but this is rather ENHANCEMENT.
Also note the issue 66803 (which has might confused you)
Cannot reproduce any visible delay other than the initial load when platform is
first scanned, which can hardly be avoided (and AFAIK does not block EQ).
definitly found no problem here, response is as fast as i'm typing, tried again
in current trunk. Verified.
adding marian to cc since he may be also able to reproduce on his laptop.