Coverflow issue -- FAST while dragging, SLOW otherwise!

I've been hitting Google every now and then for the last couple of years to try and figure out a problem I'm having with iTunes Cover Flow -- but it's a strange one so I've had no luck finding an answer.
The problem is with the speed/frame rate. When using the keyboard left/right keys, clicking on an artist in the song list, clicking on the next or previous cover art, or using the forward/back arrows at the ends of the cover flow scroll bar, the animation is consistently sluggish and stuttered.
HOWEVER (and this is where it gets weird)...
If I click/hold/drag the horizontal scroll bar in cover flow -- no matter how slow or fast -- the animation immediately skyrockets and I get completely smooth motion.
I can consistently duplicate this and have confirmed the frame rates with FRAPS using both very large and very small libraries (hundreds of albums w/art vs about 10 albums w/ art). It is much more noticeable in full-screen mode.
FRAPS values
*Cover flow within the full iTunes UI*
Dragging scrollbar: 75fps (consistent, even with crazy dragging)
All other methods: 40-42fps (even when coverflow is minimize to a tiny size)
*Cover flow full-screen mode*
Dragging scrollbar: 75fps (again consistent, even with crazy dragging)
All other methods: 27-30fps
Does anyone have any idea why this happens? It's been driving me crazy! I love browsing albums visually but this has always bothered me, especially full-screen. I would love it if someone else using a PC could test this so I know whether or not it's my hardware configuration.
It's worth noting that my CPU sits at rock-bottom idle in both scenarios, so it's not a spike issue.
Basic specs:
- Windows 7 Ultimate x64 (tho it happened in XP as well)
- Intel Core 2 Duo E8500
- 8GB DDR2 RAM
- NVIDIA GeForce 9600 GT
THANKS!

As I posted in another thread, when I'm using Safari, even low resolution youtube videos are not streaming properly - whereas they are playing adequately using Firefox.
However, with Firefox even the high resolution videos (HD) are not playing smoothly.
I cannot say for sure, but I think this is related to the fact that the PowerPC processors in our computers are part of an older technology that is being phased out - not to mention Apple is not entirely supporting PowerPC software anymore.

Similar Messages

  • AE is fast while working, slow when Rendering...?

    Hi there,
    I have a strange Problem with AE CS5.5 I guess.
    While working, everything is blazing fast. RAM-Previews are very quick, anything is fine. But when I'm rendering, it gets brutally slow.
    For example, I just had a small Animation with some Blur, Glow and Exposure, nothing big; in AE, I needed about 30secs for a RAM-Preview (at "Full"), but when rendering, it needs 10-15 Minutes. That's really strange, isn't it?
    I have a Dual Xeon-System with 16cores and 24GB RAM; I'm using 12 cores for rendering, 0,75GB/each. Windows 7 x64 is my OS
    Does anyone know how to maybe tweak it right?

    ->Output-Module
    1080p to FotoJPEG (QT) or CineForm, doesn't matter :/
    ->Drive Speed
    I thought about that. But honestly, how is this possible? The full video is about 100mb, not a big thing.
    Also, I tested it with my SSD, no Difference there.
    ->Network BUS Speed
    How is this related?
    These are my Multi-Processoring settings:
    I only queue one Item at a time.
    What else you need to know about my setup?

  • Have issues with Contact locking up while dragging contact into Group

    After creating a new Group in iCloud-Contacts, while dragging and dropping new contacts into the group, the browser locks up each time I try to drag a new contact into the group.
    Browser:  Firefox 10.0.1

    I am also having a similar problem with my 13 " macbook pro purchased in Aug 2011. I took the same to
    m/s Unicorn Infosolutions Pvt Ltd , Mumbai ( authorised service centre for apple). They first checked it and said that it was a hardware problem and I will have to keep the MBP with them till they get the replacement part from Bangalore and the repair would be free of cost since it was under warranty. So far so good. Then late in the evening , they called me up to inform that there was liquid found inside and the mother board would have to be repaced and the same would cost Rs 64,000/- which is slightly less than the cost of a new mbp.
    Unable to understand the formation of liquid since the time they checked up in the morning and their discovery in the late evening.
    They probably had a change of heart regarding replacement of the part under warranty.
    Apple should take serious action against such firms which indulge in such unscrupulous activities.
    Now I am left high and dry since apart from scrapping my new MBP, my data is also lost.
    Hope Apple can come out with a solution for this problem and replace/rectify the machine.

  • Gestures while dragging objects on Lion 10.7.2

    Prior to the 10.7.2 Lion update I was able to drag a file and while holding it activate a gesture to move the file wherever I wanted. It was a really useful feature that helped work faster and I was hoping there is a way to have it again. Any sugestions? Is it a bug that will be fixed (which i really really hope)?.

    It appears that at least one developer has filed a bug with Apple on this.
    The bug report is mirrored at OpenRadar: OS X 10.7.2: Gestures not enabled while dragging files
    (I too find this immensely frustrating.)

  • How to show large images along with cursor while dragging ?

    Hi Friends,
    While dragging images, image has to be shown along with cursor. In normal dragging process, only (32, 32) size of the original image size only appears.
    But in my application, I need to show image with its original size along with cursor while dragging. So i need an application (program) or
    suggestions which can meet the above requirement. It is an urgent issue for me. Any help in this regard is highly appreciated.
    Thanks in advance,
    Sunil

    Learn to search the forums before asking. This is such a recent posting.
    [http://forums.sun.com/thread.jspa?threadID=5346407]
    db

  • I was wondring if there is any top free app for cleaning up  the computer and make it run faster while booting, on startup and while surfing web. I am using a macbookpro  with IOS10.8.5, under chrome,safari,firefox net environment. thanks on yourhelp

    I was wondering if there is any top free app for cleaning up  the computer from malware, phinishing apps, adware, and othere malicious softwares and make it run faster while booting, on startup and while surfing web. I am using a Macbook pro  with IOS10.8.5, under chrome,safari,firefox net environment. thanks on your help

    I was wondering if there is any top free app for cleaning up ...
    There is no such thing, since the problems you are describing can have various causes. Seeking anything claiming to "clean" your Mac is asking for trouble, since all of those products are scams, whether they are "free" or not.
    If you are having trouble with your Mac, describe what it is. Be as specific as possible. For general recommendations read below.
    There will always be threats to your information security associated with using any Internet - connected communications tool:
    You can mitigate those threats by following commonsense practices
    Delegating that responsibility to software is an ineffective defense
    Assuming that any product will protect you from those threats is a hazardous attitude that is likely to result in neglecting point #1 above.
    OS X already includes everything it needs to protect itself from viruses and malware. Keep it that way with software updates from Apple.
    A much better question is "how should I protect my Mac":
    Never install any product that claims to "clean up", "speed up", "optimize", "boost" or "accelerate" your Mac; to "wash" it, "tune" it, or to make it "shiny". Those claims are absurd.Such products are very aggressively marketed. They are all scams.
    Never install pirated or "cracked" software, software obtained from dubious websites, or other questionable sources.
    Illegally obtained software is almost certain to contain malware.
    "Questionable sources" include but are not limited to spontaneously appearing web pages or popups, download hosting sites such as C net dot com, Softonic dot com, Soft pedia dot com, Download dot com, Mac Update dot com, or any other site whose revenue is primarily derived from junk product advertisements.
    If you need to install software that isn't available from the Mac App Store, obtain it only from legitimate sources authorized by the software's developer.
    Don’t supply your password in response to a popup window requesting it, unless you know what it is and the reason your credentials are required.
    Don’t open email attachments from email addresses that you do not recognize, or click links contained in an email:
    Most of these are scams that direct you to fraudulent sites that attempt to convince you to disclose personal information.
    Such "phishing" attempts are the 21st century equivalent of a social exploit that has existed since the dawn of civilization. Don’t fall for it.
    Apple will never ask you to reveal personal information in an email. If you receive an unexpected email from Apple saying your account will be closed unless you take immediate action, just ignore it. If your iCloud, iTunes, or App Store account becomes disabled for valid reasons, you will know when you try to buy something or log in to this support site, and are unable to.
    Don’t install browser extensions unless you understand their purpose:Go to the Safari menu > Preferences > Extensions. If you see any extensions that you do not recognize or understand, simply click the Uninstall button and they will be gone.
    Don’t install Java unless you are certain that you need it:
    Java, a non-Apple product, is a potential vector for malware. If you are required to use Java, be mindful of that possibility.
    Java can be disabled in System Preferences.
    Despite its name JavaScript is unrelated to Java. No malware can infect your Mac through JavaScript. It’s OK to leave it enabled.
    The same precaution applies to Adobe Flash Player. Newly discovered Flash vulnerabilities appear almost weekly.
    Beware spontaneous popups: Safari menu > Preferences > Security > check "Block popup windows".
    Popup windows are useful and required for some websites, but unsolicited popups are commonly used to deceive people into installing unwanted software they would never intentionally install.
    Popups themselves cannot infect your Mac, but many contain resource-hungry code that will slow down Internet browsing.
    If you ever receive a popup window indicating that your Mac is infected with some ick or that you won some prize, it is 100% fraudulent. Ignore it.
    The same goes for a spontaneously appearing dialog insisting that you upgrade your video player right this instant. Such popups are frequently associated with sites that promise to deliver "free" movies or other copyrighted content that is not normally "free".
    The more insistent it is that you upgrade or install something, the more likely it is to be a scam. Close the window or tab and forget it.
    Ignore hyperventilating popular media outlets that thrive by promoting fear and discord with entertainment products arrogantly presented as "news". Learn what real threats actually exist and how to arm yourself against them:
    The most serious threat to your data security is phishing. Most of these attempts are pathetic and are easily recognized, but that hasn't stopped prominent public figures from recently succumbing to this age-old scam.
    OS X viruses do not exist, but intentionally malicious or poorly written code, created by either nefarious or inept individuals, is nothing new.
    Never install something without first knowing what it is, what it does, how it works, and how to get rid of it when you don’t want it any more.
    If you elect to use "anti-virus" software, familiarize yourself with its limitations and potential to cause adverse effects, and apply the principle immediately preceding this one.
    Most such utilities will only slow down and destabilize your Mac while they look for viruses that do not exist, conveying no benefit whatsoever - other than to make you "feel good" about security, when you should actually be exercising sound judgment, derived from accurate knowledge, based on verifiable facts.
    Do install updates from Apple as they become available. No one knows more about Macs and how to protect them than the company that builds them.
    Summary: Use common sense and caution when you use your Mac, just like you would in any social context. There is no product, utility, or magic talisman that can protect you from all the evils of mankind.

  • Disabling 'Show window contents while dragging' also disables window snap - is there a workaround?

    When I disable 'Show window contents while dragging' in Performance Options, it also automatically disables the ability to snap windows the left and right and corners by dragging them. I have an older computer, and disabling this really improves the performance,
    but I'd really like to keep the ability to snap the windows around, as it's one of my favorite features.
    Is there a way to just disable showing window contents while dragging without disabling the window snap feature?

    Hey there. I've been trying to figure out why my snap wasn't working, and this is the only post I've found that mentioned it.
    I found snap wasn't working on my machines sometimes and realised it happens after I start an RDP session which disables the "show window contents while dragging" option, but then doesn't seem to enable it properly after the session ends.
    When I check the option, it is already ticked, so I need to untick and re-tick, then apply and snap starts working again.
    I don't know if there is any connection with the "Prevent windows from being automatically arranged when moved to the edge of the screen" option under the mouse ease of access settings.
    It does seem like a new issue though as it doesn't happen under Win8

  • Error while dragging the table

    Hi Folks,
    I am getting the following error while dragging the model table on to the diagram tab(creating an interface).
    Any Ideas??????
    java.lang.NullPointerException
         at oracle.odi.interfaces.interactive.support.clauseimporters.ClauseImporterDefault.importClauses(ClauseImporterDefault.java:87)
         at oracle.odi.interfaces.interactive.support.actions.InterfaceActionAddSourceDataStore.performAction(InterfaceActionAddSourceDataStore.java:124)
         at oracle.odi.interfaces.interactive.support.InteractiveInterfaceHelperWithActions.performAction(InteractiveInterfaceHelperWithActions.java:845)
         at oracle.odi.interfaces.interactive.support.InteractiveInterfaceHelperWithActions.performAction(InteractiveInterfaceHelperWithActions.java:821)
         at oracle.odi.ui.OdiSdkEntityFactory.dropSourceDataStore(OdiSdkEntityFactory.java:523)
         at oracle.odi.ui.etlmodeler.diag.dragdrop.DiagramNodeDropHandler.dropObjects(DiagramNodeDropHandler.java:150)
         at oracle.diagram.framework.dragdrop.handler.DelegateChooserDropHandler.dropSelected(DelegateChooserDropHandler.java:386)
         at oracle.modeler.dnd.ModelerTCDropHandler.access$001(ModelerTCDropHandler.java:69)
         at oracle.modeler.dnd.ModelerTCDropHandler$3.run(ModelerTCDropHandler.java:288)
         at oracle.modeler.dif.GraphicAdder.addImpl(GraphicAdder.java:387)
         at oracle.modeler.dif.GraphicAdder.addAndLayoutImpl(GraphicAdder.java:372)
         at oracle.modeler.dif.GraphicAdder.addSelectAndLayout(GraphicAdder.java:348)
         at oracle.modeler.dnd.ModelerTCDropHandler.dropSelected(ModelerTCDropHandler.java:284)
         at oracle.diagram.framework.dragdrop.handler.DelegateChooserDropHandler.drop(DelegateChooserDropHandler.java:150)
         at oracle.diagram.framework.dragdrop.DefaultDropPlugin.drop(DefaultDropPlugin.java:115)
         at oracle.modeler.dnd.ModelerDropPlugin.drop(ModelerDropPlugin.java:100)
         at oracle.diagram.framework.dragdrop.DropTargetHelper.drop(DropTargetHelper.java:188)
         at oracle.diagram.framework.dragdrop.ManagerViewDragAndDropController$MyDropTargetListener.drop(ManagerViewDragAndDropController.java:802)
         at java.awt.dnd.DropTarget.drop(DropTarget.java:434)
         at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:519)
         at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:832)
         at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:756)
         at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:30)
         at java.awt.Component.dispatchEventImpl(Component.java:4508)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4481)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4312)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4163)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4481)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
         at java.awt.EventQueue.access$000(EventQueue.java:84)
         at java.awt.EventQueue$1.run(EventQueue.java:602)
         at java.awt.EventQueue$1.run(EventQueue.java:600)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:616)
         at java.awt.EventQueue$2.run(EventQueue.java:614)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Thanks in advance
    R

    Did you tryed to refresh your model or delete and re-import it ?

  • 'Show JInternalFrame Contents While Dragging'

    hi,
    I have a question I have an application that has internal frames, Basically it is a MDI Application. I am using JDK 1.2.2 and windows 2000. The question is that when you go to the desktop right click properties and in Effects tab you uncheck the 'Show Window Contents While Dragging' checkBox. Now when I run my application and my parent window that is a frame pops up, if I drag the window i.e. my parent frame it doesn't dragg the contents onlt thw windows border is dragged, means it doesn't repaints that is fine. But when I try to drag one of the internal frame it shows me the contents inside the internalFrame being dragged too and I don't want to see these contents while internal frame is being dragged. So how can I make my application not to show the contents inside the JInternalFrames not to be shown while dragging the JInternalFrame. Any help is really appreciated.
    for an example I have added a code example to see the effect that I got from the forums just for an example to show. If you have unchecked the option 'Show Window Contents While Dragging' in Effects tab when you go to the desktop right click properties and the Effects Tab or in the controlPanel dblClick Display and go to Effects tab and uncheck this checkBox. Now run this example and see when you drag the main window contents inside it including JInternalFrame doesn't get dragged just the boundry of the dragging frame is shown. Now if you try to drag the JInternalFrame. Contents inside that are dragged too. And I don't want this behavior. I don't want to see the contents.
    /*************** MDITest ************/
    import javax.swing.*;
    * An application that displays a frame that
    * contains internal frames in an MDI type
    * interface.
    * @author Mike Foley
    public class MDITest extends Object {
    * Application entry point.
    * Create the frame, and display it.
    * @param args Command line parameter. Not used.
    public static void main( String args[] ) {
    try {
    UIManager.setLookAndFeel(
    "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" );
    } catch( Exception ex ) {
    System.err.println( "Exception: " +
    ex.getLocalizedMessage() );
    JFrame frame = new MDIFrame( "MDI Test" );
    frame.pack();
    frame.setVisible( true );
    } // main
    } // MDITest
    /*********** MDIFrame.java ************/
    import java.awt.*;
    import java.awt.event.*;
    import java.io.Serializable;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    * A top-level frame. The frame configures itself
    * with a JDesktopPane in its content pane.
    * @author Mike Foley
    public class MDIFrame extends JFrame implements Serializable {
    * The desktop pane in our content pane.
    private JDesktopPane desktopPane;
    * MDIFrame, null constructor.
    public MDIFrame() {
    this( null );
    * MDIFrame, constructor.
    * @param title The title for the frame.
    public MDIFrame( String title ) {
    super( title );
    * Customize the frame for our application.
    protected void frameInit() {
    // Let the super create the panes.
    super.frameInit();
    JMenuBar menuBar = createMenu();
    setJMenuBar( menuBar );
    JToolBar toolBar = createToolBar();
    Container content = getContentPane();
    content.add( toolBar, BorderLayout.NORTH );
    desktopPane = new JDesktopPane();
    desktopPane.setPreferredSize( new Dimension( 400, 300 ) );
    content.add( desktopPane, BorderLayout.CENTER );
    } // frameInit
    * Create the menu for the frame.
    * <p>
    * @return The menu for the frame.
    protected JMenuBar createMenu() {
    JMenuBar menuBar = new JMenuBar();
    JMenu file = new JMenu( "File" );
    file.setMnemonic( KeyEvent.VK_F );
    JMenuItem item;
    file.add( new NewInternalFrameAction() );
    // file.add( new ExitAction() );
    menuBar.add( file );
    return( menuBar );
    } // createMenuBar
    * Create the toolbar for this frame.
    * <p>
    * @return The newly created toolbar.
    protected JToolBar createToolBar() {
    final JToolBar toolBar = new JToolBar();
    toolBar.setFloatable( false );
    toolBar.add( new NewInternalFrameAction() );
    // toolBar.add( new ExitAction() );
    return( toolBar );
    * Create an internal frame.
    * A JLabel is added to its content pane for an example
    * of content in the internal frame. However, any
    * JComponent may be used for content.
    * <p>
    * @return The newly created internal frame.
    public JInternalFrame createInternalFrame() {
    JInternalFrame internalFrame =
    new JInternalFrame( "Internal JLabel" );
    internalFrame.getContentPane().add(
    new JLabel( "Internal Frame Content" ) );
    internalFrame.setResizable( true );
    internalFrame.setClosable( true );
    internalFrame.setIconifiable( true );
    internalFrame.setMaximizable( true );
    internalFrame.pack();
    return( internalFrame );
    * An Action that creates a new internal frame and
    * adds it to this frame's desktop pane.
    public class NewInternalFrameAction extends AbstractAction {
    * NewInternalFrameAction, constructor.
    * Set the name and icon for this action.
    public NewInternalFrameAction() {
    super( "New", new ImageIcon( "new.gif" ) );
    * Perform the action, create an internal frame and
    * add it to the desktop pane.
    * <p>
    * @param e The event causing us to be called.
    public void actionPerformed( ActionEvent e ) {
    JInternalFrame internalFrame = createInternalFrame();
    desktopPane.add( internalFrame,
    JLayeredPane.DEFAULT_LAYER );
    } // NewInternalFrameAction
    } // MDIFrame
    I'll really appreciate for any help.
    Thank you

    try this:
    JDesktopPane desktopPane = new JDesktopPane();
    desktopPane.putClientProperty("JDesktopPane.dragMode", "outline");Both parameters passed to 'putClientProperty' must be strings.
    Hope this helps
    Riz

  • How to show MouseOver effect on dropable region while dragging a MovieClip?

    Hello friends,
    I am creating Drag and drop flash application.
    While dragging an instance of a movieclip I want also the dropable region to show effect like MouseOver case.
    So that end user can confirm that they are dropping the item in right region.
    Here the mouse is moved while it is kept clicked
    Plz help me,
    Thanks.
    Venkat

    Thanks for taking interest.
    I did the first part of your reply already, but  How to check if a MovieClip is being dragged?
    Say, I have two MovieClips
    TargetToDrop_mc
    DropableRegion_mc
    TargetToDrop_mc.addEventListener(MouseEvent.MOUSE_DOWN, gotMouseDown);
    TargetToDrop_mc.addEventListener(MouseEvent.MOUSE_UP, gotMouseUp);
    TargetToDrop_mc.addEventListener(MouseEvent.MOUSE_OVER, gotMouseOver);
    TargetToDrop_mc.addEventListener(MouseEvent.MOUSE_OUT, gotMouseOut);
    DropableRegion_mc.addEventListener(MouseEvent.MOUSE_DOWN, gotMouseDown);
    DropableRegion_mc.addEventListener(MouseEvent.MOUSE_UP, gotMouseUp);
    DropableRegion_mc.addEventListener(MouseEvent.MOUSE_OVER, gotMouseOver);
    DropableRegion_mc.addEventListener(MouseEvent.MOUSE_OUT, gotMouseOut);
    function gotMouseDown(EventReceived:MouseEvent):void {
        EventReceived.currentTarget.startDrag ();
    function gotMouseUp(EventReceived:MouseEvent):void{
        EventReceived.currentTarget.stopDrag();
    function gotMouseOver(EventReceived:MouseEvent):void{
        EventReceived.currentTarget.alpha=0.5;
    function gotMouseOut(EventReceived:MouseEvent):void{
        EventReceived.currentTarget.alpha=0.7;
    Now plze guide me on basis of above.
    Thanks,
    Venkat

  • How to get the filepath while dragging

    Hi all ,
    I am performing a file copying application I wanted to know how to get the path of the particular file while dragging. (i.e if I perform something like a mousedown or mouseover event I should be able to get the complete path of the filename.
    Reply,
    Kalpesh

    You can drag the file name into the application, or use something like PathSnagger
    G4 Digital Audio 1.4GHz   Mac OS X (10.4.9)  

  • High CPU consumption with repaint while dragging

    Hi! I certainly hope someone can help me with this. I am building a graphical user interface for a graph with custom nodes and edges, the nodes being draggable. I have tried making each network component (node or edge) a JComponent. Now, I'm trying using only one JPanel to paint all the components. Either way, I find that dragging takes up too much CPU % especially when using full screen graphics, usually around 92%. And that is on a machine with >1.9GHz.
    It does not really make much of a difference when I paint outlines of the components while dragging. Any ideas about this? Thanks.
    My runnable test code is rather long so I've uploaded it to : http://web.mit.edu/jabos/www/SyncTest/GUILoad2.java.
    -Bosun

    Comments about changes to your code:
    1 - trouble in rendering with setOpaque(false). Set this to true and add super.paintComponent(g) in paintComponent to take care of background paint updates
    2 - had to doctor your ConnComp class; the constructor was under construction...
    3 - I'm using j2se 1.4 so I converted your:
    ArrayList generics to the old Object casts and
    the JFrame setPreferredSize to setSize
    This runs okay now. The highest cpu usage numbers I saw were 52% in full screen and 37% in regular mode (2.6 GHz).
    The painting part seems okay; I think the trouble is in excessive data storage and manipulation. I would re&#8211;design your program to eliminate all the type checking with the instanceof operator. Specifically I would try to use only one ArrayList for the node objects and draw the connection lines between them inside paintComponent depending on how a boolean is set, eg if(showLines). As an aside, GradientPaint is for fill operations and will not benefit your line display.
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.util.ArrayList;
    * This demo paints all network components in a single JComponent
    * @author jabos
    public class DragTest extends JPanel {
         * all components
        public ArrayList comps;
        public ArrayList compsDragged; // actually only RectComps
         * arraylist of all connection components
        public ArrayList conncomps;
        public boolean dragging = false, repaintWhileDragging = true;
        Point2D initp = null;
        public JLabel repaintDrag;
        public DragTest() {
            repaintDrag = new JLabel("repaintWhileDragging : " + repaintWhileDragging);
            repaintDrag.setForeground(Color.MAGENTA);
            add(repaintDrag);
            add(new JLabel("Press \"R\" to change repaint protocols during dragging"));
            comps = new ArrayList();
            compsDragged = new ArrayList();
            conncomps = new ArrayList();
            addMouseMotionListener(new MouseMotionAdapter() {
                public void mouseDragged(MouseEvent e) {
                    //* // Remove initial slash to disable repainting while dragging
                    if (repaintWhileDragging) {
                        Point2D pp = e.getPoint();
                        AffineTransform t = AffineTransform.getTranslateInstance(
                                                    pp.getX() - initp.getX(),
                                                    pp.getY() - initp.getY());
                        initp = pp; // reset initp
                        for (int j = 0; j < compsDragged.size(); j++) {
                            Comp comp = (Comp)compsDragged.get(j);
                            if (comp instanceof RectComp)
                                comp.updateCompLocation(t);
                        // and again to update ConnComps
                        for (int j = 0; j < conncomps.size(); j++) {
                            Comp comp = (Comp)conncomps.get(j);
                            if (comp instanceof ConnComp)
                                comp.updateCompLocation(t);
                        dragging = true;
                        repaint();
                    dragging = true;
            addMouseListener(new MouseAdapter() {
                // does final repaint if dragging just finished
                public void mouseReleased(MouseEvent e) {
                    if (dragging) {
                        Point2D pp = e.getPoint();
                        AffineTransform t = AffineTransform.getTranslateInstance(
                                                    pp.getX() - initp.getX(),
                                                    pp.getY() - initp.getY());
                        for (int j = 0; j < compsDragged.size(); j++) {
                            Comp comp = (Comp)compsDragged.get(j);
                            if (comp instanceof RectComp)
                                comp.updateCompLocation(t);
                        // and again to update ConnComps
                        for (int j = 0; j < conncomps.size(); j++) {
                            Comp comp = (Comp)conncomps.get(j);
                            if (comp instanceof ConnComp)
                                comp.updateCompLocation(t);
                    repaint();
                    dragging = false;
                    setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
                // Updates list of components being dragged
                public void mousePressed(MouseEvent e) {
                    compsDragged.clear();
                    initp = e.getPoint();
                    for (int j = 0; j < comps.size(); j++) {
                        Comp comp = (Comp)comps.get(j);
                        if (comp.graphic.contains(initp))
                            compsDragged.add(comp);
                    setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
            addKeyListener(new KeyAdapter() {
                public void keyReleased(KeyEvent e) {
                    if(e.getKeyCode() == KeyEvent.VK_R) {
                        repaintWhileDragging = !repaintWhileDragging;
                        repaintDrag.setText("repaintWhileDragging : " +
                                             repaintWhileDragging);
    //        setOpaque(false);
            setFocusable(true);
            requestFocusInWindow();
        public static void main(String[] args) {
            GraphicsDevice device =
                GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
            JFrame f = new JFrame("GUILOAD2", device.getDefaultConfiguration());
            //* // remove initial slash to disable full screen
            device.setFullScreenWindow(SwingUtilities.getWindowAncestor(f));
            //needs to be set AFTER fullscreenmode so that the toolbar is NOT draggable!
            f.setExtendedState(JFrame.MAXIMIZED_BOTH);
                // enable use of Look and Feel
                f.setUndecorated(true);    // Set false, EE is still minimizable
                f.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
            f.setBounds(GraphicsEnvironment.getLocalGraphicsEnvironment().
                                getMaximumWindowBounds());
            DragTest p = new DragTest();
            p.setBackground(Color.WHITE);
            RectComp[] rc = new RectComp[100];
            int n = -1, x = 30, y = 30, b = 100, inc = 40;
            // add REctComps
            for (int i = 0; i < 10; i++) {
                p.add(rc[++n] = new RectComp(new Point2D.Double(x += inc, y += inc),
                                             new Color(x % 255, y % 255, (b += 10) % 255)));
            x = 34; y = 32; b = 32;
            // add ConnComps
            while (n > 0) {
                p.add(new ConnComp(rc[n--], rc[n],
                                   new Color((x += inc) % 255, (y += inc) % 255,
                                             (b += inc) % 255),
                                   new Color((x += inc) % 255, (y += inc) % 255,
                                             (b += inc) % 255)));
            f.setContentPane(p);
            f.setSize(700, 700);
            makeFramex(f, false);
            /* // remove initial slash to disable full screen; Also, uncomment above
            f.setResizable(false);
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setIgnoreRepaint(true);
            f.setVisible(true);
        public static void makeFramex(JFrame frame, boolean resizable) {
            frame.setSize(frame.getSize());
    //        frame.setResizable(resizable);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //        frame.pack();
            frame.setVisible(true);
         * Adds network component c to this simulation
         * @param c
        public void add(Comp c) {
            comps.add(c);
            if (c instanceof ConnComp) {
                conncomps.add((ConnComp)c);
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2D = (Graphics2D) g;
            g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                 RenderingHints.VALUE_ANTIALIAS_ON);
            for (int j = 0; j < comps.size(); j++) {
                Comp comp = (Comp)comps.get(j);
                //for (Comp i : dragging ? compsDragged : comps) {
                try {
                    g2D.setPaint(comp.color);
                    if (comp instanceof ConnComp) {
                        g2D.setStroke(((ConnComp) comp).compStroke);
                        g2D.draw(comp.graphic);
                    if (comp instanceof RectComp)
                        g2D.fill(comp.graphic);
                } catch (Exception e) {
                    e.printStackTrace();  //To change body of catch statement
                                          // use File | Settings | File Templates.
         * A network component that simulates a node
        private static class RectComp extends Comp {
            RectComp(Point2D centero, Paint c) {
                super(c);
                center = centero;
                graphic = new Ellipse2D.Double(center.getX() - radius,
                                  center.getY() - radius, radius * 2 - 2, radius * 2 - 2);
            public void updateCompLocation(AffineTransform t) {
                graphic = t.createTransformedShape(graphic);
                Rectangle2D r = graphic.getBounds2D();
                center = new Point2D.Double(r.getCenterX(), r.getCenterY());
                //System.out.println("newCenterX=" + r.getCenterX());
         * A network component that simulates a connection between two nodes
        private static class ConnComp extends Comp {
            Stroke compStroke;
            RectComp origin, destination;
            Paint color;
            ConnComp(RectComp origino, RectComp desto, Color c1, Color c2) {
                super(c1);
                if (c2 != null)
                    color = new GradientPaint(origino.center, c1, desto.center, c2);
                else
                    color = c1;
                graphic = new Line2D.Double(origino.center, desto.center);
                this.origin = origino;
                this.destination = desto;
                compStroke = new BasicStroke(3);
    //            updateCompLocation(new AffineTransform());
            public void updateCompLocation(AffineTransform t) {
                ((Line2D)graphic).setLine(origin.center, destination.center);
                if(color instanceof GradientPaint)
                    color = new GradientPaint(((Line2D)graphic).getP1(),
                                              ((GradientPaint)color).getColor1(),
                                              ((Line2D)graphic).getP2(),
                                              ((GradientPaint)color).getColor2());
                //System.out.println("newLineX:" + ((Line2D) graphic).getX1() +
                //                     "---" + ((Line2D) graphic).getX2());
         * demo Superclass for all network components
        private abstract static class Comp {
            Point2D center;
            Shape graphic;
            int radius = 20;
            Paint color;
            Comp(Paint c) {
                color = c;
             * Updates internal parameters of Comp necessary for correct repaint
             * @param t
            public abstract void updateCompLocation(AffineTransform t);
    }

  • Why i am unable to select between 2 anchor points with in a object while dragging with direct select

    why i am unable to select between 2 anchor points with in a object while dragging with direct selection tool instead it moves

    Another option is to temporarily change your view to outline mode, when your done switch back to preview mode. Ctrl-Y or View>Outline {View>Preview} The menu option will change depending on which mode you are in.
    And another option, double click on the object in question to place it in Isolation mode. You can now edit to your hearts content. When done, click on the gray border at top of document.
    So as you can see there are multiple ways of accomplishing the same thing.

  • Executing Java script while dragging a component

    Hi,
    Is there a way to execute Java script while dragging a component, I have noticed only following events mouseMove, mouseOut, mouseDown mouseUp for clientListener tag. could not find anything related to dragging event.
    My scenario is, I have componentDragSource to a component and I want fire a java script event on drag of that component.
    Please suggest. TIA.
    Thanks,
    Siva G.

    Hi Frank,
    Thanks for your response.
    Could you please give me some sample on that like what type of event and on which component I have to set clientListener.
    Thanks,
    Siva G.

  • PNG for a WEB: "None/Fast" or "Smallest/Slow"?

    I need to do for a WEB many PNG icons (aprox. 70x70 pixels e/a). There will be like 20 of them loaded in the WEB at the same time.
    PLEASE, which kind of compression I should pick when I save as a PNG: "None/Fast" or "Smallest/Slow", and "Interlaced" or not?
    My main concern is that the WEB page should load them the fastest possible. 
    Thank you in advance !

    Smallest/Slow seems the best choice (I think the "slow" part refers to how long it will take to save, not load)  I haven't found a browser that doesn't deal with that setting.  I never use Interlaced myself; gone are the days when pages paint pixels before your very eyes.
    Consider saving from within the Save For Web feature, which can be configured to save no additional metadata and no color profile.
    Consider also just trying the different settings, then looking at the files yourself.  That's how those giving advice have likely learned the best settings.
    -Noel

Maybe you are looking for

  • How to connect macbook to Sony tv

    Hi there, I spent most of last night trying to get this done! No problems with the vision, cable between Macbook and HDMI input on the TV is fine. I have a 3.5mm Jack to Phono lead which I thought would work for the Audio.  No sound. Maybe I'm not se

  • HT4972 upgrade iphone 3gs to iOS 5

    can I upgrade my iphone 3gs to iOS 5?

  • I want to delete all my files so I can give this computer to a friend

    I want to delete all files on my G-5 so I can give it to a friend.

  • FlexUnit CI - Flash Player linux installation

    I am now attempting to do some CI testing with the FlexUnit Ant task on the Linux platform, specifically RHEL 6 (x64). I am finding the installation of the Linux debug stand-alone player not as straight-forward as I had hoped. I finally found using g

  • Need help with sort

    I need to do an iterate thru records and then allow end user to sort by clicking on table cell header ex. name employeenumber dept social sec are the headers. a search is performed and brings back employee name, etc and fills a table cell. the column