Swing Designer / Mac OS X Leopard Slow Performance

Swing Designer allows you to quickly create the frames, panels, dialogs, applets and other UI elements that comprise Java Swing applications.

Moderators: Konstantin.Scheglov, gnebling, Alexander.Mitin, jwren, Eric Clayberg

Swing Designer / Mac OS X Leopard Slow Performance

Postby etherealstill » Thu Jul 10, 2008 8:02 am

Since I have been using Swing Designer on Mac OS X Leopard, I have experienced a noticeable performance difference between using Swing Designer on Leopard and other platforms (i.e., Eclipse on Ubuntu), particularly when dropping components on a window. This performance differential can be very annoying, since it can take several seconds before the plugin completes the drop process, and it makes visually rearranging a window with efficiency almost impossible. I have experienced this in Eclipse 3.2 with the SWT patch, Eclipse 3.3, and recently Eclipse 3.4.

I wanted to bring this up to see if anyone has had similar experiences and whether anyone knows of anything I can do to improve performance, or if this is an issue with fixes on the horizon.

Thanks a zillion.
etherealstill
 
Posts: 3
Joined: Thu Jul 10, 2008 7:48 am

Re: Swing Designer / Mac OS X Leopard Slow Performance

Postby Eric Clayberg » Thu Jul 10, 2008 8:56 am

We are not aware of any problem like that.

How much memory do you have assigned to run Eclipse?

Can you provid ea test case where this happens?

Can you send us your complete Eclipse ".log" file?
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Re: Swing Designer / Mac OS X Leopard Slow Performance

Postby etherealstill » Thu Jul 10, 2008 11:51 am

There aren't any problems that are reported in the log, so I'm not sure what causes the performance difference. I have eclipse set to allocate 1 gig of memory in the VM, and I have 2 gigs on my machine.

The issue is easy to recreate, all one needs to do is drop any component (JButton, JPanel, etc...) on a frame and there is an obvious delay as Eclipse chugs along for three or four seconds. I'm using a Macbook Pro with a dual core 3.2 ghz processor, and my Ubuntu machine with an Intel 3.0 ghz processor smokes it when rearranging components with Swing Designer.

I'm just wondering what could cause that.
etherealstill
 
Posts: 3
Joined: Thu Jul 10, 2008 7:48 am

Re: Swing Designer / Mac OS X Leopard Slow Performance

Postby Eric Clayberg » Thu Jul 10, 2008 4:30 pm

We have a number of machines running OSX Leopard and don't see anything like that happen.

If you turn on the Heap Status indicator in Eclipse, what do you see? How much memory is available and how much is used?

Can you send us your Eclipse Configuration Details from the Eclipse About dialog?

What are your exact Eclipse startup settings?

The only reason that we know of that could cause this is swapping due to insufficient memory allocated to Eclipse.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Re: Swing Designer / Mac OS X Leopard Slow Performance

Postby etherealstill » Fri Jul 11, 2008 5:43 am

My heap space indicator says that I'm hovering around 120-128 megs out of 508 megs of space while rearranging a particular window with the designer plugin.

I've also noticed that the more "complicated" a window is, the longer it takes to drop components in place. I have one frame that takes about 8 seconds per drop. Dropping a JButton on a JPanel with a BorderLayout takes around 2 seconds per drop.

<b>Eclipse Configuration Details (with some output removed so that this post wouldn't be too long):</b>

*** Date: Friday, July 11, 2008 9:34:35 AM ET

*** Platform Details:

*** System properties:
-Xmx1024m=
-vmargs=
WBP_REFRESHING_FLAG=false
apple.awt.graphics.UseQuartz=false
apple.awt.usingSWT=true
awt.nativeDoubleBuffering=true
awt.toolkit=apple.awt.CToolkit
eclipse.buildId=M20071023-1652
eclipse.commands=-os
macosx
-ws
carbon
-arch
x86
-showsplash
-launcher
/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse
-name
Eclipse
--launcher.library
/Applications/eclipse/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.3.R33x_v20080118/eclipse_1023.so
-startup
/Applications/eclipse/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar
-keyring
/Users/chris/.eclipse_keyring
-consoleLog
-showlocation
-vm
/System/Library/Frameworks/JavaVM.framework
eclipse.consoleLog=true
eclipse.ee.install.verify=false
eclipse.product=org.eclipse.platform.ide
eclipse.startTime=1215782383106
eclipse.vm=/System/Library/Frameworks/JavaVM.framework
eclipse.vmargs=-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Xms512m
-Xmx1024m
-XX:MaxPermSize=256m
-Dosgi.requiredJavaVersion=1.5
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Djava.class.path=/Applications/eclipse/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar
eof=eof
file.encoding=MacRoman
file.encoding.pkg=sun.io
file.separator=/
ftp.nonProxyHosts=local|*.local|169.254/16|*.169.254/16
gopherProxySet=false
java.awt.graphicsenv=apple.awt.CGraphicsEnvironment
java.awt.printerjob=apple.awt.CPrinterJob
java.class.path=/Applications/eclipse/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar
java.class.version=49.0
java.content.handler.pkgs=com.swtdesigner.content
java.endorsed.dirs=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/endorsed
java.ext.dirs=/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext
java.home=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
java.io.tmpdir=/tmp
java.library.path=.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
java.runtime.version=1.5.0_13-b05-237
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.5
java.vendor=Apple Inc.
java.vendor.url=http://www.apple.com/
java.vendor.url.bug=http://bugreport.apple.com/
java.version=1.5.0_13
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Apple Inc.
java.vm.version=1.5.0_13-119
javax.swing.adjustPopupLocationToFit=false
line.separator=

mrj.version=1040.1.5.0_13-237
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
org.apache.commons.logging.simplelog.log.httpclient.wire.header=off
org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient=off
org.eclipse.equinox.launcher.splash.location=/Applications/eclipse/plugins/org.eclipse.platform_3.3.3.r33x_r20080129/splash.bmp
org.eclipse.swt.internal.carbon.smallFonts=
org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5
org.osgi.framework.language=en
org.osgi.framework.os.name=MacOSX
org.osgi.framework.os.version=10.5.4
org.osgi.framework.processor=i386
org.osgi.framework.system.packages=javax.accessibility,javax.activity,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stream,javax.xml.validation,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views ,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
org.osgi.framework.vendor=Eclipse
org.osgi.framework.version=1.4.0
org.osgi.supports.framework.extension=true
org.osgi.supports.framework.fragment=true
org.osgi.supports.framework.requirebundle=true
os.arch=i386
os.name=Mac OS X
os.version=10.5.4
osgi.arch=x86
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@start
osgi.bundlestore=/Applications/eclipse/configuration/org.eclipse.osgi/bundles
osgi.compatibility.bootdelegation=true
osgi.configuration.area=file:/Applications/eclipse/configuration/
osgi.framework=file:/Applications/eclipse/plugins/org.eclipse.osgi_3.3.2.R33x_v20080105.jar
osgi.framework.beginningstartlevel=1
osgi.framework.shape=jar
osgi.framework.version=3.3.2.R33x_v20080105
osgi.install.area=file:/Applications/eclipse/
osgi.instance.area=file:/Users/chris/workspace/
osgi.instance.area.default=file:/Users/chris/Documents/workspace/
osgi.logfile=/Users/chris/workspace/.metadata/.log
osgi.manifest.cache=/Applications/eclipse/configuration/org.eclipse.osgi/manifests
osgi.nl=en_US
osgi.os=macosx
osgi.requiredJavaVersion=1.5
osgi.splashLocation=/Applications/eclipse/plugins/org.eclipse.platform_3.3.3.r33x_r20080129/splash.bmp
osgi.splashPath=platform:/base/plugins/org.eclipse.platform
osgi.syspath=/Applications/eclipse/plugins
osgi.ws=carbon
path.separator=:
socksNonProxyHosts=local|*.local|169.254/16|*.169.254/16
sun.arch.data.model=32
sun.awt.exception.handler=apple.awt.CToolkit$EventQueueExceptionHandler
sun.boot.class.path=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/sunrsasign.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/charsets.jar
sun.boot.library.path=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Libraries
sun.cpu.endian=little
sun.cpu.isalist=
sun.io.unicode.encoding=UnicodeLittle
sun.jnu.encoding=MacRoman
sun.management.compiler=HotSpot Client Compiler
sun.os.patch.level=unknown
user.country=US
user.dir=/Applications/eclipse/Eclipse.app/Contents/MacOS
user.home=/Users/chris
user.language=en
user.name=chris
user.timezone=America/New_York

*** Features:
com.instantiations.designer (6.4.0) "Designer"
org.eclipse.cvs (1.0.2.r33x_r20080129-7C79_B_GLJwq3I9ZCD8L_) "Eclipse CVS Client"
org.eclipse.datatools.connectivity.feature (1.5.2.200802201) "Data Tools Platform Connectivity Plug-in"
org.eclipse.datatools.connectivity.oda.designer.feature (1.5.2.200802201) "DTP ODA Designer UI Framework Plug-in"
org.eclipse.datatools.connectivity.oda.feature (1.5.2.200802201) "DTP Open Data Access"
org.eclipse.datatools.doc.user (1.5.2.200802201) "Data Tools Platform User Guide"
org.eclipse.datatools.enablement.apache.derby.feature (1.5.2.200802201) "High-level Sybase Enablement Plug-in"
org.eclipse.datatools.enablement.feature (1.5.2.200802201) "Eclipse Data Tools Platform Enablement"
org.eclipse.datatools.enablement.hsqldb.feature (1.5.2.200802201) "Eclipse Data Tools Platform Enablement"
org.eclipse.datatools.enablement.ibm.feature (1.5.2.200802201) "Eclipse Data Tools Platform Enablement"
org.eclipse.datatools.enablement.jdbc.feature (1.5.2.200802201) "High-level Sybase Enablement Plug-in"
org.eclipse.datatools.enablement.msft.feature (1.5.2.200802201) "Eclipse Data Tools Platform Enablement"
org.eclipse.datatools.enablement.mysql.feature (1.5.2.200802201) "Eclipse Data Tools Platform Enablement"
org.eclipse.datatools.enablement.oda.designer.feature (1.5.2.200802201) "Eclipse Data Tools Platform XML ODA Designer"
org.eclipse.datatools.enablement.oda.feature (1.5.2.200802201) "Eclipse Data Tools Platform XML ODA Runtime Driver"
org.eclipse.datatools.enablement.oracle.feature (1.5.2.200802201) "Eclipse Data Tools Platform Enablement"
org.eclipse.datatools.enablement.postgresql.feature (1.5.2.200802201) "Eclipse Data Tools Platform Enablement"
org.eclipse.datatools.enablement.sybase.feature (1.5.2.200802201) "High-level Sybase Enablement Plug-in"
org.eclipse.datatools.intro (1.5.2.200802201) "Eclipse Data Tools Platform Intro Plug-in"
org.eclipse.datatools.modelbase.feature (1.5.2.200802201) "Eclipse Data Tools Platform SQLModel Plug-in"
org.eclipse.datatools.sdk.feature (1.5.2.200802201) "Data Tools Platform Source Code"
org.eclipse.datatools.sqldevtools.feature (1.5.2.200802201) "Eclipse Data Tools Platform SQL Tools Common UI Plug-in"
org.eclipse.emf (2.3.2.v200802051830) "Eclipse Modeling Framework (EMF)"
org.eclipse.emf.codegen (2.3.1.v200802051830) "EMF Template Code Generator"
org.eclipse.emf.codegen.ecore (2.3.2.v200802051830) "EMF Ecore Code Generation"
org.eclipse.emf.codegen.ecore.ui (2.3.1.v200802051830) "EMF Ecore Code Generation UI"
org.eclipse.emf.codegen.ui (2.3.1.v200802051830) "EMF Template Code Generator UI"
org.eclipse.emf.common (2.3.1.v200802051830) "EMF Common"
org.eclipse.emf.common.ui (2.3.1.v200802051830) "EMF Common UI"
org.eclipse.emf.converter (2.3.1.v200802051830) "EMF Model Convert Support"
org.eclipse.emf.doc (2.3.2.v200802051830) "Eclipse Modeling Framework (EMF) Programmers Guide"
org.eclipse.emf.ecore (2.3.2.v200802051830) "EMF Ecore"
org.eclipse.emf.ecore.edit (2.3.1.v200802051830) "EMF Ecore Edit Support"
org.eclipse.emf.ecore.editor (2.3.1.v200802051830) "Sample Ecore Editor"
org.eclipse.emf.ecore.sdo (2.3.1.v200802051830) "EMF Service Data Objects (SDO)"
org.eclipse.emf.ecore.sdo.doc (2.3.2.v200802051830) "EMF Service Data Objects (SDO) Programmers Guide"
org.eclipse.emf.ecore.sdo.edit (2.3.1.v200802051830) "EMF Service Data Objects (SDO) Edit Support"
org.eclipse.emf.ecore.sdo.editor (2.3.1.v200802051830) "EMF Service Data Objects (SDO) Editor"
org.eclipse.emf.ecore.sdo.source (2.3.2.v200802051830) "EMF Service Data Objects (SDO) Source"
org.eclipse.emf.edit (2.3.2.v200802051830) "EMF Edit"
org.eclipse.emf.edit.ui (2.3.1.v200802051830) "EMF Edit UI"
org.eclipse.emf.examples (2.3.1.v200802051830) "Eclipse Modeling Framework (EMF) Examples"
org.eclipse.emf.examples.source (2.3.1.v200802051830) "Eclipse Modeling Framework (EMF) Examples"
org.eclipse.emf.mapping (2.3.1.v200802051830) "EMF Mapping "
org.eclipse.emf.mapping.ecore (2.3.1.v200802051830) "Eclipse Modeling Framework (EMF) - org.eclipse.emf.mapping.ecore"
org.eclipse.emf.mapping.ecore.editor (2.3.1.v200802051830) "Eclipse Modeling Framework (EMF) - org.eclipse.emf.mapping.ecore.editor"
org.eclipse.emf.mapping.ui (2.3.1.v200802051830) "EMF Mapping UI"
org.eclipse.emf.source (2.3.2.v200802051830) "Eclipse Modeling Framework (EMF) Source"
org.eclipse.gef (3.3.2.v20080129) "Graphical Editing Framework"
org.eclipse.jdt (3.3.2.r33x_r20080129-7o7jE7_EDhYDiyVEnjb1pFd7ZGD7) "Eclipse Java Development Tools"
org.eclipse.jst (2.0.2.v200802150100-7B-7_8dDTOvmuz0di_U5vgUfz0em) "J2EE Standard Tools (JST)"
org.eclipse.mylyn_feature (2.1.0.v20070927-0900) "Mylyn"
org.eclipse.mylyn.bugzilla_feature (2.1.0.v20070927-0900) "Mylyn"
org.eclipse.mylyn.context_feature (2.1.0.v20070927-0900) "Mylyn"
org.eclipse.mylyn.ide_feature (2.1.0.v20070927-0900) "Mylyn"
org.eclipse.mylyn.java_feature (2.1.0.v20070927-0900) "Mylyn"
org.eclipse.pde (3.3.3.r33x_r20080129-7N7M5DQVIA_6oJsEFkEL) "Eclipse Plug-in Development Environment"
org.eclipse.platform (3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft) "Eclipse Platform"
org.eclipse.rcp (3.3.3.r33x_r20080129-8y8eE9UEUWI6qujeED0xT7bc) "Eclipse RCP"
org.eclipse.wst (2.0.2.v200802150100-7C-7C8k0JWR293WFMOOObjNnnqho) "Web Standard Tools (WST)"
org.eclipse.xsd (2.3.2.v200802051830) "XML Schema Infoset Model (XSD)"
org.eclipse.xsd.doc (2.3.2.v200802051830) "XML Schema Infoset Model (XSD) Programmers Guide"
org.eclipse.xsd.ecore.converter (2.3.2.v200802051830) "XML Schema Infoset Model (XSD) - org.eclipse.xsd.ecore.converter"
org.eclipse.xsd.edit (2.3.0.v200802051830) "XML Schema Edit Framework"
org.eclipse.xsd.editor (2.3.0.v200802051830) "XML Schema Editor"
org.eclipse.xsd.mapping (2.3.0.v200802051830) "XML Schema Infoset Model (XSD) - org.eclipse.xsd.mapping"
org.eclipse.xsd.mapping.editor (2.3.0.v200802051830) "XML Schema Infoset Model (XSD) - org.eclipse.xsd.mapping.editor"
org.eclipse.xsd.source (2.3.2.v200802051830) "XML Schema Infoset Model (XSD) Source"
org.maven.ide.eclipse.feature (0.9.0.20080310-1400-Sonatype) "Maven Integration for Eclipse"
org.testng.eclipse (5.7.0.1) "TestNG Eclipse Support"
org.tigris.subversion.subclipse (1.2.4) "SVN Team Provider Core"

*** Current Install Configuration:
Install configuration:
Last changed on Apr 30, 2008
Location: file:/Applications/eclipse/configuration/org.eclipse.update/platform.xml

Configured sites:
platform:/base/
file:/Applications/eclipse/plugins/eclipse/

<b>Thanks again.</b>
etherealstill
 
Posts: 3
Joined: Thu Jul 10, 2008 7:48 am

Re: Swing Designer / Mac OS X Leopard Slow Performance

Postby Eric Clayberg » Sun Jul 13, 2008 6:13 am

etherealstill wrote:*** Features:
com.instantiations.designer (6.4.0) "Designer"

According to your configuration details, you are using a very old version of Designer that is more than a year old.

Please try this again using v6.7.0 (and ideally Eclipse 3.4).
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA


Return to Swing Designer

Who is online

Users browsing this forum: No registered users and 1 guest