|
From: Doug B. <br...@cl...> - 2003-11-02 02:47:04
|
Much better with the first set of suggested code changes. No
multi-second delay between any of the startup logging messages now.
What capability is lost with this change?
Slava Pestov wrote:
> Thanks for investigating this far!
>
> Now, can you try changing the code from line 97 to line 111 in
> OperatingSystem.java to this:
>
> GraphicsConfiguration gc = gd[i].getDefaultConfiguration();
> L2: // Don't add duplicates
> if (window.intersects(gc.getBounds()))
> {
> for (Enumeration e = intersects.elements(); e.hasMoreElements();)
> {
> GraphicsConfiguration gcc = (GraphicsConfiguration)e.nextElement();
> if (gcc.getBounds().equals(gc[j].getBounds()))
> break;
> }
> intersects.add(gc);
> }
>
> (Instead of calling getConfigurations() and checking each, it only calls
> getDefaultConfiguration().)
>
> If this doesn't help, try changing the call to
> OperatingSystem.getScreenBounds(Rectangle) in
> GUIUtilities.loadGeometry() to call OperatingSystem.getScreenBounds().
> Both APIs do the same thing, however the latter is not multiple-monitor
> aware, and it does not call any GraphicsDevice/GraphicsConfiguration
> APIs.
>
> On Sat, 2003-11-01 at 17:53, Doug Breaux wrote:
>
>>Looks like:
>> SearchDialog.preloadSearchDialog() ->
>> SearchDialog constructor ->
>> GUIUtilities.loadGeometry() ->
>> GUIUtilities.adjustForScreenBounds() ->
>> OperatingSystem.getScreenBounds(Rectangle) ->
>> gd[i].getConfigurations()
>>
>>i.e. in java.awt.GraphicsDevice :-( Perhaps video driver related? Both
>>of my machines have nVidia graphics, although one is a GeForce Ti4200
>>and the other is an on-board Vanta.
>>
>>Activity log attached.
>>
>>Incidentally, I tried with the Sun 1.3.1 JDK as well, and the same delay
>>occurred at the same place.
>>
>>Also, I think the status bar is finished around where the
>>PerspectiveManager logs that it's loading perspective.xml, and several
>>other things occur between that and the getConfigurations call, but the
>>delay at getConfigurations is by far the largest component.
>>
>>Slava Pestov wrote:
>>
>>
>>>Hi,
>>>
>>>So it seems SearchDialog.preloadSearchDialog() is the curplit. Can you
>>>continue your investigation in this method?
>>>
>>
>>
>>______________________________________________________________________
>>Log file created on Sat Nov 01 16:20:35 CST 2003
>>IMPORTANT:
>>Because updating this file after every log message would kill
>>performance, it will be *incomplete* unless you invoke the
>>Utilities->Troubleshooting->Update Activity Log on Disk command!
>>[message] Log: When reporting bugs, please include the following information:
>>[message] Log: java.version=1.4.2_02
>>[message] Log: java.vm.version=1.4.2_02-b03
>>[message] Log: java.runtime.version=1.4.2_02-b03
>>[message] Log: java.vendor=Sun Microsystems Inc.
>>[message] Log: java.compiler=null
>>[message] Log: os.name=Windows XP
>>[message] Log: os.version=5.1
>>[message] Log: os.arch=x86
>>[message] Log: user.home=C:\Documents and Settings\Doug
>>[message] Log: java.home=C:\Program Files\Java\j2re1.4.2_02
>>[message] Log: java.class.path=jedit.jar
>>[notice] jEdit: jEdit version 4.2pre6
>>[message] jEdit: Settings directory is C:\Documents and Settings\Doug\.jedit
>>[message] jEdit: jEdit home directory is C:\Data\src\jEdit4.2\jEdit
>>[debug] EditServer: jEdit server started on port 2295
>>[debug] EditServer: Authorization key is 2072234645
>>[debug] ActionSet: Loading actions from jar:file:/C:/Data/src/jEdit4.2/jEdit/jedit.jar!/org/gjt/sp/jedit/actions.xml
>>[debug] DockableWindowManager: Loading dockables from jar:file:/C:/Data/src/jEdit4.2/jEdit/jedit.jar!/org/gjt/sp/jedit/dockables.xml
>>[debug] jEdit: Loading services from jar:file:/C:/Data/src/jEdit4.2/jEdit/jedit.jar!/org/gjt/sp/jedit/services.xml
>>[debug] EditBus: SearchSettingsChanged[source=null]
>>[notice] jEdit: Loading plugins from C:\Data\src\jEdit4.2\jEdit\jars
>>[notice] jEdit: Loading plugins from C:\Documents and Settings\Doug\.jedit\jars
>>[message] BufferHistory: Loading recent.xml
>>[message] KillRing: Loading killring.xml
>>[debug] jEdit: SOCKS proxy disabled
>>[debug] jEdit: HTTP proxy disabled
>>[debug] EditBus: PropertiesChanged[source=null]
>>[message] jEdit: Loading mode catalog file C:\Data\src\jEdit4.2\jEdit\modes\catalog
>>[message] jEdit: Loading mode catalog file C:\Documents and Settings\Doug\.jedit\modes\catalog
>>[debug] Macros: Registered beanshell macro handler
>>[debug] EditBus: DynamicMenuChanged[menu=macros,source=null]
>>[message] BeanShell: Running script C:\Data\src\jEdit4.2\jEdit\startup\startup.bsh
>>[debug] String: BeanShell interpreter version 1.3.0-jedit1
>>[message] PerspectiveManager: Loading C:\Documents and Settings\Doug\.jedit\perspective.xml
>>[debug] EditBus: BufferUpdate[what=LOAD_STARTED,view=null,source=SearchDialog.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\search\)]
>>[debug] EditBus: BufferUpdate[what=CREATED,view=null,source=SearchDialog.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\search\)]
>>[debug] EditBus: BufferUpdate[what=LOAD_STARTED,view=null,source=GUIUtilities.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]
>>[debug] EditBus: BufferUpdate[what=CREATED,view=null,source=GUIUtilities.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]
>>[debug] EditBus: BufferUpdate[what=LOAD_STARTED,view=null,source=OperatingSystem.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]
>>[debug] EditBus: BufferUpdate[what=CREATED,view=null,source=OperatingSystem.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]
>>[error] AWT-EventQueue-0: 1. enableEvents
>>[error] AWT-EventQueue-0: 2. getEditorIcon
>>[error] AWT-EventQueue-0: 3. new DockableWindowManager
>>[error] AWT-EventQueue-0: 4. new JPanels
>>[error] AWT-EventQueue-0: 5. new ToolBarManager
>>[error] AWT-EventQueue-0: 6. new StatusBar
>>[error] AWT-EventQueue-0: 7. new DefaultInputHandler
>>[error] AWT-EventQueue-0: 8. try restoreSplitConfig
>>[debug] TextAreaPainter: Using monospaced font optimization: java.awt.Font[family=monospaced,name=monospaced,style=plain,size=12]
>>[debug] TextAreaPainter: Using monospaced font optimization: java.awt.Font[family=monospaced,name=monospaced,style=italic,size=12]
>>[debug] TextAreaPainter: Using monospaced font optimization: java.awt.Font[family=monospaced,name=monospaced,style=bold,size=12]
>>[debug] EditBus: EditPaneUpdate[what=CREATED,source=org.gjt.sp.jedit.EditPane[inactive]]
>>[error] AWT-EventQueue-0: 9. getContentPane().add
>>[error] AWT-EventQueue-0: 10.dockableWindowManager.init
>>[error] AWT-EventQueue-0: 11.propertiesChanged
>>[error] AWT-EventQueue-0: 12.setDefaultCloseOperation
>>[error] AWT-EventQueue-0: 13.EditBus.addToBus
>>[error] AWT-EventQueue-0: 14.SearchDialog.preloadSearchDialog
>>[error] AWT-EventQueue-0: 1. (after) super
>>[error] AWT-EventQueue-0: 2. new JPanel
>>[message] HistoryModel: Loading history.xml
>>[error] AWT-EventQueue-0: 3. pack
>>[error] AWT-EventQueue-0: 4. unsetProperty
>>[error] AWT-EventQueue-0: 5. loadGeometry
>>[error] AWT-EventQueue-0: 1. win.getSize
>>[error] AWT-EventQueue-0: 2. getDefaultScreenDevice
>>[error] AWT-EventQueue-0: 3. getBounds
>>[error] AWT-EventQueue-0: 4. getParent
>>[error] AWT-EventQueue-0: 5. adjustForScreenBounds
>>[error] AWT-EventQueue-0: 1. getScreenBounds
>>[error] AWT-EventQueue-0: 1. getScreenDevices
>>[error] AWT-EventQueue-0: 2. getConfigurations
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 3. intersects
>>[error] AWT-EventQueue-0: 4. elements
>>[error] AWT-EventQueue-0: 5. equals
>>[error] AWT-EventQueue-0: 1.5getScreenBounds
>>[error] AWT-EventQueue-0: -- end of adjustForScreenBounds --
>>[error] AWT-EventQueue-0: 5.5 adjustForScreenBounds
>>[error] AWT-EventQueue-0: 6. setBounds
>>[error] AWT-EventQueue-0: -- end of loadGeometry --
>>[error] AWT-EventQueue-0: 6. load
>>[error] AWT-EventQueue-0: 7. EditBus.addToBus
>>[error] AWT-EventQueue-0: -- end of constructor (SearchDialog) --
>>[error] AWT-EventQueue-0: -- end of constructor --
>>[debug] ActionSet: Loading actions from jar:file:/C:/Data/src/jEdit4.2/jEdit/jedit.jar!/org/gjt/sp/jedit/browser.actions.xml
>>[debug] EditBus: ViewUpdate[what=CREATED,source=org.gjt.sp.jedit.View[inactive]]
>>[debug] EditBus: EditorStarted[source=null]
>>[message] jEdit: Startup complete
>>[debug] WorkThread: Work request thread starting [jEdit I/O #4]
>>[debug] WorkThread: Work request thread starting [jEdit I/O #3]
>>[debug] WorkThread: Work request thread starting [jEdit I/O #2]
>>[debug] WorkThread: Work request thread starting [jEdit I/O #1]
>>[debug] WorkThread: Running in work thread: [id=1,run=org.gjt.sp.jedit.buffer.BufferIORequest[type=LOAD,buffer=SearchDialog.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\search\)]]
>>[debug] WorkThread: Running in work thread: [id=3,run=org.gjt.sp.jedit.buffer.BufferIORequest[type=LOAD,buffer=GUIUtilities.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]]
>>[debug] WorkThread: Running in work thread: [id=5,run=org.gjt.sp.jedit.buffer.BufferIORequest[type=LOAD,buffer=OperatingSystem.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]]
>>[debug] WorkThread: Running in work thread: [id=8,run=org.gjt.sp.jedit.browser.BrowserIORequest[type=LIST_DIRECTORY,vfs=org.gjt.sp.jedit.io.FileVFS@8e4805,path1=C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\,path2=null]]
>>[notice] jEdit: Loading edit mode C:\Data\src\jEdit4.2\jEdit\modes\java.xml
>>[notice] jEdit: Loading edit mode C:\Data\src\jEdit4.2\jEdit\modes\xml.xml
>>[debug] EditBus: BufferUpdate[what=PROPERTIES_CHANGED,view=null,source=SearchDialog.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\search\)]
>>[debug] EditBus: BufferUpdate[what=LOADED,view=null,source=SearchDialog.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\search\)]
>>[debug] EditBus: BufferUpdate[what=PROPERTIES_CHANGED,view=null,source=GUIUtilities.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]
>>[debug] EditBus: BufferUpdate[what=LOADED,view=null,source=GUIUtilities.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]
>>[debug] EditBus: BufferUpdate[what=PROPERTIES_CHANGED,view=null,source=OperatingSystem.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]
>>[debug] EditBus: BufferUpdate[what=LOADED,view=null,source=OperatingSystem.java (C:\Data\src\jEdit4.2\jEdit\org\gjt\sp\jedit\)]
>>[debug] FileRootsVFS: Java 1.4 FileSystemView detected
>>[debug] EditBus: EditorExitRequested[source=org.gjt.sp.jedit.View[active]]
>>[message] PerspectiveManager: Saving C:\Documents and Settings\Doug\.jedit\perspective.xml
>>[debug] EditBus: DynamicMenuChanged[menu=recent-files,source=null]
>>[debug] EditBus: DynamicMenuChanged[menu=recent-files,source=null]
>>[debug] EditBus: DynamicMenuChanged[menu=recent-files,source=null]
>>[debug] EditBus: EditPaneUpdate[what=DESTROYED,source=org.gjt.sp.jedit.EditPane[active]]
>>[debug] EditBus: EditorExiting[source=null]
>>[message] HistoryModel: Saving history
>>[message] BufferHistory: Saving C:\Documents and Settings\Doug\.jedit\#recent.xml#save#
>>[message] KillRing: Saving killring.xml
|