|
From: <no...@so...> - 2001-11-07 07:28:30
|
Bugs item #475766, was opened at 2001-10-28 08:37 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100588&aid=475766&group_id=588 Category: None Group: normal bug >Status: Closed Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: jEdit is slow when window is maximized Initial Comment: I have used jEdit a little bit a few months ago, but using Windows (it was for work and no Linux boxes). Now that I'm at school again, I thought I would test out the latest jEdit, and see how much better it had gotten. I installed the RPM version on Red Hat Linux 7.1, then fixed the "font not found" errors that came up. I clicked the "maximize" button (yeah, yeah - it's a Windows term) to make the window fill the screen, and then grabbed a bunch of plugins to play with. After I restarted jEdit, I tried typing (the window manager remembered the size, so it started out "maximized"). However, typing was extremely "slow." That is my best description - the characters appeared slowly and sporadically. Even the refresh of the window components seemed slow. By accident, I "un-maximized" the window - and found that typing worked perfectly again! Thinking it was the fault of a plug-in, I removed all of the new plugins one by one, until I was left with Firewall and Latest Version Check. Unfortunately, none of the removals made the problem disappear, so I though it might be in Sun's JVM (I use JDK 1.3.1_01). So I went to the demo directory of the JDK installation, and found Sun's Notepad app. Typing worked just fine with it at both small and large window sizes. It appears to me that this might be a bug in the core editor somewhere that can be fixed - or perhaps it is just a natural slowdown associated with a Java program as complex as jEdit (hope not) - or maybe jEdit 4.0 will have this fixed already. Again, the problem occurs like this: Start jEdit in small window Typing is going fine Maximize jEdit window Now everything is slow Un-maximize window Everything is going fine again. Maximize window Slows down again Information about my machine: Athlon 1000 MHz 512 Mb Red Hat 7.1 Ximian Gnome 1.4 desktop XFree 4.0.3 @ 1024x768 resolution Sun JDK 1.3.1_01 used for JVM (please email me if you need more info) I'm sorry if this is a repeat bug - unfortunately, my darn schoolwork doesn't leave with enough time to pore over the mailing lists anymore. Please accept my apologies if this is a repeat bug, and thank you for reading this long bug report anyway! Brent Redeker Finally, here is the activity log that was produced when performing the above actions (start, maximize, slows down, etc.): [message] Log: When reporting bugs, please include the following information: [message] Log: java.version=1.3.1_01 [message] Log: java.vendor=Sun Microsystems Inc. [message] Log: java.compiler=null [message] Log: os.name=Linux [message] Log: os.version=2.4.12-ac6 [message] Log: os.arch=i386 [message] Log: user.home=/home/brent [message] Log: java.home=/usr/java/jdk1.3.1_01/jre [message] Log: java.class.path=/usr/share/jedit/3.2.2/jedit.jar [notice] jEdit: jEdit version 3.2.2 [message] jEdit: Settings directory is /home/brent/.jedit [debug] EditServer: jEdit server started on port 32877 [debug] EditServer: Authorization key is 683117917 [message] jEdit: jEdit home directory is /usr/share/jedit/3.2.2 [debug] BeanShell: Initializing BeanShell interpreter [debug] BeanShell: BeanShell interpreter version 1.2b1 [debug] jEdit: Loading actions from actions.xml [notice] jEdit: Loading plugins from /usr/share/jedit/3.2.2/jars [debug] jEdit: Scanning JAR file: /usr/share/jedit/3.2.2/jars/Firewall.jar [debug] jEdit: Scanning JAR file: /usr/share/jedit/3.2.2/jars/LatestVersion.jar [debug] jEdit: Loading actions from /usr/share/jedit/3.2.2/jars/LatestVersion.jar!actions.xml [notice] jEdit: Loading plugins from /home/brent/.jedit/jars [message] jEdit: Loading recent file list /home/brent/.jedit/recent.xml [message] jEdit: Loading mode catalog file /usr/share/jedit/3.2.2/modes/catalog [debug] jEdit: Adding edit mode ada95 [debug] jEdit: Adding edit mode asp [debug] jEdit: Adding edit mode assembly-r2000 [debug] jEdit: Adding edit mode assembly-x86 [debug] jEdit: Adding edit mode awk [debug] jEdit: Adding edit mode b [debug] jEdit: Adding edit mode batch [debug] jEdit: Adding edit mode beanshell [debug] jEdit: Adding edit mode bcel [debug] jEdit: Adding edit mode c [debug] jEdit: Adding edit mode cobol [debug] jEdit: Adding edit mode coldfusion [debug] jEdit: Adding edit mode c++ [debug] jEdit: Adding edit mode c# [debug] jEdit: Adding edit mode css [debug] jEdit: Adding edit mode dsssl [debug] jEdit: Adding edit mode eiffel [debug] jEdit: Adding edit mode foxpro [debug] jEdit: Adding edit mode haskell [debug] jEdit: Adding edit mode html [debug] jEdit: Adding edit mode idl [debug] jEdit: Adding edit mode ini [debug] jEdit: Adding edit mode java [debug] jEdit: Adding edit mode javascript [debug] jEdit: Adding edit mode jhtml [debug] jEdit: Adding edit mode jmk [debug] jEdit: Adding edit mode jsp [debug] jEdit: Adding edit mode lisp [debug] jEdit: Adding edit mode makefile [debug] jEdit: Adding edit mode ml [debug] jEdit: Adding edit mode netrexx [debug] jEdit: Adding edit mode objective-c [debug] jEdit: Adding edit mode occam [debug] jEdit: Adding edit mode omnimark [debug] jEdit: Adding edit mode pascal [debug] jEdit: Adding edit mode patch [debug] jEdit: Adding edit mode perl [debug] jEdit: Adding edit mode php [debug] jEdit: Adding edit mode pl-sql [debug] jEdit: Adding edit mode postscript [debug] jEdit: Adding edit mode povray [debug] jEdit: Adding edit mode progress [debug] jEdit: Adding edit mode properties [debug] jEdit: Adding edit mode pvwave [debug] jEdit: Adding edit mode python [debug] jEdit: Adding edit mode rpm-spec [debug] jEdit: Adding edit mode ruby [debug] jEdit: Adding edit mode rview [debug] jEdit: Adding edit mode scheme [debug] jEdit: Adding edit mode sgml [debug] jEdit: Adding edit mode shellscript [debug] jEdit: Adding edit mode shtml [debug] jEdit: Adding edit mode sqr [debug] jEdit: Adding edit mode tcl [debug] jEdit: Adding edit mode tex [debug] jEdit: Adding edit mode texinfo [debug] jEdit: Adding edit mode text [debug] jEdit: Adding edit mode transact-sql [debug] jEdit: Adding edit mode vbscript [debug] jEdit: Adding edit mode velocity [debug] jEdit: Adding edit mode verilog [debug] jEdit: Adding edit mode vhdl [debug] jEdit: Adding edit mode xsl [debug] jEdit: Adding edit mode xml [message] jEdit: Loading mode catalog file /home/brent/.jedit/modes/catalog [debug] EditBus: org.gjt.sp.jedit.msg.MacrosChanged[source=null] [notice] JARClassLoader: Starting plugin FirewallPlugin (version 0.2.3) [debug] FirewallPlugin: Firewall disabled [notice] JARClassLoader: Starting plugin LatestVersionPlugin (version 1.3.8) [debug] FileVFS: Unix operating system detected; will use permission-preserving code [debug] FileVFS: File.isHidden() method detected [debug] VFSManager: Registered favorites filesystem for favorites protocol [debug] FileRootsVFS: File.listRoots() detected [debug] VFSManager: Registered roots filesystem for roots protocol [message] BeanShell: Running script /usr/share/jedit/3.2.2/startup/changeUIFonts.bsh [debug] EditBus: org.gjt.sp.jedit.msg.PropertiesChanged[source=null] [debug] FirewallPlugin: Firewall disabled [notice] jEdit: Loading edit mode /usr/share/jedit/3.2.2/modes/text.xml [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=LOAD_STARTED,view=null] [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=LOADED,view=null] [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=MARKERS_CHANGED,view=null] [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=CREATED,view=null] [debug] EditBus: org.gjt.sp.jedit.msg.EditorStarted[source=null] [debug] TextRenderer: Java2D detected; will use new text rendering code [debug] EditBus: org.gjt.sp.jedit.msg.EditPaneUpdate[source=org.gjt.sp.jedit.EditPane[,0,0,0x0,invalid,layout=java.awt.BorderLayout,alignmentX=null,alignmentY=null,border=,flags=34,maximumSize=,minimumSize=,preferredSize=,defaultLayout=java.awt.FlowLayout[hgap=5,vgap=5,align=center]],what=CREATED] [debug] EditBus: org.gjt.sp.jedit.msg.ViewUpdate[source=org.gjt.sp.jedit.View[frame0,193,131,678x516,invalid,hidden,layout=java.awt.BorderLayout,resizable,title=jEdit - Untitled-1,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,4,24,658x488,layout=javax.swing.JRootPane$RootLayout,alignmentX=null,alignmentY=null,border=,flags=1538,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true],what=CREATED] [debug] WorkThread: Work request thread starting [jEdit I/O #1] [debug] WorkThread: Work request thread starting [jEdit I/O #2] [debug] WorkThread: Work request thread starting [jEdit I/O #3] [debug] WorkThread: Work request thread starting [jEdit I/O #4] [message] jEdit: Startup complete [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=DIRTY_CHANGED,view=null] [debug] EditBus: org.gjt.sp.jedit.msg.EditorExitRequested[source=org.gjt.sp.jedit.View[frame0,193,131,682x516,layout=java.awt.BorderLayout,resizable,title=jEdit - Untitled-1,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,6,22,670x488,layout=javax.swing.JRootPane$RootLayout,alignmentX=null,alignmentY=null,border=,flags=3586,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]] [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=CLOSED,view=org.gjt.sp.jedit.View[frame0,193,131,682x516,invalid,layout=java.awt.BorderLayout,resizable,title=jEdit - Untitled-1,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,6,22,670x488,layout=javax.swing.JRootPane$RootLayout,alignmentX=null,alignmentY=null,border=,flags=3586,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]] [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=LOAD_STARTED,view=org.gjt.sp.jedit.View[frame0,193,131,682x516,invalid,layout=java.awt.BorderLayout,resizable,title=jEdit - Untitled-1,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,6,22,670x488,layout=javax.swing.JRootPane$RootLayout,alignmentX=null,alignmentY=null,border=,flags=3586,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]] [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=LOADED,view=org.gjt.sp.jedit.View[frame0,193,131,682x516,invalid,layout=java.awt.BorderLayout,resizable,title=jEdit - Untitled-1,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,6,22,670x488,layout=javax.swing.JRootPane$RootLayout,alignmentX=null,alignmentY=null,border=,flags=3586,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]] [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=MARKERS_CHANGED,view=org.gjt.sp.jedit.View[frame0,193,131,682x516,invalid,layout=java.awt.BorderLayout,resizable,title=jEdit - Untitled-1,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,6,22,670x488,layout=javax.swing.JRootPane$RootLayout,alignmentX=null,alignmentY=null,border=,flags=3586,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]] [debug] EditBus: org.gjt.sp.jedit.msg.BufferUpdate[source=Untitled-1 (/home/brent/),what=CREATED,view=org.gjt.sp.jedit.View[frame0,193,131,682x516,invalid,layout=java.awt.BorderLayout,resizable,title=jEdit - Untitled-1,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,6,22,670x488,layout=javax.swing.JRootPane$RootLayout,alignmentX=null,alignmentY=null,border=,flags=3586,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]] [debug] EditBus: org.gjt.sp.jedit.msg.EditPaneUpdate[source=org.gjt.sp.jedit.EditPane[,0,0,670x391,invalid,layout=java.awt.BorderLayout,alignmentX=null,alignmentY=null,border=,flags=34,maximumSize=,minimumSize=,preferredSize=,defaultLayout=java.awt.FlowLayout[hgap=5,vgap=5,align=center]],what=BUFFER_CHANGED] [debug] EditBus: org.gjt.sp.jedit.msg.EditPaneUpdate[source=org.gjt.sp.jedit.EditPane[,0,0,670x391,invalid,layout=java.awt.BorderLayout,alignmentX=null,alignmentY=null,border=,flags=34,maximumSize=,minimumSize=,preferredSize=,defaultLayout=java.awt.FlowLayout[hgap=5,vgap=5,align=center]],what=DESTROYED] [debug] EditBus: org.gjt.sp.jedit.msg.EditorExiting[source=null] ---------------------------------------------------------------------- >Comment By: Slava Pestov (spestov) Date: 2001-11-06 23:28 Message: Logged In: YES user_id=2280 You're right. 4.0pre1 fixes a bug where editing on the last line of a buffer would repaint the whole text area, which slowed things down. ---------------------------------------------------------------------- Comment By: Brent Redeker (berhr) Date: 2001-11-05 09:31 Message: Logged In: YES user_id=364292 Well, this particular problem might be history when jEdit 4.0 arrives - I just downloaded the 4.0pre1 build from www.jedit.org, and it is working perfectly so far. The UI slowness seems to be a thing of the past. I cannot comment on its performance under Win98, but with my installation of RedHat Linux 7.1 it works wonderfully. Typing feels perfect - it no longer has the previous slowdowns; even the menus feel snappier at opening. I haven't found any major bugs yet, either. It looks like jEdit is taking a major leap with 4.0. Big thanks to Slava and all the other coders working on jEdit. Brent ---------------------------------------------------------------------- Comment By: Brent Redeker (berhr) Date: 2001-11-01 17:08 Message: Logged In: YES user_id=364292 Hmmm... I booted into Windows 2000 just now (same computer as I was running jEdit + Linux in my initial report). I installed the latest jEdit from the .jar installer, and opened jEdit up. I maximized the Window, which should make it as big as my window under Linux (I use the same screen resolution in both operation systems), and tried typing. Lo and behold, the typing slowdown was gone! It ran perfectly, even at the largest window size possible. The jEdit window did not redraw especially fast while resizing the window, but typing speed was great. This is making me more curious - is Sun's JVM for Linux just very inefficient? That seems to be what I am seeing, and I think that other scattered posts to that effect appeared when I used to read the jEdit mailing list digests. In answer to blujay's post - yes, jEdit does seem to require quite a bit of RAM for a simple text editor. It is easy to change how much it uses (just need to edit a script). I do not know how much performance hit it will take with less memory available, though. However, it's worth a try - you can always go back to the original value. On a positive note, Slava and the other jEdit coders are working on a major new version (almost a complete rewrite, if not a full rewrite). I (and others) are hoping that it will make jEdit much more efficient and powerful. Still, though, if my initial problem is a result of a poor JVM, no amount of jEdit rewrites can cure that one. Hopefully, I'll have some time to try out the IBM or Blackdown JVM for Linux, and see if they help jEdit work right. Brent ---------------------------------------------------------------------- Comment By: Blank Blank (blujay) Date: 2001-11-01 15:55 Message: Logged In: YES user_id=278209 I noticed that loading jEdit takes 32 MB on my machine. Isn't that a bit much? EditPlus, a native Win32 text editor with fewer features but still quite a lot, only takes up 1.2 MB. I realize jEdit isn't native Win32 code, but still... Yes, UI responsiveness is definitely a problem. When/if that is fixed, I may start using jEdit much more. ---------------------------------------------------------------------- Comment By: Brent Redeker (berhr) Date: 2001-10-31 10:27 Message: Logged In: YES user_id=364292 I played around with jEdit some more - especially with the amount of memory the startup script dedicates to the JVM. I bumped up the memory to 64 Mb, and it seemed jEdit became a little bit more responsive. I then gave jEdit 128 Mb - it was somewhat more responsive, but the slow text display problem that I originally posted here was not gone. Right now, I settled at 40 Mb because I don't continue to see huge performance gains past that. And even with more memory, typing (especially holding the backspace key to delete stuff) has a slow feel in jEdit. Hopefully, the 4.0 changes (rewrite?) are making jEdit much more efficient if this is a memory related problem. Other than the feel of typing and deleting, jEdit is a great program. Brent ---------------------------------------------------------------------- Comment By: Blank Blank (blujay) Date: 2001-10-31 02:58 Message: Logged In: YES user_id=278209 I'm glad to find out that I'm not the only person noticing this. I just found jEdit yesterday. I like it in many ways, but the interface is extremely slow on my system. Typing, scrolling, using menus and buttons, all are slow to respond. Just starting jEdit takes over 30 seconds. I realize that it is run in a Java VM and is not native code, but I still don't see why such simple 2D graphics should be THIS slow. My system: CPU: K6-2/400 MHz OS: Windows 98 Memory: 128 MB JVM: Sun Java 2 v1.31 I'm not sure if this is a "bug" or just inefficiency, whether correctable inefficiency or not. Anyway, insight would be appreciated. Keep up the good work. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=100588&aid=475766&group_id=588 |