Slow down in Java printing

I'm printing a huge file in java by breaking into smaller chunks. Initially it sppols at good speed. But as time goes by It slows down. It starts of by spooling a page in a sec but after a 50 jobs it's taking 5 seconds/page.
Could some tell me why this is happening? What should I do?
Thanks alot

I understand that I need to use enableDoubleBuffering Function. But I dont know where. I tried using disableDoubleBuffer(this); but giving me an error during compilation. Could someone point out problems with the code?
Thanks
Code:
public int print(Graphics g, PageFormat pf, int PageIndex) throws PrinterException
if (PageIndex != rememberedPageIndex) {  // this can be called multiple times for one page
rememberedPageIndex = PageIndex;
try {
getOnePage gop = new getOnePage(FileName, currPage);
currPage++;
OnePage = gop.PageString;
if (OnePage == "") {
return Printable.NO_SUCH_PAGE;
if(OnePage.charAt(0)=='\u001B'){
return Printable.NO_SUCH_PAGE;
catch ( Exception e ) {
System.out.println("Unable to get page: " + e);
BeginDisp = 0;
int f = 20;
int done = 0;
double iw = pf.getImageableWidth();
while (done == 0) {
g.setFont(new Font("Monospaced", Font.BOLD, f));
FontMetrics fm = g.getFontMetrics();
if (fm.stringWidth(s) < iw) {
fnt = new Font("monospaced",Font.BOLD, f);
done = 1;
break;
f--;
if (f < 2){  // should not happen
done = 1;
LineHeight = (int) pf.getImageableHeight();
LineHeight = LineHeight / 66;
} else {
BeginDisp = 0;
g.setColor(Color.black);
g.setFont(fnt);
FontMetrics fm = g.getFontMetrics();
int centerAmtX = (int) ((pf.getImageableWidth() - fm.stringWidth(s)) / 2);
int x = (int) pf.getImageableX();
int y = (int) pf.getImageableY();
int pageBreak = (int) (y + pf.getImageableHeight());
int LineCount = 0;
while ((y + LineHeight) < pageBreak) {
LineCount++;
y += LineHeight;
if (OnePage.indexOf("\r",BeginDisp) < 0) {  // last line does not have a cr/lf
String LastLine = OnePage.substring(BeginDisp,OnePage.length() - 1); // drop last character: page break
g.drawString(LastLine, (int) x + centerAmtX, (int) y);
break;
String line = OnePage.substring(BeginDisp,OnePage.indexOf("\r",BeginDisp));
g.drawString(line, (int) x + centerAmtX, (int) y);
BeginDisp = OnePage.indexOf("\r",BeginDisp) + 2;
if (BeginDisp >= OnePage.length()) {
break;
LineHeight = " + LineHeight + " pageBreak = " + pageBreak);
return Printable.PAGE_EXISTS;
}

Similar Messages

  • Slow down after new printer

    I just hooked up a new HP C3100 printer to my Mac Mini G4 1.25, 512 RAM. The printer is working fine, but my mini now runs at about 1/4 the speed it was before. Everything has slowed down. Is it some of the extra HP software, like HP device manager and HP Photosmart studio that got loaded from the printer's install disc? Can I fix this?

    Jake Stickelmeyer-
    Those programs don't usually play nice.
    Try the uninstaller as Boece mentioned.
    Luck-
    -DaddyPaycheck

  • Adobe Reader version 11.0.07 is cranking up my cpu to 100 and slowing down my PDFs printing process any advise on this issue

    Hi,
    I hope anyone can help, i am having issues with adobe reader every time i open a multiple PDFs files open my CPU goes up to 100% usage and when I try to print something the computer freezes.
    Once I end the process, the computer goes back to working fine
    I have adobe reader version 11.0.07.
    Thanks
    Message was edited by: jay tronilo

    I'm having a similar problem when following hyperlinks from PDFs. Adobe Reader 11.0.07 hangs and ties up half the CPU. Again, Windows 7 Professional SP 1, Pentium dual core E6700 4 GB. Have tried running the cleaner tool and reloading, no change. The leap in CPU below is the point at which the hyperlink was selected.

  • System Slow-Down After Printing

    I recently installed Mountain Lion. Over the last couple of weeks I have noticed a significant operating system (10.8.2) slow down after printing with my Epson R3000 printer. This happens after every printing session. When I say slow-down I mean significant delays and dreading "beachballs" when opening applications, selecting menu items or anything else I should choose to do. I'm left with re-starting the computer to get going normally again.After re-atarting I have gone to "verify permissions" and I get approx "5" pages of permission errors, all associated with the printer library in some fashion or another. I then repair all those permissions and re-start my MacPro. The operating system then works as normal and I can use the computer with no problems (until I start printing again). I mainly use the computer for photo editing with Adobe Photoshop CS6, Adobe Lightroom 4 and Aperture 3.2.
    I did not have this problem before upgrading to Mountain Lion (and then to 10.8.2). I did not get "significant" permission errors before upgrading. Since all printer drivers for this printer are handled now by Apple via the "new" Software Update process I can't even re-download the Epson printer driver and start over. I'm completely at a loss as to what, associated with the printer function, is causing these "significant" permission errors and subsequent operating system slow down. My printer is almost brand new and was working flawlessly before Mountain Lion. Let me be clear though, I can print fine. My problem is the system slow down after using the print function which I am only guessing has something to do with the "5" pages of permission errors after printting photos (with CS6/Lightroom/Aperture).
    Incidently, I am not in any way a computer expert. Verifying and repairing permissions is about all I know how to do that's why I need help. I also just thought I would try the forums first before going to technical support to see what people thought about this.
    Again, I repair the permission errors, re-start my system and all is fine. Any further suggestions would be deeply appreciated.

    When you see a beachball cursor or the slowness is especially bad, note the exact time: hour, minute, second.  
    These instructions must be carried out as an administrator. If you have only one user account, you are the administrator.
    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad and start typing the name.
    The title of the Console window should be All Messages. If it isn't, select
              SYSTEM LOG QUERIES ▹ All Messages
    from the log list on the left. If you don't see that list, select
              View ▹ Show Log List
    from the menu bar at the top of the screen.
    Each message in the log begins with the date and time when it was entered. Scroll back to the time you noted above.
    Select the messages entered from then until the end of the episode, or until they start to repeat, whichever comes first.
    Copy the messages to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
    The log contains a vast amount of information, almost all of it useless for solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
    Please don't indiscriminately dump thousands of lines from the log into this discussion.
    Please don't post screenshots of log messages—post the text.
    Some private information, such as your name, may appear in the log. Anonymize before posting.

  • Why has my hp deskjet 2050 printer and scanner suddenly slowed down and printing one line at a time

    why has my hp deskjet 2050  printer and scanner suddenly slowed down and printing one line at a time

    This is usually indicative of a defective print cartridge.  Suspect the black is low in ink or defective.  Please check all cartridges. 
    Say thanks by clicking the Kudos Thumbs Up to the right in the post.
    If my post resolved your problem, please mark it as an Accepted Solution ...
    I worked for HP but now I'm retired!

  • Slow down printing speed for Smart Forms

    Hi,
    Is there any command (etc.) to slow down the printing speed of an Hp laserjet when printing a smart forms?
    I need that because when I print that smart form to fast I run into print out quality problems.
    Many Thanks

    hi,
    take print out in a dot matrix printer instead of your laser printer without changing any settings.
    Coz i tried this once, i was successfull. But, the printout will be very slow.
    regards,
    kool.

  • Computer slows down more each time I print a PDF. It reverts to a reasonable speed if I restart the computer. Everything worked normally until I installed Avast Virus Protection.

    I have Windows XP and Adobe Reader XI. My printer is a Ricoh Aficio 240W.
    My computer normally lacks internet access. I briefly connected it to the internet to install the full version of Avast Antivirus, then disconnected it from the internet again, and it has been disconnected from the internet since.
    After I installed Avast the computer began acting screwy when I printed PDF files. I uninstalled Avast but the screwiness continues.
    The image in the upper left corner was taken after doing one printing of a PDF file. I'm pretty confident AcroRd32.exe. is Adobe Reader. Notice that after running one print Adobe Reader is using about 50 CPU's.
    The image to the right of that was taken after doing two printings of a PDF file. Notice that after running two prints there are two AcroRd32.exe processes using 50 CPU's.
    The image below the other two was taken after doing three or four printings of a PDF file. Notice that after three printings one AcroRd32.exe process is using 50 CPU's and two others are using about 25. After about three printings my computer slows down dramatically, and it keeps getting slower the more prints I do.
    When I restart the computer it reverts back to normal. Can anyone think of a better solution to this problem of increasing slowness than restarting the computer every two PDF prints?
    My computer currently has no virus protection, although Windows Firewall is up. Someone at Avast I briefly mentioned this too thinks this should not happen and he was wondering if the computer has some sort of virus...but before I removed Avast it told nothing about viruses that I know of. I honestly do not know if anyone scanned the computer with Avast before removing Avast, but I suspect it was scanned before the removal of Avast. I suppose this could be the result of some virus...but then the computer behaves quite normally, except when I print PDFs. I'm wondering if Avast changed some settings in my printer program or Adobe programs....
    I have CCleaner. Every time I analyze my computer to look for stuff to remove to speed up the computer it shows Internet Explorer history files, and sometimes Internet Explorer temporary internet files despite not being online. If I click on Internet Explorer to go onto the internet, I am told I am working offline.
    Thanks. Guesses are welcomed.

    Note that regarding this section:
    The image in the upper left corner was taken after doing one printing of a PDF file. I'm pretty confident AcroRd32.exe. is Adobe Reader. Notice that after running one print Adobe Reader is using about 50 CPU's.
    The image to the right of that was taken after doing two printings of a PDF file. Notice that after running two prints there are two AcroRd32.exe processes using 50 CPU's.
    The image below the other two was taken after doing three or four printings of a PDF file. Notice that after three printings one AcroRd32.exe process is using 50 CPU's and two others are using about 25. After about three printings my computer slows down dramatically, and it keeps getting slower the more prints I do.
    The layout changed when I posted. Therefore, what I mean by the image in the upper left corner is the image at the top. What I mean by the image to the right of that is the image in the middle of the other two. What I mean by the image below the other two is, of course, the image at the bottom.

  • Is Java application slow down computer??

    Hi all,
    I was a newbie in java programming. I wanna make application with java, but some of my friend told me that java application can make u're system run slow cause u have to import all the classes that u need for u're application.
    I wanna ask is java programming is slow down system when I compile and run the application that made u're application that I've made respond slowly?? How to avoid this??
    Thanks for u're help.
    My regrards

    Hi all,
    I was a newbie in java programming. I wanna make
    application with java, but some of my friend told me
    that java application can make u're system run slow
    cause u have to import all the classes that u need
    for u're application.
    I wanna ask is java programming is slow down system
    when I compile and run the application that made u're
    application that I've made respond slowly?? How to
    avoid this??when you do something on your computer resources will be used. if you don't want to use computer resources turn the computer off.
    if you don't want to program in java dont, noone is forcing you. when java runs it will load up a vm and a library for it. that's the way it is. it may take a little longer then the equiv native app, but that's because the native app's vm and so on is ALREADY loaded (it's the OS).
    in summary: deal with it. it's not that bad. there are some very good examples of java desktop apps that work well; azereus being one, i'm sure there are others.

  • Timer Class not accurate and slows down my animation!?

    Does anyknow how why my timer object is not accurate and why it slows down my animation that is also present on my GUI at the same time?
    I have a timer in the form of 0.00 the left of the decimal point should represent a second but it doesnt, run my code and see for yourselves. below is my code if anyone can fix these 2 problems i will be very thankfull:
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.awt.Shape;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import javax.swing.Timer;
    import java.sql.*;
    import java.text.*;
    public class RT extends JFrame implements MouseMotionListener
        //declares a number of swing componets to be used for the JFrame
        private JTextArea infoJTextArea;
        private JPanel showJPanel, startJPanel, helpJPanel, resultsJPanel;
        private JLabel de4JLabel, de3JLabel, mainTitleJLabel, nameJLabel, ageJLabel,
                       deJLabel, de1JLabel, de2JLabel, timeJLabel,nameResultJLabel,
                       ageResultJLabel, timeResultsJLabel, ratingJLabel, coJLabel, shJLabel;
        private JTextField nameJTextField, ageJTextField,nameResultJTextField,
                       ageResultsJTextField, timeResultsJTextField, ratingJTextField;
        private JButton exitJButton, showJButton, loginJButton, startTestJButton,
                        tempObjectJButton;
        private JScrollPane scroll;
    public JComboBox colourJComboBox, sizeJComboBox, shapeJComboBox, speedJComboBox;
    private static Connection dbcon;
    int temp=0;
    private String[] col = { "Red", "Blue", "Green","Yellow","Orange","Black"};
    private String[] shapeA = { "Normal Rectangle", "Normal Circle", "Normal Oval","BIG Rectangle", "BIG Circle","BIG Oval","small rectangle","small circle", "small oval"};
    private String[] speed = { "Fast", "Normal", "Slow"};
    public int checking;
    static int flag, flagshape, flagspeed;
        // creates and sets up a number of varibles to be used by the class
        public long timeLimit = 0;
        DecimalFormat timeDec = new DecimalFormat (":00");
        public int age;
        public String name, shapeChoice="Normal Rectangle(Never selected anything)", colourChoice="Black(Never selected anything)";
        private Timer TimeNow;
        private JTextField timerJTextField;
        ShapeMovingPanel testJPanel;
        Random seed;
        Shape shape;
        Shape[] shapes = {new Rectangle2D.Double(50, 30, 75, 25),new Ellipse2D.Double(175, 125, 50, 50),new Ellipse2D.Double(90, 100, 75, 35),new Rectangle2D.Double(50, 30, 175, 125),new Ellipse2D.Double(175, 125, 125, 125),new Ellipse2D.Double(90, 100, 175, 135),new Rectangle2D.Double(50, 30, 55, 15),new Ellipse2D.Double(175, 125, 20,20),new Ellipse2D.Double(90, 100, 55, 15)};
    //50, 30, 75, 25 change starting point here****************************************
        public RT()            // constructor method
            seed = new Random();
            shape = shapes[0];
            //sets up the Timer
            TimeNow = new Timer((1), new TimerListener());//++++++++++++++++++++++++++timer -17
            createUserInterface();          // method that creates the user interface     
        private void createUserInterface()
            new Thread(new Runnable()
                public void run()
                    String results = "";
                    int count = 0;
                    boolean journeyOn = true;
                    while(journeyOn && count < 3)
                        try
                            Thread.sleep(1000);
                        catch(InterruptedException ie)
                            System.err.println("show interrupt: " + ie.getMessage());
                            journeyOn = false;
                        results += count++ + ", ";
                    try {
                             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                             dbcon = DriverManager.getConnection("jdbc:odbc:CMT3991", "", ""); // Access/ODBC
                          //connection ash used to connect to the user table in access
                           } catch(Exception eee)
                           eee.printStackTrace();  //exception if error occurs during the driver connection
                             System.out.println("* UserDA CONNECTED *");
            }).start();
            Container contentPane = getContentPane();
            contentPane.setLayout( null );
            // set up infoJTextField
            infoJTextArea = new JTextArea();
            infoJTextArea.setBounds( 20, 420, 550, 170  );
            infoJTextArea.setEditable( false);
            infoJTextArea.setText("\n    Welcome to the reaction testing program, this " +
                            "program is designed to test your reactions in a  \n"+
                            "    number of different situations.\n"+"\n    Please " +
                            "enter your name and age, or select show previous results.");
            contentPane.add( infoJTextArea );
            scroll = new JScrollPane(infoJTextArea);
            scroll.setBounds(  20, 420, 550, 170 );
            contentPane.add( scroll );
                  startJPanel = new JPanel();
            startJPanel.setBounds( 16,16, 560, 375 );
            startJPanel.setBorder(
                    new TitledBorder( "WELCOME - PLEASE ENTER YOUR NAME AND AGE:" ) );
            startJPanel.setLayout( null );
            contentPane.add( startJPanel );
            //sets up a JPanel
            mainTitleJLabel = new JLabel();
            mainTitleJLabel.setIcon( new ImageIcon( "title.png" ) );
            mainTitleJLabel.setBounds( 30, 10, 520, 170 );
            mainTitleJLabel.setHorizontalAlignment( JLabel.CENTER );
            startJPanel.add( mainTitleJLabel );
            //creates a newJLabel
            nameJLabel= new JLabel();
            nameJLabel.setBounds( 52, 200, 70, 35 );
            nameJLabel.setText("Name:");
            startJPanel.add( nameJLabel);
            //creates a new JTextField
            nameJTextField = new JTextField();
            nameJTextField.setBounds( 130, 200, 300, 24 );
            startJPanel.add( nameJTextField );
            //creates a newJLabel
            ageJLabel = new JLabel();
            ageJLabel.setBounds( 52, 245, 100, 35 );
            ageJLabel.setText("Age:");
            startJPanel.add( ageJLabel );
            //creates a new JTextField
            ageJTextField = new JTextField();
            ageJTextField.setBounds( 130, 245, 300, 24 );
            startJPanel.add( ageJTextField );
            //creates a JButton
            loginJButton = new JButton();
            loginJButton.setBounds( 440, 200, 90, 24 );
            loginJButton.setText( "Login" );
            loginJButton.setBackground( Color.YELLOW );
            startJPanel.add( loginJButton );
            loginJButton.setEnabled(true);
    //        loginJButton.setVisible(true);
            loginJButton.addActionListener(
                new ActionListener()    // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        // not necessary to pass events to these methods...
                        Login();  // calls the Login method                       
            //creates a JButton
            showJButton = new JButton();
            showJButton.setBounds( 200, 320, 180, 24 );
            showJButton.setText( "Show previous results" );
            showJButton.setBackground( Color.YELLOW );
            startJPanel.add( showJButton );
            showJButton.setEnabled(true);
    //        showJButton.setVisible(true);
            showJButton.addActionListener(
                new ActionListener()    // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        showData();   // calls the showData method                       
            //sets up a JPanel
            showJPanel = new JPanel();
            showJPanel.setBounds( 16,16, 560, 375 );
            showJPanel.setBorder(new TitledBorder( "PREVIOUS RESULTS:" ) );
            showJPanel.setLayout( null );
            contentPane.add( showJPanel );
            //sets up a JPanel
            helpJPanel = new JPanel();
            helpJPanel.setBounds( 16,16, 560, 375 );
            helpJPanel.setBorder(
            new TitledBorder( "CHOOSE A NUMBER OF OPTIONS AND GET READY:" ) );
            helpJPanel.setLayout( null );
            helpJPanel.setVisible(false);
            contentPane.add( helpJPanel );
            //creates a newJLabel
            deJLabel= new JLabel();
            deJLabel.setBounds( 23, 390, 530, 35 );
            deJLabel.setText("Details:");
            contentPane.add( deJLabel);
            //creates a newJLabel
            coJLabel= new JLabel();
            coJLabel.setBounds( 70, 40, 530, 35 );
            coJLabel.setText("Choose a colour:");
            helpJPanel.add( coJLabel);
            //creates a newJLabel
            de1JLabel= new JLabel();
            de1JLabel.setBounds( 25, 100, 530, 35 );
            de1JLabel.setText("You are about to start the reaction test, when you " +
                              "press the start button it will begin.");
            helpJPanel.add( de1JLabel);
            //creates a newJLabel
            de1JLabel= new JLabel();
            de1JLabel.setBounds(160, 145, 530, 35 );
            de1JLabel.setText("Simply catch the moving item and click.");
            helpJPanel.add( de1JLabel);
            colourJComboBox = new JComboBox( col );
               colourJComboBox.setBounds( 70, 70, 135, 21 );
               colourJComboBox.setMaximumRowCount( 3 );
               helpJPanel.add( colourJComboBox );
              colourJComboBox.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                         colourChoice="Black";
                         int x = colourJComboBox.getSelectedIndex();
                        if( x  == 0)
                             flag = 1;
                             colourChoice="Red";
                        else if(x  == 1)
                             flag = 2;
                             colourChoice="Blue";
                        else if(x  == 2)
                             flag = 3;
                                colourChoice="Green";
                         else if(x  == 3)
                             flag = 4;
                                colourChoice="Yellow";
                         else if(x  == 4)
                             flag = 5;
                                colourChoice="Orange";
                           else if(x  == 5)
                             flag = 6;
                                colourChoice="Black";
            shJLabel= new JLabel();
            shJLabel.setBounds( 340, 40, 530, 35 );
            shJLabel.setText("Choose a shape and size:");
            helpJPanel.add( shJLabel);
            shapeJComboBox = new JComboBox( shapeA );
               shapeJComboBox.setBounds( 340, 70, 135, 21 );
               shapeJComboBox.setMaximumRowCount( 3 );
               helpJPanel.add( shapeJComboBox );
              shapeJComboBox.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                          int xshape = shapeJComboBox.getSelectedIndex();
                        //shapeChoice="Normal Rectangle";
                        if( xshape  == 0)
                        {     flagshape = 1;
                             shapeChoice="Normal Rectangle";
                        else if(xshape  == 1)
                        {     flagshape = 2;
                             shapeChoice="Normal Circle";
                        else if(xshape  == 2)//**********here
                        {     flagshape = 3;
                             shapeChoice="Normal Oval";
                        else if(xshape  == 3)
                        {     flagshape = 4;
                             shapeChoice="BIG Rectangle";
                        else if(xshape  == 4)
                       {      flagshape = 5;
                             shapeChoice="BIG Circle";
                        else if(xshape  == 5)
                     {        flagshape = 6;
                             shapeChoice="BIG Oval";
                        else if(xshape  == 6)
                             flagshape = 7;
                             shapeChoice="small rectangle";
                        else if(xshape  == 7)
                     {        flagshape = 8;
                             shapeChoice="small circle";
                        else if(xshape  == 8)
                     {        flagshape = 9;
                             shapeChoice="small oval";
          /*  speedJComboBox = new JComboBox( speed );
               speedJComboBox.setBounds( 10, 150, 135, 21 );
               speedJComboBox.setMaximumRowCount( 3 );
               helpJPanel.add( speedJComboBox );
              speedJComboBox.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                          int xspeed = speedJComboBox.getSelectedIndex();
                        if( xspeed  == 0)
                             flagspeed = 1;
                             else if(xspeed  == 1)
                             flagspeed = 2;
                             else
                             flagspeed = 3;
                        System.out.println(flagspeed);     
            //creates a newJLabel
            de2JLabel= new JLabel();
            de2JLabel.setBounds( 20, 380, 70, 35 );
            de2JLabel.setText("Details:");
            helpJPanel.add( de2JLabel);
            //creates a JButton
            startTestJButton = new JButton();
            startTestJButton.setBounds( 185, 205, 180, 60 );
            startTestJButton.setText( "START" );
            startTestJButton.setBackground( Color.YELLOW );
            helpJPanel.add( startTestJButton );
            startTestJButton.setEnabled(true);
    //        startTestJButton.setVisible(true);
            startTestJButton.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        startTest();
            //sets up an animation panel
            testJPanel = new ShapeMovingPanel(this);
            testJPanel.setBounds( 16,16, 560, 375 );
            testJPanel.setBorder(new TitledBorder("Click the moving object:"));
            testJPanel.setLayout( null );
            testJPanel.setVisible(false);
            contentPane.add( testJPanel );
            testJPanel.addMouseMotionListener(this);
            //creates a newJLabel
            timeJLabel = new JLabel();
            timeJLabel.setBounds( 440, 330, 100, 35 );
            timeJLabel.setText("Time:");
            testJPanel.add( timeJLabel );
            //creates a new JTextField
            timerJTextField = new JTextField();
            timerJTextField.setBounds( 480, 335, 60, 24 );
            timerJTextField.setText(String.valueOf(timeLimit));
            timerJTextField.setHorizontalAlignment(JTextField.CENTER );
            timerJTextField.setEditable(false);
            timerJTextField.setBackground( Color.YELLOW );
            testJPanel.add( timerJTextField );
            resultsJPanel = new JPanel();
            resultsJPanel.setBounds( 16,16, 560, 375 );
            resultsJPanel.setBorder(new TitledBorder("HERE ARE YOUR RESULTS:"));
            resultsJPanel.setLayout( null );
            resultsJPanel.setVisible(false);
            contentPane.add( resultsJPanel );
            de3JLabel= new JLabel();
            de3JLabel.setBounds(20, 200, 530, 35 );
            de3JLabel.setText("Below is also the movements you made with your mouse, " +
                              "you may exit the program now.");
            resultsJPanel.add( de3JLabel);
            de4JLabel= new JLabel();
            de4JLabel.setBounds(135, 245, 530, 35 );
            de4JLabel.setText("Thank you for trying the Reaction Testing program");
            resultsJPanel.add( de4JLabel);
            //creates a newJLabel
            nameResultJLabel= new JLabel();
            nameResultJLabel.setBounds( 62, 55, 50, 35 );
            nameResultJLabel.setText("Name:");
            resultsJPanel.add( nameResultJLabel);
            //creates a new JTextField
            nameResultJTextField = new JTextField();
            nameResultJTextField.setBounds( 140, 55, 300, 24 );
            resultsJPanel.add( nameResultJTextField );
            nameResultJTextField.setEditable(false);
            //creates a newJLabel
            ageResultJLabel = new JLabel();
            ageResultJLabel.setBounds( 62, 90, 100, 35 );
            ageResultJLabel.setText("Age:");
            resultsJPanel.add( ageResultJLabel );
            //creates a new JTextField
            ageResultsJTextField = new JTextField();
            ageResultsJTextField.setBounds( 140, 90, 300, 24 );
            resultsJPanel.add( ageResultsJTextField );
            ageResultsJTextField.setEditable(false);
            //creates a newJLabel
            timeResultsJLabel = new JLabel();
            timeResultsJLabel.setBounds( 62, 125, 100, 35 );
            timeResultsJLabel.setText("Time taken:");
            resultsJPanel.add( timeResultsJLabel );
            //creates a new JTextField
            timeResultsJTextField = new JTextField();
            timeResultsJTextField.setBounds( 140, 125, 300, 24 );
            resultsJPanel.add( timeResultsJTextField );
            timeResultsJTextField.setEditable(false);
            //creates a newJLabel
            ratingJLabel = new JLabel();
            ratingJLabel.setBounds( 62, 160, 100, 35 );
            ratingJLabel.setText("Your Rating:");
            resultsJPanel.add( ratingJLabel );
            ratingJTextField = new JTextField();
            ratingJTextField.setBounds( 140, 160, 300, 24 );
            resultsJPanel.add( ratingJTextField );
            ratingJTextField.setEditable(false);
            //creates a JButton
            exitJButton = new JButton();
            exitJButton.setBounds( 235, 310, 90, 24 );
            exitJButton.setText( "Exit" );
            exitJButton.setBackground( Color.WHITE );
            resultsJPanel.add( exitJButton );
            exitJButton.setEnabled(true);
            exitJButton.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when exitJButton is pressed
                    public void actionPerformed( ActionEvent event )
                        System.exit(0); //closes the programme
            }); // end anonymous inner class
            addWindowListener(new WindowAdapter()
                public void windowClosing(WindowEvent e)
                    System.exit(0);
            // set properties of application's window
            setTitle( "Reaction Tester - CMT3991" ); // set JFrame's title bar string
            //setSize( 1280,995 );    // set width and height of JFrame
            setSize( 608, 650 );         // set width and height of JFrame
            setVisible( true );       // display JFrame on screen
        //** set up of method main */
        public static void main( String[] args )
            RT application = new RT();
            application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        } // end method main
         * action listener for TimeNow Timer
        private class TimerListener implements ActionListener
            public void actionPerformed(ActionEvent event)
                timeLimit ++;          
                if (timeLimit==100)
                     temp++;
                     timeLimit=0;
                timerJTextField.setText(String.valueOf(temp +""+timeDec.format(timeLimit)));
        private void Login()
            try
                name = nameJTextField.getText();
                age = Integer.parseInt(ageJTextField.getText());
                startJPanel.setVisible(false);
                showJPanel.setVisible(false);
                helpJPanel.setVisible(true);
                infoJTextArea.setText("\n    Welcome "+name+" you will soon know how " +
                                      "fast your reactions are.");
            catch (NumberFormatException exception)
                JOptionPane.showMessageDialog(this,
                        "There is either a blank field or a number hasn't been entered",
                        "Input Type error", JOptionPane.ERROR_MESSAGE);
                //shows this is something has been entered wrong
        private void startTest()
            helpJPanel.setVisible(false);
          //  System.out.println(""+ seed.nextInt(shapes.length));
            //shape = shapes[seed.nextInt(shapes.length)];//****************************
            if (flagshape==1)
                 shape = shapes[0];// changed colour here***************************
            else if (flagshape==2)
                 shape = shapes[1];// changed colour here***************************
            else if (flagshape==3)
                 shape = shapes[2];// changed colour here***************************
           else if (flagshape==4)
                 shape = shapes[3];// changed colour here***************************
             else if (flagshape==5)
                 shape = shapes[4];// changed colour here***************************
            else if (flagshape==6)
                 shape = shapes[5];// changed colour here***************************
            else if (flagshape==7)
                 shape = shapes[6];// changed colour here***************************
            else if (flagshape==8)
                 shape = shapes[7];// changed colour here***************************
            else if (flagshape==9)
                 shape = shapes[8];// changed colour here***************************
           // shape = shapes[8];
            System.out.println(shape.toString());
            testJPanel.setShape(shape);
            testJPanel.setVisible(true);
            testJPanel.start();
            infoJTextArea.setText("");
            TimeNow.start();
         * called by animation panel after shape is clicked
        public void stop()
            TimeNow.stop();
            movingObject();
         * this will compete with your animation
         * ie, it will slow it down or make it appear jerky
        public void mouseMoved(MouseEvent e)
            saySomething("\n    Mouse moved", e);
        public void mouseDragged(MouseEvent e)
            saySomething("\n    Mouse dragged", e);
        void saySomething(String eventDescription, MouseEvent e)
            infoJTextArea.append(eventDescription
                         + " (" + e.getX() + "," + e.getY() + ")");
            infoJTextArea.setCaretPosition(infoJTextArea.getDocument().getLength());
        private void movingObject()
            TimeNow.stop();
            //timeLimit;
            testJPanel.setVisible(false);
            resultsJPanel.setVisible(true);
            nameResultJTextField.setText(name);
            ageResultsJTextField.setText(String.valueOf(age)+" years old");
    System.out.println("shape used: "+shapeChoice);
            String mouse = infoJTextArea.getText();
            String tick = timerJTextField.getText();
            timeResultsJTextField.setText(tick);
            try
                // create a file called welch.txt
                final FileWriter outputFile = new FileWriter("Backup_of_"+name+"s_results.txt", true);
                final BufferedWriter outputBuffer = new BufferedWriter(outputFile);
                // converts data to a formatted string
                final PrintWriter printstream = new PrintWriter(outputBuffer);
                printstream.println("THIS IS A BACKUP");
                printstream.println("The person's name is: "+name);
                printstream.println("There age is: "+age);
                printstream.println("Time taken: "+tick+" seconds");
                printstream.println("The Shape and size was: "+shapeChoice);
                printstream.println("It's colour was: "+colourChoice);
                printstream.println("The mouse moved as follows: "+mouse);
                //states what needs to be printed to the new file
                printstream.close(); // closes teh printstream
            catch(IOException eio)
                //catchs the IO exception
            if(temp<5.00)
                ratingJTextField.setText("Thierry Henry");     
            else if(timeLimit<=10)
                ratingJTextField.setText("Average");     
            else if(timeLimit<=15)
                ratingJTextField.setText("You gotta be fat or something");     
            else if(timeLimit<=20)
                ratingJTextField.setText("See a doctor");
            else if(timeLimit>20)
                ratingJTextField.setText("DO YOU KNOW WHAT YOU DOING!?");
            String rate=ratingJTextField.getText();
            try
                   Statement st = dbcon.createStatement();
                   String cmd = "INSERT INTO users (Name, Age, Time_Taken, Rating, Mouse_Movement,Shape_and_Size, Shape_Colour) VALUES ('" + name + "' , " + age + " , '" + tick + "' , '" + rate+"','"+ mouse+"','"+ shapeChoice+"','"+ colourChoice+"');";
                //creates a SQL statement and executes it
                st.executeUpdate(cmd);
                   st.close();//close the statement
              } catch (Exception eDA)
                   eDA.printStackTrace();
        private void showData()
            // pretend this takes awhile -> 3 seconds (count)
            new Thread(new Runnable()
                public void run()
                    String results = "";
                    int count = 0;
                    boolean journeyOn = true;
                    while(journeyOn && count < 3)
                        try
                            Thread.sleep(1000);
                        catch(InterruptedException ie)
                            System.err.println("show interrupt: " + ie.getMessage());
                            journeyOn = false;
                        results += count++ + ", ";
                    infoJTextArea.setText("Here are your results:\n"+results);
                    startJPanel.setVisible(false);
                    showJPanel.setVisible(true);
            }).start();
    class ShapeMovingPanel extends JPanel implements ActionListener
        RT host;
        Timer timer;
        Shape shape, xformed;
        int x, y, dx, dy;
        public ShapeMovingPanel(RT rt)
            timer = new Timer(-20, this);     
            host = rt;
        /*    if (rt.flagspeed==1)
            timer = new Timer(-20, this);
            else if (rt.flagspeed==2)
                timer = new Timer(20, this);
            else if (rt.flagspeed==3)
            timer = new Timer(100, this);
            //change speed here******************************
            x = 0;//0
            y = 0;//0
            dx =2;//2
            dy = 3;//3
            //setBackground(Color.pink);
            addMouseListener(new ShapeTender());
        public void actionPerformed(ActionEvent e)
            int w = getWidth();
            int h = getHeight();
            if(w <= 0 || h <= 0)
                return;
            checkBoundries(w,h);
            x += dx;
            y += dy;
            repaint();
        private void checkBoundries(int w, int h)
            Rectangle r = xformed.getBounds();
            Insets insets = getInsets();
            if(r.x + dx < insets.left || r.x + r.width + dx > w - insets.right)
                dx *= -1;
            if(r.y + dy < insets.top || r.y + r.height + dy > h - insets.bottom)
                dy *= -1;
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            AffineTransform at = AffineTransform.getTranslateInstance(x, y);
            if (RT.flag==1)
            {g2.setPaint(Color.red);// changed colour here***************************
            else if (RT.flag==2)
            {g2.setPaint(Color.blue);// changed colour here***************************
            else if (RT.flag==3)
            {g2.setPaint(Color.green);// changed colour here***************************
            else if (RT.flag==4)
            {g2.setPaint(Color.yellow);// changed colour here***************************
            else if (RT.flag==5)
            {g2.setPaint(Color.orange);// changed colour here***************************
            else if (RT.flag==6)
            {g2.setPaint(Color.black);// changed colour here***************************
            xfo                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

    I'm (being lazy and) using the older RT app posted on your last thread. I removed the
    TimeNow timer from the RT class and used System.currentTimeMillis (as you requested) to
    determine the elapsed time during the animation (see "startTest", "stop" and
    "movingObject" methods). Also changed the DecimalFormat to NumberFormat and set the
    "maximumFractionDigits" to "2" so it will truncate the fraction to two digits (more simple
    than before). Made arrangements for the ShapeMovingPanel class to update the
    "timerJTextField" during the animation (RT.updateTime method).
    The MouseMotionListener is causing the animation to appear jerky and uneven. The
    "mouseMoved" method is very busy while the mouse is moving. You might consider recording
    the "mousePressed" events instead of the "mouseMoved" events, ie, the events where the user
    is attempting to click inside the moving shape. It would allow the app to be more
    responsive and might eliminate the uneven motion of the animating shape.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.io.*;
    import java.text.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import javax.swing.Timer;
    public class RT extends JFrame implements MouseMotionListener
        //declares a number of swing componets to be used for the JFrame
        private JTextArea infoJTextArea;
        private JPanel showJPanel, startJPanel, helpJPanel, resultsJPanel;
        private JLabel de4JLabel, de3JLabel, mainTitleJLabel, nameJLabel, ageJLabel,
                       deJLabel, de1JLabel, de2JLabel, timeJLabel,nameResultJLabel,
                       ageResultJLabel, timeResultsJLabel, ratingJLabel;
        private JTextField nameJTextField, ageJTextField,nameResultJTextField,
                       ageResultsJTextField, timeResultsJTextField, ratingJTextField;
        private JButton exitJButton, showJButton, loginJButton, startTestJButton,
                        tempObjectJButton;
        private JScrollPane scroll;;
        // creates and sets up a number of varibles to be used by the class
        private long startTime;
        private long endTime;
        public int timeLimit = 0;
        public int age;
        public String name;
        private JTextField timerJTextField;
        ShapeMovingPanel testJPanel;
        NumberFormat timeDec;
        Random seed;
        Shape shape;
        Shape[] shapes = {
            new Rectangle2D.Double(50, 30, 75, 25),
            new Ellipse2D.Double(175, 125, 50, 50),
            new Ellipse2D.Double(90, 100, 75, 35)
        public RT()
            timeDec = NumberFormat.getInstance();
            timeDec.setMaximumFractionDigits(2);
            seed = new Random();
            shape = shapes[0];
            createUserInterface();
        private void createUserInterface()
            Container contentPane = getContentPane();
            contentPane.setLayout( null );
            // set up infoJTextField
            infoJTextArea = new JTextArea();
            infoJTextArea.setBounds( 20, 420, 550, 170  );
            infoJTextArea.setEditable( false);
            infoJTextArea.setText("\n    Welcome to the reaction testing program, this " +
                            "program is designed to test your reactions in a  \n"+
                            "    number of different situations.\n"+"\n    Please " +
                            "enter your name and age, or select show previous results.");
            contentPane.add( infoJTextArea );
            scroll = new JScrollPane(infoJTextArea);
            scroll.setBounds(  20, 420, 550, 170 );
            contentPane.add( scroll );
              startJPanel = new JPanel();
            startJPanel.setBounds( 16,16, 560, 375 );
            startJPanel.setBorder(
                    new TitledBorder( "WELCOME -PLEASE ENTER YOUR NAME AND AGE:" ) );
            startJPanel.setLayout( null );
            contentPane.add( startJPanel );
            //sets up a JPanel
            mainTitleJLabel = new JLabel();
            mainTitleJLabel.setIcon( new ImageIcon( "title.png" ) );
            mainTitleJLabel.setBounds( 30, 10, 520, 170 );
            mainTitleJLabel.setHorizontalAlignment( JLabel.CENTER );
            startJPanel.add( mainTitleJLabel );
            //creates a newJLabel
            nameJLabel= new JLabel();
            nameJLabel.setBounds( 52, 200, 70, 35 );
            nameJLabel.setText("Name:");
            startJPanel.add( nameJLabel);
            //creates a new JTextField
            nameJTextField = new JTextField();
            nameJTextField.setBounds( 130, 200, 300, 24 );
            startJPanel.add( nameJTextField );
            //creates a newJLabel
            ageJLabel = new JLabel();
            ageJLabel.setBounds( 52, 245, 100, 35 );
            ageJLabel.setText("Age:");
            startJPanel.add( ageJLabel );
            //creates a new JTextField
            ageJTextField = new JTextField();
            ageJTextField.setBounds( 130, 245, 300, 24 );
            startJPanel.add( ageJTextField );
            //creates a JButton
            loginJButton = new JButton();
            loginJButton.setBounds( 440, 200, 90, 24 );
            loginJButton.setText( "Login" );
            loginJButton.setBackground( Color.YELLOW );
            startJPanel.add( loginJButton );
            loginJButton.setEnabled(true);
            loginJButton.addActionListener(
                new ActionListener()    // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        // not necessary to pass events to these methods...
                        Login();  // calls the Login method                       
            //creates a JButton
            showJButton = new JButton();
            showJButton.setBounds( 200, 320, 180, 24 );
            showJButton.setText( "Show previous results" );
            showJButton.setBackground( Color.YELLOW );
            startJPanel.add( showJButton );
            showJButton.setEnabled(true);
            showJButton.addActionListener(
                new ActionListener()    // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        showData();   // calls the showData method                       
            //sets up a JPanel
            showJPanel = new JPanel();
            showJPanel.setBounds( 16,16, 560, 375 );
            showJPanel.setBorder(new TitledBorder( "PREVIOUS RESULTS:" ) );
            showJPanel.setLayout( null );
            contentPane.add( showJPanel );
            //sets up a JPanel
            helpJPanel = new JPanel();
            helpJPanel.setBounds( 16,16, 560, 375 );
            helpJPanel.setBorder(
            new TitledBorder( "HELP DETAILS:" ) );
            helpJPanel.setLayout( null );
            helpJPanel.setVisible(false);
            contentPane.add( helpJPanel );
            //creates a newJLabel
            deJLabel= new JLabel();
            deJLabel.setBounds( 23, 390, 530, 35 );
            deJLabel.setText("Details:");
            contentPane.add( deJLabel);
            //creates a newJLabel
            de1JLabel= new JLabel();
            de1JLabel.setBounds( 25, 100, 530, 35 );
            de1JLabel.setText("You are about to start the reaction test, when you " +
                              "press the start button it will begin.");
            helpJPanel.add( de1JLabel);
            //creates a newJLabel
            de1JLabel= new JLabel();
            de1JLabel.setBounds(160, 145, 530, 35 );
            de1JLabel.setText("Simply catch the moving item and click.");
            helpJPanel.add( de1JLabel);
            //creates a newJLabel
            de2JLabel= new JLabel();
            de2JLabel.setBounds( 20, 380, 70, 35 );
            de2JLabel.setText("Details:");
            helpJPanel.add( de2JLabel);
            //creates a JButton
            startTestJButton = new JButton();
            startTestJButton.setBounds( 185, 205, 180, 60 );
            startTestJButton.setText( "START" );
            startTestJButton.setBackground( Color.YELLOW );
            helpJPanel.add( startTestJButton );
            startTestJButton.setEnabled(true);
            startTestJButton.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when search is pressed
                    public void actionPerformed( ActionEvent event )
                        startTest();
            //sets up an animation panel
            testJPanel = new ShapeMovingPanel(this);
            testJPanel.setBounds( 16,16, 560, 375 );
            testJPanel.setBorder(new TitledBorder("Click the moving object:"));
            testJPanel.setLayout( null );
            testJPanel.setVisible(false);
            contentPane.add( testJPanel );
    // this is causing the animation to appear uneven
    // you can try the app with and without this to see
    //        testJPanel.addMouseMotionListener(this);
            //creates a newJLabel
            timeJLabel = new JLabel();
            timeJLabel.setBounds( 440, 330, 100, 35 );
            timeJLabel.setText("Time:");
            testJPanel.add( timeJLabel );
            //creates a new JTextField
            timerJTextField = new JTextField();
            timerJTextField.setBounds( 480, 335, 60, 24 );
            timerJTextField.setText(String.valueOf(timeLimit));
            timerJTextField.setHorizontalAlignment(JTextField.CENTER );
            timerJTextField.setEditable(false);
            timerJTextField.setBackground( Color.YELLOW );
            testJPanel.add( timerJTextField );
            resultsJPanel = new JPanel();
            resultsJPanel.setBounds( 16,16, 560, 375 );
            resultsJPanel.setBorder(new TitledBorder("HERE ARE YOUR RESULTS:"));
            resultsJPanel.setLayout( null );
            resultsJPanel.setVisible(false);
            contentPane.add( resultsJPanel );
            de3JLabel= new JLabel();
            de3JLabel.setBounds(20, 200, 530, 35 );
            de3JLabel.setText("Below is also the movements you made with your mouse, " +
                              "you may exit the program now.");
            resultsJPanel.add( de3JLabel);
            de4JLabel= new JLabel();
            de4JLabel.setBounds(135, 245, 530, 35 );
            de4JLabel.setText("Thank you for trying the Reaction Testing program");
            resultsJPanel.add( de4JLabel);
            //creates a newJLabel
            nameResultJLabel= new JLabel();
            nameResultJLabel.setBounds( 62, 55, 50, 35 );
            nameResultJLabel.setText("Name:");
            resultsJPanel.add( nameResultJLabel);
            //creates a new JTextField
            nameResultJTextField = new JTextField();
            nameResultJTextField.setBounds( 140, 55, 300, 24 );
            resultsJPanel.add( nameResultJTextField );
            nameResultJTextField.setEditable(false);
            //creates a newJLabel
            ageResultJLabel = new JLabel();
            ageResultJLabel.setBounds( 62, 90, 100, 35 );
            ageResultJLabel.setText("Age:");
            resultsJPanel.add( ageResultJLabel );
            //creates a new JTextField
            ageResultsJTextField = new JTextField();
            ageResultsJTextField.setBounds( 140, 90, 300, 24 );
            resultsJPanel.add( ageResultsJTextField );
            ageResultsJTextField.setEditable(false);
            //creates a newJLabel
            timeResultsJLabel = new JLabel();
            timeResultsJLabel.setBounds( 62, 125, 100, 35 );
            timeResultsJLabel.setText("Time taken:");
            resultsJPanel.add( timeResultsJLabel );
            //creates a new JTextField
            timeResultsJTextField = new JTextField();
            timeResultsJTextField.setBounds( 140, 125, 300, 24 );
            resultsJPanel.add( timeResultsJTextField );
            timeResultsJTextField.setEditable(false);
            //creates a newJLabel
            ratingJLabel = new JLabel();
            ratingJLabel.setBounds( 62, 160, 100, 35 );
            ratingJLabel.setText("Your Rating:");
            resultsJPanel.add( ratingJLabel );
            ratingJTextField = new JTextField();
            ratingJTextField.setBounds( 140, 160, 300, 24 );
            resultsJPanel.add( ratingJTextField );
            ratingJTextField.setEditable(false);
            //creates a JButton
            exitJButton = new JButton();
            exitJButton.setBounds( 235, 310, 90, 24 );
            exitJButton.setText( "Exit" );
            exitJButton.setBackground( Color.WHITE );
            resultsJPanel.add( exitJButton );
            exitJButton.setEnabled(true);
            exitJButton.addActionListener(
                new ActionListener() // adds an action listener,anonymous inner class
                    // event handler called when exitJButton is pressed
                    public void actionPerformed( ActionEvent event )
                        System.exit(0); //closes the programme
            }); // end anonymous inner class
            addWindowListener(new WindowAdapter()
                public void windowClosing(WindowEvent e)
                    System.exit(0);
            // set properties of application's window
            setTitle( "Reaction Tester - CMT3991" ); // set JFrame's title bar string
            //setSize( 1280,995 );    // set width and height of JFrame
            setSize( 608, 650 );         // set width and height of JFrame
            setVisible( true );       // display JFrame on screen
        //** set up of method main */
        public static void main( String[] args )
            RT application = new RT();
            application.setDefaultCloseOperation( EXIT_ON_CLOSE );
        } // end method main
        private void Login()
            try
                name = nameJTextField.getText();
                age = Integer.parseInt(ageJTextField.getText());
                startJPanel.setVisible(false);
                showJPanel.setVisible(false);
                helpJPanel.setVisible(true);
                infoJTextArea.setText("\n    Welcome "+name+" you will soon know how " +
                                      "fast your reactions are");
            catch (NumberFormatException exception)
                JOptionPane.showMessageDialog(this,
                        "There is either a blank field or a number hasn't been entered",
                        "Input Type error", JOptionPane.ERROR_MESSAGE);
                //shows this is something has been entered wrong
        private void startTest()
            helpJPanel.setVisible(false);
            shape = shapes[seed.nextInt(shapes.length)];
            testJPanel.setShape(shape);
            testJPanel.setVisible(true);
            testJPanel.start();
            startTime = System.currentTimeMillis();
            infoJTextArea.setText("");
         * called by animation panel after shape is clicked
        public void stop()
            endTime = System.currentTimeMillis();
            movingObject();
         * called by timer actionPerformed in ShapeMovingPanel
        public void updateTime()
            long timeNow = System.currentTimeMillis();
            double elapsed = (timeNow - startTime)/1000.0;
            timerJTextField.setText(timeDec.format(elapsed));
         * this will compete with your animation
         * ie, it will slow it down or make it appear jerky
        public void mouseMoved(MouseEvent e)
            saySomething("\n    Mouse moved", e);
        public void mouseDragged(MouseEvent e)
            saySomething("\n    Mouse dragged", e);
        void saySomething(String eventDescription, MouseEvent e)
            infoJTextArea.append(eventDescription
                         + " (" + e.getX() + "," + e.getY() + ")");
            infoJTextArea.setCaretPosition(infoJTextArea.getDocument().getLength());
        private void movingObject()
            testJPanel.setVisible(false);
            resultsJPanel.setVisible(true);
            nameResultJTextField.setText(name);
            ageResultsJTextField.setText(String.valueOf(age)+" years old");
            double elapsedTime = (endTime - startTime)/1000.0;
            timeLimit = (int)elapsedTime;
            timeResultsJTextField.setText(timeDec.format(elapsedTime)+" seconds");
            String mouse = infoJTextArea.getText();
            String tick = timeDec.format(elapsedTime);
            try
                // create a file called welch.txt
                final FileWriter outputFile = new FileWriter(name+".txt", true);
                final BufferedWriter outputBuffer = new BufferedWriter(outputFile);
                // converts data to a formatted string
                final PrintWriter printstream = new PrintWriter(outputBuffer);
                printstream.println("The person's name is: "+name);
                printstream.println("There age is: "+age);
                printstream.println("Time taken: "+tick+" seconds");
                printstream.println("The mouse moved as follows: "+mouse);
                //states what needs to be printed to the new file
                printstream.close(); // closes teh printstream
            catch(IOException eio)
                //catchs the IO exception
            if(timeLimit<5)
                ratingJTextField.setText("Thierry Henry");     
            if(timeLimit>5)
                ratingJTextField.setText("Average");     
            if(timeLimit>10)
                ratingJTextField.setText("You gotta be fat or something");     
            if(timeLimit>20)
                ratingJTextField.setText("See a doctor");
            String rate=ratingJTextField.getText();
        private void showData()
    //        String results = "";
    //        infoJTextArea.setText("Here are your results:\n"+results);
            startJPanel.setVisible(false);
            showJPanel.setVisible(true);
    class ShapeMovingPanel extends JPanel implements ActionListener
        RT host;
        Timer timer;
        Shape shape, xformed;
        int x, y, dx, dy;
        public ShapeMovingPanel(RT rt)
            host = rt;
            timer = new Timer(25, this);
            x = 0;
            y = 0;
            dx = 2;
            dy = 3;
            setBackground(Color.pink);
            addMouseListener(new ShapeTender());
        public void actionPerformed(ActionEvent e)
            int w = getWidth();
            int h = getHeight();
            if(w <= 0 || h <= 0)
                return;
            checkBoundries(w,h);
            x += dx;
            y += dy;
            repaint();
            // update RT.timerJTextField
            host.updateTime();
        private void checkBoundries(int w, int h)
            Rectangle r = xformed.getBounds();
            Insets insets = getInsets();
            if(r.x + dx < insets.left || r.x + r.width + dx > w - insets.right)
                dx *= -1;
            if(r.y + dy < insets.top || r.y + r.height + dy > h - insets.bottom)
                dy *= -1;
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            AffineTransform at = AffineTransform.getTranslateInstance(x, y);
            g2.setPaint(Color.red);
            xformed = at.createTransformedShape(shape);
            g2.draw(xformed);
        public void start()
            if(!timer.isRunning())
                timer.start();
        public void setShape(Shape s)
            shape = s;
            Rectangle r = shape.getBounds();
            x = r.x;
            y = r.y;
            repaint();
        private class ShapeTender extends MouseAdapter
            public void mousePressed(MouseEvent e)
                if(xformed.contains(e.getPoint()))
                    timer.stop();
                    host.stop();
    }

  • Why did Mavericks slow down my MBP?

    Did some digging in Discussions and found that a slow-down problem is common after installing Mavericks.
    EtreCheck was recommended as a diagnostic first step. I have  a report but I am not confident to act on any items without advice. Here it is - help appreciated.
    Bruce
    Hardware Information:
              MacBook Pro (13-inch, Mid 2009)
              MacBook Pro - model: MacBookPro5,5
              1 2.53 GHz Intel Core 2 Duo CPU: 2 cores
              4 GB RAM
    Video Information:
              NVIDIA GeForce 9400M - VRAM: 256 MB
    System Software:
              OS X 10.9.2 (13C64) - Uptime: 1 day 4:11:20
    Disk Information:
              TOSHIBA MK5065GSXF disk0 : (500.11 GB)
                        EFI (disk0s1) <not mounted>: 209.7 MB
                        Iceberg HD (disk0s2) / [Startup]: 499.25 GB (252.87 GB free)
                        Recovery HD (disk0s3) <not mounted>: 650 MB
              MATSHITADVD-R   UJ-868 
    USB Information:
              Apple Inc. Built-in iSight
              Mitsumi Electric Hub in Apple Extended USB Keyboard
                        Mitsumi Electric Apple Extended USB Keyboard
              hp psc 1310 series 
              Apple Computer, Inc. Apple Cinema Display
              Apple Internal Memory Card Reader
              Apple Inc. Apple Internal Keyboard / Trackpad
              Apple Computer, Inc. IR Receiver
              Apple Inc. BRCM2046 Hub
                        Apple Inc. Bluetooth USB Host Controller
    FireWire Information:
    Thunderbolt Information:
    Startup Items:
              CiscoVPN: Path: /System/Library/StartupItems/CiscoVPN
              AdobeVersionCue: Path: /Library/StartupItems/AdobeVersionCue
              KeyAccess: Path: /Library/StartupItems/KeyAccess
    Launch Daemons:
              [System] com.adobe.fpsaud.plist 3rd-Party support link
              [System] com.adobe.versioncueCS3.plist 3rd-Party support link
              [invalid] com.bjango.istatlocaldaemon.plist
              [System] com.google.keystone.daemon.plist 3rd-Party support link
              [System] com.oracle.java.JavaUpdateHelper.plist 3rd-Party support link
              [System] com.sassafras.KeyAccess.plist 3rd-Party support link
    Launch Agents:
              [System] com.bjango.istatlocal.plist 3rd-Party support link
              [System] com.google.keystone.agent.plist 3rd-Party support link
              [System] com.hp.messagecenter.launcher.plist 3rd-Party support link
    User Launch Agents:
              [not loaded] com.adobe.ARM.[...].plist 3rd-Party support link
              [not loaded] com.adobe.ARM.[...].plist 3rd-Party support link
              [not loaded] com.akamai.single-user-client.plist 3rd-Party support link
    User Login Items:
              Microsoft Database Daemon
              Google Drive
              Dropbox
              KeyAccess
              Director Docker
              HP Product Research
              HP Scheduler
    Internet Plug-ins:
              Google Earth Web Plug-in: Version: 6.1 3rd-Party support link
              Default Browser: Version: 537 - SDK 10.9
              Flip4Mac WMV Plugin: Version: 2.4.2.4 3rd-Party support link
              OfficeLiveBrowserPlugin: Version: 12.3.6 3rd-Party support link
              RhapsodyPlayerEngine: Version: 1.0.2 3rd-Party support link
              AdobePDFViewerNPAPI: Version: 11.0.03 - SDK 10.6 3rd-Party support link
              FlashPlayer-10.6: Version: 12.0.0.77 - SDK 10.6 3rd-Party support link
              Silverlight: Version: 5.1.20913.0 - SDK 10.6 3rd-Party support link
              Flash Player: Version: 12.0.0.77 - SDK 10.6 3rd-Party support link
              iPhotoPhotocast: Version: 7.0 - SDK 10.7
              QuickTime Plugin: Version: 7.7.3
              AdobePDFViewer: Version: 11.0.03 - SDK 10.6 3rd-Party support link
              CANONiMAGEGATEWAYDL: Version: 3.1.0.2 3rd-Party support link
              GarminGpsControl: Version: 4.0.4.0 Release - SDK 10.6 3rd-Party support link
              DirectorShockwave: Version: 11.5.7r609 3rd-Party support link
    Audio Plug-ins:
              BluetoothAudioPlugIn: Version: 1.0 - SDK 10.9
              AirPlay: Version: 2.0 - SDK 10.9
              AppleAVBAudio: Version: 203.2 - SDK 10.9
              iSightAudio: Version: 7.7.3 - SDK 10.9
    iTunes Plug-ins:
              Quartz Composer Visualizer: Version: 1.4 - SDK 10.9
    User Internet Plug-ins:
              Picasa: Version: 1.0 3rd-Party support link
              RealPlayer Plugin: Version: (null) 3rd-Party support link
    3rd Party Preference Panes:
              Adobe Version Cue CS3  3rd-Party support link
              Akamai NetSession Preferences  3rd-Party support link
              RCDefaultApp
              Flash Player  3rd-Party support link
              Flip4Mac WMV  3rd-Party support link
              iStat Menus  3rd-Party support link
              KeyAccess  3rd-Party support link
    Old Applications:
              Epson Printer Utility 4:          Version: 9.19 - SDK 10.5 3rd-Party support link
                        /Library/Printers/EPSON/InkjetPrinter2/Utility/UT4/Epson Printer Utility 4.app
              Microsoft AutoUpdate:          Version: 2.3.6 - SDK 10.4 3rd-Party support link
                        /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app
              /Library/Application Support/Microsoft/MERP2.0
                        Microsoft Error Reporting:          Version: 2.2.9 - SDK 10.4 3rd-Party support link
                        Microsoft Ship Asserts:          Version: 1.1.4 - SDK 10.4 3rd-Party support link
              SLLauncher:          Version: 1.0 - SDK 10.5 3rd-Party support link
                        /Library/Application Support/Microsoft/Silverlight/OutOfBrowser/SLLauncher.app
              Garmin Map Update:          Version: 4.5.1 - SDK 10.5 3rd-Party support link
                        /Users/[redacted]/Library/Application Support/Garmin/Garmin Map Update/tmp/Garmin Map Update.app
    Time Machine:
              Mobile backups: ON
              Auto backup: YES
              Volumes being backed up:
                        Iceberg HD: Disk size: 464.96 GB Disk used: 229.45 GB
              Destinations:
                        Bruce TC [Network] (Last used)
                        Total size: 463.76 GB
                        Total number of backups: 53
                        Oldest backup: 2013-10-14 00:53:22 +0000
                        Last backup: 2014-03-29 21:23:57 +0000
                        Size of backup disk: Too small
                                  Backup size 463.76 GB < (Disk used 229.45 GB X 3)
              Time Machine details may not be accurate.
              All volumes being backed up may not be listed.
    Top Processes by CPU:
                   4%          WindowServer
                   1%          EtreCheck
                   1%          iStatLocalDaemon
                   0%          Google Drive
                   0%          PluginProcess
    Top Processes by Memory:
              188 MB          Safari
              155 MB          com.apple.WebKit.WebContent
              48 MB          WindowServer
              33 MB          EtreCheck
              20 MB          Finder
    Virtual Memory Information:
              39 MB          Free RAM
              873 MB          Active RAM
              844 MB          Inactive RAM
              628 MB          Wired RAM
              3.93 GB          Page-ins
              347 MB          Page-outs

    Bruce L. wrote:
    Startup Items:
              CiscoVPN: Path: /System/Library/StartupItems/CiscoVPN
              AdobeVersionCue: Path: /Library/StartupItems/AdobeVersionCue
              KeyAccess: Path: /Library/StartupItems/KeyAccess
    Anything in Startup Items could be a problem. Apple declared Startup Items to be obsolete in 2006 so this is software that hasn't been updated since before then or they are following the doing the don't-update-until-it-breaks plan.
    I suggest uninstalling these problems to see if that fixes things. Always use the vendor-provided uninstaller or uninstallation instructions. Never try to do it manually. That could only make things worse. You may need to download a new installer that may come with an uninstaller. Unfortunately, installers, and especially uninstallers, are a weak point of OS X compared to Windows.
    Launch Daemons:
              [System] com.adobe.versioncueCS3.plist 3rd-Party support link
              [invalid] com.bjango.istatlocaldaemon.plist
              [System] com.sassafras.KeyAccess.plist 3rd-Party support link
    Remove these too. iStat seems to have an invalid plist file. KeyAccess has a support link that may eventually lead you to an uninstaller.
    Launch Agents:
              [System] com.bjango.istatlocal.plist 3rd-Party support link
    Notice a trend? This is why I say to use vendor-provided uninstallers.
    User Login Items:
              Microsoft Database Daemon
              Google Drive
              Dropbox
              KeyAccess
              Director Docker
              HP Product Research
              HP Scheduler
    Some of the same software is here. At least with Login Items, you can remove items very easily and put them back later if they prove innocent.

  • My iMac 8.1 was slowing down and had permissions problems. I backed everything up, and then re-installed. Now all I get is a black screen. Power+D gives me a hardware error message: HDD-1336. Help!

    My iMac 8.1 (10.6.8 ) was slowing down and had recurrent permissions problems, mostly with Java. I backed everything up, and then re-installed from time machine. Now all I get is a black screen which says I need to reboot. Power+D gives me a hardware error message: 4 MOT/1/40000003: HDD-1336 or HDD-1327. When I reboot from the OSX CD and start disc utilities everything checks out OK. When I reload 10.5.2 from the OSX CD everything seems to work OK and no more permissions problems. But then I loose all my email and safari stuff. Anyone have any ideas short of going back to my old PC?

    DonM. wrote:
    Hi
    Thanks for the help. No point in fooling around with it any more. Will I be able to use it as a monitor if I get a mimi mac?
    Cheers. Don
    No unfortunatley it's too old, you are referring to Target Display Mode which became avialble in 2009, your 2008 needs to have the HD replaced. I'd still do that if everything else is OK or you can simply buy a new MM and display or even a new iMac  or an Apple refurbished iMac to save money.

  • Need some help with Slow Downs in Java3D and Servlets

    Hi,
    I realize that there is a separate forum for Java 3D, but I posted there, and did not get any response. This is kinda the crux of my program, so I would like to invite anybody on this forum with knowledge of Java 3D and servlets to give it a stab. Between this post and that one, there are TWENTY duke dollars up for grabs.
    Thanks.
    http://forum.java.sun.com/thread.jspa?threadID=603198

    Let me have an educated guess.
    You calculated the time elapsed before sending in a server request - and at that point you have you updated timeLastStateChange yet, which means by the time of the next calculation of time elapsed this apparent delay is not counted in, hence the slow down in animation rate.
    Hope this helps~
    Alex Lam S.L.

  • Internet speeds keep slowing down to a crawl

    I'm having a problem that has only developed in the past week which was during a time when I haven't changed any configurations in that period of time since my son was born a week ago yesterday and I obviously had more important things to do than mess with my network configurations. However, about 2 weeks prior to his birth, in the process of configuring a baby monitoring system with icam source, 3 weeks or so ago, I read that I might be able to improve my internet performance, I ran googles namebench a couple of times and added and re-ordered the DNS servers that had been listed prior to any problems developing based on its' reports. My internet speeds improved as a result of changing those DNS settings and stayed good until the past week. But of course, we now need to use the computer as part of our baby monitoring system and it's not working worth a **** and I'm getting frustrated since I can't put my finger on the problem and I don't really have time to spin around in circles right now. I'm sure it's probably something simple and I can't put my finger on it though. Sleep deprivation is new to me.......
    I've kept running log of notes so this is a little deshoveled but I figured the more information I provide the better the chance someone might help me get this solved quickly.
    In the last week, since my sons birth, my internet speeds would be okay after restarts and resetting everything, 2.5 Mbps or so but after a 10-15 minutes it starts to slow down to .2-.3 Mbps. I went thru all my network settings, restarted everything, repaired permissions, I've changed ethernet cables reset PRAM, firewall is running, stealth mode enabled, allow signed software incoming connections and my various other programs such as netsessionmac4f3c6b, skype, java, itunes, etc.
    All sharing services off and pretty basic login items at startup including growl.
    I had AT&T come out and check my DSL line and everything checked out on their end up to and out of the DSL modem based in their equipment tests.
    The problem seems to start when I connect my imac (a fairly loaded 27" imac I got in Dec.) First off, as soon as the imac is connected to the modem via ethernet, the old ethernet modem flashes and continues to flash, even right after startup. So the tech thought something was running in the background and I can't figure out what. I looked through login items but don't see anything that would be a problem and am afraid to eliminate everything.
    So I created a guest account to eliminate any login items (I think) and in I got 5.69 Mbps right off the bat. But after a minute or two, without changing anything my download speed slows down and I get for example .77 Mbps. The same thing happens with my administrator account on the imac. Fast speeds at startup and more importantly if I change the configuration by switching between ethernet and airport, I get fast speeds right after changing the configuration but after a minute or two I am well below 1.0 Mbps. I've got several network configurations with automatic, airport and ethernet set up in different ways including a clean ethernet connection with the original DNS settings.
    I haven't set up an airport only account but that really isn't the way I want to hook up the computer that sits right next to the modem and runs my network. Restarting the old modem and direct connecting the computer to the modem results in the same thing happening.
    I connected my ethernet from the (old?) modem directly to my ancient powerbook G4 and I got +5.6 Mbps download but it also slowed down to 300 kbps after 5 minutes or so the first time (old modem?)
    Now to explain why I have "old?" listed above. I was then able to get a new DSL modem from AT&T, hook it up just fine, get enormously faster internet service in the 5,000 kbps only to have it slow back down to around 300 kpbs after connected for several minutes.
    directly connected to imac-bypassing router
    3,500 kbps
    after 15 minutes-250 kbps
    connected to imac thru router/time capsule with airport extreme
    2500 kbps
    after 15 minutes=166 kbps
    directly connected to an older powerbook G4 with new modem
    IP address of 192.168.1.64
    5.65 Mbps on speedtest
    after 15 minutes=5.67 Mbps
    after 30 minutes= 5.59 Mbps
    1 hour-5.66 Mbps
    Very solid, stable readings for what I am used to. This would seem to isolate the problem to the imac.
    directly connected to imac with new modem
    IP address of 192.168.1.64
    5.8 Mbps on speedtest
    after 30 minutes= .60 Mbps-ping takes 250 ms
    1 hour= .46 Mbps-ping takes 250 ms
    Now a problem that only started last night after I hooked up the new modem and started up my old Time capsule/airport configuration, I got a message that said something to effect of "another device on this network is using computer IP address 192.168.1.64. So I tried manually changing last digit of the IP address on the computer to one number higher and it kept saying the start and end range were incorrect so I shut the airport station down since when it was connected, it would not allow the computer to connect thru the router via ethernet. I did a hard reset on the airport and I got it back up and running just fine but the internet speeds on the imacs' ethernet connections are so slow it's practically worthless. I also checked to see what was connected to my airport on any given occasion, 2 iphones, 2 pads, another imac running upstairs and a newer powerbook running icam source that is supposed to be the baby monitor. Except for the laptop everything can use "802.11n" but the powerbook only connects via 802.11g so I have set the airport to that limiting setting.
    Any suggestions? Is there a way for me to log what is happening so I can report in more detail?

    First thing is to check if the wireless is on a sensible channel: HomeHub doesn't always make sensible choices.  Install inSSIDer on your laptop and see what other devices there are around and if there is any clash.  Also, try moving the HomeHub around a little, even quite small differences can make a big difference to wireless signals.
    You could run an ethernet cable from downstairs to upstairs.  Easy to do, but can be a bit unsightly.  If most of your devices are upstairs, you could use this cable to connect the modem to the HomeHub.  If you have devices both up and down, you may want to keep the HomeHub downstairs and add a switch upstairs.
    HomePlug may be suitable for you.  If you search Amazon for HomePlug you will see a couple of kits for just over £30.  Don't go for an 85Mbps one.  A 200Mbps such as the TP-link or D-Link should be much better than wireless, but not as good as a cable.
    Depending excatly how many devices you want to connect and where, you can pay more and have a builtin wireless at one end: http://www.amazon.co.uk/Devolo-1408-Wireless-N-HomePlug-Adapter/dp/B00472MMCQ/ref=sr_1_15?ie=UTF8&qi...  Or it may be best for you to use the basic devices and add an old wireless router in switch mode.

  • MacBook Pro 13" Late 2011 Experiencing Significant Slow Down After Boot Camp Installation

         Okay, so today, after installing Windows 7 on my MacBook Pro via Bootcamp Assistant, I experienced significant performance slow down (fans going at full blast, applications opening after extended periods of time, keystrokes not being registered) when I returned to my OS X partition/second hard drive. I have dual hard drives, one of them being a Samsung 256 GB SSD with OS X Mavericks and the other being my original 500 GB HDD, divided into a 250 GB OS X Mavericks partition and a 250 GB Windows partition. I have the SSD set as my startup disk and I have it located in the main HDD bay. I moved the old HDD into a caddy and placed it where the optical drive normally should be.
          After multiple failed attempts to install Windows via USB and Bootcamp Assistant, I decided to reinstall my optical drive and use a Windows installation disk. This attempt proved successful, and I was able to install Windows 7 onto the 250 GB partition I had created for it on the 500 GB HDD. After completing basic setup of Windows, I removed the optical disk drive and reinstalled the SSD and the HDD into their original spots (SSD in the main HDD bay, HDD in the caddy where the optical drive normally is).
         After completing this tedious process, I booted my Mac back up using the SSD. However, I noticed something was wrong when the login screen, apps, and nearly everything else on my desktop had slowed to crawl. I decided to check my Activity Monitor to see what the problem might be. Activity Monitor told me that the task "kernel_task" was taking up anywhere from 200-600% of my CPU, which explained the slowdown in performance. I looked around to see if there were others with the same problem as me, and I found that Spotlight Indexing might be an issue, with a potential remedy being move my Bootcamp Partition into the Privacy section of Spotlight under System Preferences. After doing that, I experienced no increase in performance and everything was still going very slowly.
         The next step I took was to see if booting into Safe Mode would help the issue. After booting into Safe Mode on my SSD, I noticed that things were back to their normal speeds, with applications opening at the speed they should be and keystrokes being registered instantaneously. However, the fans were still going and had not shut off once booting into Safe Mode. In addition, I checked Activity Monitor and the "kernel_task" in question was no longer taking up massive amounts of the CPU.
         At this point, I don't know what to do and I need help in restoring my Mac to original speeds. I may end up deleting my Boot Camp partition as a last measure if all else fails, seeing as I installed Windows in the first place for running a few programs and games that I can live without. However, I'd prefer to not have things come to that and fix things before deleting the Boot Camp Partition. I've heard that if everything runs normally in Safe Mode, then the issue is third-party software. Is this true?
         Any help would be greatly appreciated as I am writing this from the MacBook in question in Safe Mode because it's essentially useless in normal SSD operation.

    1. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve the problem. But with the aid of the test results, the solution may take a few minutes, instead of hours or days.
    Don't be put off merely by the seeming complexity of these instructions. The process is much less complicated than the description. You do harder tasks with the computer all the time.
    2. If you don't already have a current backup, back up all data before doing anything else. The backup is necessary on general principle, not because of anything in the test procedure. Backup is always a must, and when you're having any kind of trouble with the computer, you may be at higher than usual risk of losing data, whether you follow these instructions or not.
    There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
    3. Below are instructions to run a UNIX shell script, a type of program. All it does is to collect information about the state of the computer. That information goes nowhere unless you choose to share it. However, you should be cautious about running any kind of program (not just a shell script) at the behest of a stranger. If you have doubts, search this site for other discussions in which this procedure has been followed without any report of ill effects. If you can't satisfy yourself that the instructions are safe, don't follow them. Ask for other options.
    Here's a summary of what you need to do, if you choose to proceed:
    Copy a line of text in this window to the Clipboard.
    Paste into the window of another application.
    Wait for the test to run. It usually takes a few minutes.
    Paste the results, which will have been copied automatically, back into a reply on this page.
    The sequence is: copy, paste, wait, paste again. You don't need to copy a second time. Details follow.
    4. You may have started the computer in "safe" mode. Preferably, these steps should be taken in “normal” mode, under the conditions in which the problem is reproduced. If the system is now in safe mode and works well enough in normal mode to run the test, restart as usual. If you can only test in safe mode, do that.
    5. If you have more than one user, and the one affected by the problem is not an administrator, then please run the test twice: once while logged in as the affected user, and once as an administrator. The results may be different. The user that is created automatically on a new computer when you start it for the first time is an administrator. If you can't log in as an administrator, test as the affected user. Most personal Macs have only one user, and in that case this section doesn’t apply. Don't log in as root.
    6. The script is a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, though you may not see all of it in the browser window, and you can then copy it. If you try to select the line by dragging across the part you can see, you won't get all of it.
    Triple-click anywhere in the line of text below on this page to select it:
    PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec;clear;cd;p=(Software Hardware Memory Diagnostics Power FireWire Thunderbolt USB Fonts 51 4 1000 25 5120 KiB/s 1024 85 \\b%% 20480 1 MB/s 25000 ports ' \*AutoCad \*dropbox \*GoogleDr\* vidinst\* ' DYLD_INSERT_LIBRARIES\ DYLD_LIBRARY_PATH -86 ` route -n get default|awk '/e:/{print $2}' ` 25 N\\/A down up 102400 25600 recvfrom sendto CFBundleIdentifier 25 25 25 1000 MB com.apple.AirPortBaseStationAgent 464843899 );N5=${#p[@]};p[N5]=` networksetup -listnetworkserviceorder|awk ' NR>1 { sub(/^\([0-9]+\) /,"");n=$0;getline;} $NF=="'${p[26]}')" { sub(/.$/,"",$NF);print n;exit;} ' `;f=('\n%s: %s\n' '\n%s\n\n%s\n' '\nRAM details\n%s\n' %s\ %s '%s\n-\t%s\n' );S0() { echo ' { q=$NF+0;$NF="";u=$(NF-1);$(NF-1)="";gsub(/^ +| +$/,"");if(q>='${p[$1]}') printf("%s (UID %s) is using %s '${p[$2]}'",$0,u,q);} ';};s=(' /^ *$|CSConfigDot/d;s/^ */  /;s/[-0-9A-Fa-f]{22,}/UUID/g;s/(ochat)\.[^.]+(\..+)/\1\2/;/Shared/!s/\/Users\/[^/]+/~/g ' ' s/^ +//;5p;6p;8p;12p;' ' {sub(/^ +/,"")};NR==6;NR==13&&$2<'${p[10]} ' 1s/://;3,6d;/[my].+:/d;s/^ {4}//;H;${ g;s/\n$//;/s: [^EO]|x([^08]|02[^F]|8[^0])/p;} ' ' 5h;6{ H;g;/P/!p;} ' ' ($1~/^Cy/&&$3>'${p[11]}')||($1~/^Cond/&&$2!~/^N/) ' ' /:$/{ N;/:.+:/d;s/ *://;b0'$'\n'' };/^ *(V.+ [0N]|Man).+ /{ s/ 0x.... //;s/[()]//g;s/(.+: )(.+)/ (\2)/;H;};$b0'$'\n'' d;:0'$'\n'' x;s/\n\n//;/Apple[ ,]|Intel|SMSC/d;s/\n.*//;/\)$/p;' ' s/^.*C/C/;H;${ g;/No th|pms/!p;} ' '/= [^GO]/p' '{$1=""};1' ' /Of/!{ s/^.+is |\.//g;p;} ' ' $0&&!/ / { n++;print;} END { if(n<200) print "com.apple.";} ' ' $3~/[0-9]:[0-9]{2}$/ { gsub(/:[0-9:a-f]{14}/,"");} { print|"tail -n'${p[12]}'";} ' ' NR==2&&$4<='${p[13]}' { print $4;} ' ' END { $2/=256;if($2>='${p[15]}') print int($2) } ' ' NR!=13{next};{sub(/[+-]$/,"",$NF)};'"`S0 21 22`" 'NR!=2{next}'"`S0 37 17`" ' NR!=5||$8!~/[RW]/{next};{ $(NF-1)=$1;$NF=int($NF/10000000);for(i=1;i<=3;i++){$i="";$(NF-1-i)="";};};'"`S0 19 20`" 's:^:/:p' '/\.kext\/(Contents\/)?Info\.plist$/p' 's/^.{52}(.+) <.+/\1/p' ' /Launch[AD].+\.plist$/ { n++;print;} END { print "'${p[41]}'";if(n<200) print "/System/";} ' '/\.xpc\/(Contents\/)?Info\.plist$/p' ' NR>1&&!/0x|\.[0-9]+$|com\.apple\.launchctl\.(Aqua|Background|System)$|'${p[41]}'/ { print $3;} ' ' /\.(framew|lproj)|\):/d;/plist:|:.+(Mach|scrip)/s/:[^:]+//p ' '/root/p' ' !/\/Contents\/.+\/Contents|Applic|Autom|Frameworks/&&/Lib.+\/Info.plist$/ { n++;print;} END { if(n<1000) print "/System/";} ' '/^\/usr\/lib\/.+dylib$/p' ' /Temp|emac/ { next;} /(etc|Preferences|Launch[AD].+)\// { sub(".(/private)?","");n++;print;} END { print "'${p[41]}'.plist\t'${p[42]}'";if(n<500) print "Launch";} ' ' /\/(Contents\/.+\/Contents|Frameworks)\/|\.wdgt\/.+\.([bw]|plu)/d;p;' 's/\/(Contents\/)?Info.plist$//;p' ' { gsub("^| |\n","\\|\\|kMDItem'${p[35]}'=");sub("^...."," ") };1 ' p '{print $3"\t"$1}' 's/\'$'\t''.+//p' 's/1/On/p' '/Prox.+: [^0]/p' '$2>'${p[9]}'{$2=$2-1;print}' ' BEGIN { i="'${p[26]}'";M1='${p[16]}';M2='${p[18]}';M3='${p[31]}';M4='${p[32]}';} !/^A/ { next;} /%/ { getline;if($5<M1) a="user "$2"%, system "$4"%";} /disk0/&&$4>M2 { b=$3" ops/s, "$4" blocks/s";} $2==i { if(c) { d=$3+$4+$5+$6;next;};if($4>M3||$6>M4) c=int($4/1024)" in, "int($6/1024)" out";} END { if(a) print "CPU: "a;if(b) print "I/O: "b;if(c) print "Net: "c" (KiB/s)";if(d) print "Net errors: "d" packets/s";} ' ' /r\[0\] /&&$NF!~/^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./ { print $NF;exit;} ' ' !/^T/ { printf "(static)";exit;} ' '/apsd|OpenD/!s/:.+//p' ' (/k:/&&$3!~/(255\.){3}0/ )||(/v6:/&&$2!~/A/ ) ' ' $1~"lR"&&$2<='${p[25]}';$1~"li"&&$3!~"wpa2";' ' BEGIN { FS=":";} { n=split($3,a,".");sub(/_2[01].+/,"",$3);print $2" "$3" "a[n]" "$1;b=b$1;} END { if(b) print("\n\t* Code injection");} ' ' NR!=4{next} {$NF/=10240} '"`S0 27 14`" ' END { if($3~/[0-9]/)print$3;} ' ' BEGIN { L='${p[36]}';} !/^[[:space:]]*(#.*)?$/ { l++;if(l<=L) f=f"\n  "$0;} END { F=FILENAME;if(!F) exit;if(!f) f="\n  [N/A]";"file -b "F|getline T;if(T!~/^(AS.+ (En.+ )?text$|POSIX sh.+ text ex)/) F=F" ("T")";printf("\nContents of %s\n%s\n",F,f);if(l>L) printf("\n  ...and %s more line(s)\n",l-L);} ' ' /^ +[NP].+ =/h;/^( +D.+[{]|[}])/{ g;s/.+= //p;};' 's/0/Off/p' ' END{print NR} ' ' /id: N|te: Y/{i++} END{print i} ' ' / / { print "'"${p[28]}"'";exit;};1;' '/ en/!s/\.//p' ' NR!=13{next};{sub(/[+-M]$/,"",$NF)};'"`S0 39 40`" ' $10~/\(L/&&$9!~"localhost" { sub(/.+:/,"",$9);print $1": "$9;} ' '/^ +r/s/.+"(.+)".+/\1/p' 's/(.+\.wdgt)\/(Contents\/)?Info\.plist$/\1/p' 's/^.+\/(.+)\.wdgt$/\1/p' );c1=(system_profiler pmset\ -g nvram fdesetup find syslog df vm_stat sar ps sudo\ crontab sudo\ iotop top pkgutil 'PlistBuddy 2>&1 -c "Print' whoami cksum kextstat launchctl sudo\ launchctl crontab 'sudo defaults read' stat lsbom mdfind ' for i in ${p[24]};do ${c1[18]} ${c2[27]} $i;done;' defaults\ read scutil sudo\ dtrace sudo\ profiles sed\ -En awk /S*/*/P*/*/*/C*/*/airport networksetup mdutil sudo\ lsof test );c2=(com.apple.loginwindow\ LoginHook '" /L*/P*/loginw*' '" L*/P*/*loginit*' 'L*/Ca*/com.ap*.Saf*/E*/* -depth 1 -name In*t -exec '"${c1[14]}"' :CFBundleDisplayName" {} \;' '~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \)' '.??* -path .Trash -prune -o -type d -name *.app -print -prune' :${p[35]}\" :Label\" '{/,}L*/{Con,Pref}* -type f ! -size 0 -name *.plist -exec plutil -s {} \;' "-f'%N: %l' Desktop L*/Keyc*" therm sysload boot-args status " -F '\$Time \$Message' -k Sender kernel -k Message Req 'bad |Beac|caug|dead[^bl]|FAIL|fail|GPU |hfs: Ru|inval|jnl:|last value [1-9]|n Cause: -|NVDA\(|pagin|proc: t|Roamed|rror|ssert|Thrott|tim(ed? ?|ing )o|WARN' -k Message Rne 'Goog|ksadm|SMC:' -o -k Sender fseventsd -k Message Req 'SL' " '-du -n DEV -n EDEV 1 10' 'acrx -o comm,ruid,%cpu' '-t1 10 1' '-f -pfc /var/db/r*/com.apple.*.{BS,Bas,Es,J,OSXU,Rem,up}*.bom' '{/,}L*/Lo*/Diag* -type f -regex .\*[cgh] ! -name *ag \( -exec grep -lq "^Thread c" {} \; -exec printf \* \; -o -true \) -execdir stat -f:%Sc:%N -t%F {} \;|sort -t: -k2 |tail -n'${p[38]} '-L {/{S*/,},}L*/Lau* -type f' '-L /{S*/,}L*/StartupItems -type f -exec file {} +' '-L /S*/L*/{C*/Sec*A,E}* {/,}L*/{A*d,Ca*/*/Ex,Compon,Ex,In,iTu,Keyb,Mail/B,P*P,Qu*T,Scripti,Sec,Servi,Spo,Widg}* -type f -name Info.plist' '/usr/lib -type f -name *.dylib' `awk "${s[31]}"<<<${p[23]}` "/e*/{auto,{cron,fs}tab,hosts,{[lp],sy}*.conf,pam.d/*,ssh{,d}_config,*.local} {,/usr/local}/etc/periodic/*/* /L*/P*{,/*}/com.a*.{Bo,sec*.ap}*t /S*/L*/Lau*/*t .launchd.conf" list getenv /Library/Preferences/com.apple.alf\ globalstate --proxy '-n get default' -I --dns -getdnsservers\ "${p[N5]}" -getinfo\ "${p[N5]}" -P -m\ / '' -n1 '-R -l1 -n1 -o prt -stats command,uid,prt' '--regexp --only-files --files com.apple.pkg.*|sort|uniq' -kl -l -s\ / '-R -l1 -n1 -o mem -stats command,uid,mem' -i4TCP:0-1023 com.apple.dashboard\ layer-gadgets '-d /L*/Mana*/$USER&&echo On' '-app Safari WebKitDNSPrefetchingEnabled' );N1=${#c2[@]};for j in {0..8};do c2[N1+j]=SP${p[j]}DataType;done;N2=${#c2[@]};for j in 0 1;do c2[N2+j]="-n ' syscall::'${p[33+j]}':return { @out[execname,uid]=sum(arg0) } tick-10sec { trunc(@out,1);exit(0);} '";done;l=(Restricted\ files Hidden\ apps 'Elapsed time (s)' POST Battery Safari\ extensions Bad\ plists 'High file counts' User Heat System\ load boot\ args FileVault Diagnostic\ reports Log 'Free space (MiB)' 'Swap (MiB)' Activity 'CPU per process' Login\ hook 'I/O per process' Mach\ ports kexts Daemons Agents launchd Startup\ items Admin\ access Root\ access Bundles dylibs Apps Font\ issues Inserted\ dylibs Firewall Proxies DNS TCP/IP Wi-Fi Profiles Root\ crontab User\ crontab 'Global login items' 'User login items' Spotlight Memory Listeners Widgets Parental\ Controls Prefetching );N3=${#l[@]};for i in 0 1 2;do l[N3+i]=${p[5+i]};done;N4=${#l[@]};for j in 0 1;do l[N4+j]="Current ${p[29+j]}stream data";done;A0() { id -G|grep -qw 80;v[1]=$?;((v[1]==0))&&sudo true;v[2]=$?;v[3]=`date +%s`;clear >&-;date '+Start time: %T %D%n';};for i in 0 1;do eval ' A'$((1+i))'() { v=` eval "${c1[$1]} ${c2[$2]}"|'${c1[30+i]}' "${s[$3]}" `;[[ "$v" ]];};A'$((3+i))'() { v=` while read i;do [[ "$i" ]]&&eval "${c1[$1]} ${c2[$2]}" \"$i\"|'${c1[30+i]}' "${s[$3]}";done<<<"${v[$4]}" `;[[ "$v" ]];};A'$((5+i))'() { v=` while read i;do '${c1[30+i]}' "${s[$1]}" "$i";done<<<"${v[$2]}" `;[[ "$v" ]];};';done;A7(){ v=$((`date +%s`-v[3]));};B2(){ v[$1]="$v";};for i in 0 1;do eval ' B'$i'() { v=;((v['$((i+1))']==0))||{ v=No;false;};};B'$((3+i))'() { v[$2]=`'${c1[30+i]}' "${s[$3]}"<<<"${v[$1]}"`;} ';done;B5(){ v[$1]="${v[$1]}"$'\n'"${v[$2]}";};B6() { v=` paste -d: <(printf "${v[$1]}") <(printf "${v[$2]}")|awk -F: ' {printf("'"${f[$3]}"'",$1,$2)} ' `;};B7(){ v=`grep -Fv "${v[$1]}"<<<"$v"`;};C0(){ [[ "$v" ]]&&echo "$v";};C1() { [[ "$v" ]]&&printf "${f[$1]}" "${l[$2]}" "$v";};C2() { v=`echo $v`;[[ "$v" != 0 ]]&&C1 0 $1;};C3() { v=`sed -E "$s"<<<"$v"`&&C1 1 $1;};for i in 1 2;do for j in 2 3;do eval D$i$j'(){ A'$i' $1 $2 $3; C'$j' $4;};';done;done;{ A0;A2 0 $((N1+1)) 2;C0;A1 0 $N1 1;C0;B0;C2 27;B0&&! B1&&C2 28;D12 15 37 25 8;A1 0 $((N1+2)) 3;C0;D13 0 $((N1+3)) 4 3;D23 0 $((N1+4)) 5 4;for i in 0 1 2;do D13 0 $((N1+5+i)) 6 $((N3+i));done;D13 1 10 7 9;D13 1 11 8 10;D22 2 12 9 11;D12 3 13 10 12;D23 4 19 44 13;D23 5 14 12 14;D22 6 36 13 15;D22 7 37 14 16;D23 8 15 38 17;D22 9 16 16 18;B1&&{ D22 11 17 17 20;for i in 0 1;do D22 28 $((N2+i)) 45 $((N4+i));done;};D22 12 44 54 45;D22 12 39 15 21;A1 13 40 18;B2 4;B3 4 0 19;A3 14 6 32 0;B4 0 5 11;A1 17 41 20;B7 5;C3 22;B4 4 6 21;A3 14 7 32 6;B4 0 7 11;B3 4 0 22;A3 14 6 32 0;B4 0 8 11;B5 7 8;B1&&{ A2 19 26 23;B7 7;C3 23;};A2 18 26 23;B7 7;C3 24;A2 4 20 21;B7 6;B2 9;A4 14 7 52 9;B2 10;B6 9 10 4;C3 25;D13 4 21 24 26;B4 4 12 26;B3 4 13 27;A1 4 22 29;B7 12;B2 14;A4 14 6 52 14;B2 15;B6 14 15 4;B3 0 0 30;C3 29;A1 4 23 27;B7 13;C3 30;D13 24 24 32 31;D13 25 37 32 33;A2 23 18 28;B2 16;A2 16 25 33;B7 16;B3 0 0 34;B2 21;A6 47 21&&C0;B1&&{ D13 21 0 32 19;D13 10 42 32 40;D22 29 35 46 39;};D13 14 1 48 42;D12 34 43 53 44;D22 0 $((N1+8)) 51 32;D13 4 8 41 6;D12 26 28 35 34;D13 27 29 36 35;A2 27 32 39&&{ B2 19;A2 33 33 40;B2 20;B6 19 20 3;};C2 36;D23 33 34 42 37;B1&&D23 35 45 55 46;D23 32 31 43 38;D12 36 47 32 48;D13 20 42 32 41;D13 14 2 48 43;D13 4 5 32 1;D22 4 4 50 0;D13 4 3 32 5;D12 26 48 49 49;B3 4 22 57;A1 26 46 56;B7 22;B3 0 0 58;C3 47;D23 22 9 37 7;A7;C2 2;} 2>/dev/null|pbcopy;exit 2>&-
    Copy the selected text to the Clipboard by pressing the key combination command-C.
    7. Launch the built-in Terminal application in any of the following ways:
    Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Click anywhere in the Terminal window and paste by pressing command-V. The text you pasted should vanish immediately. If it doesn't, press the return key.
    8. If you see an error message in the Terminal window such as "Syntax error" or "Event not found," enter
    exec bash
    and press return. Then paste the script again.
    9. If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. You will not see the usual dots in place of typed characters. Make sure caps lock is off. Type carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter the password, the test will run anyway, but it will produce less information. In most cases, the difference is not important. If you don't know the password, or if you prefer not to enter it, press the key combination control-C or just press return three times at the password prompt. Again, the script will still run.
    If you're not logged in as an administrator, you won't be prompted for a password. The test will still run. It just won't do anything that requires administrator privileges.
    10. The test may take a few minutes to run, depending on how many files you have and the speed of the computer. A computer that's abnormally slow may take longer to run the test. While it's running, there will be nothing in the Terminal window and no indication of progress. Wait for the line
    [Process completed]
    to appear. If you don't see it within half an hour or so, the test probably won't complete in a reasonable time. In that case, close the Terminal window and report the results. No harm will be done.
    11. When the test is complete, quit Terminal. The results will have been copied to the Clipboard automatically. They are not shown in the Terminal window. Please don't copy anything from there. All you have to do is start a reply to this comment and then paste by pressing command-V again.
    At the top of the results, there will be a line that begins with the words "Start Time." If you don't see that, but instead see a mass of gibberish, you didn't wait for the "Process completed" message to appear in the Terminal window. Please wait for it and try again.
    If any private information, such as your name or email address, appears in the results, anonymize it before posting. Usually that won't be necessary.
    12. When you post the results, you might see the message, "You have included content in your post that is not permitted." It means that the forum software has misidentified something in the post as a violation of the rules. If that happens, please post the test results on Pastebin, then post a link here to the page you created.
    Note: This is a public forum, and others may give you advice based on the results of the test. They speak only for themselves, and I don't necessarily agree with them.
    Copyright © 2014 by Linc Davis. As the sole author of this work, I reserve all rights to it except as provided in the Use Agreement for the Apple Support Communities website ("ASC"). Readers of ASC may copy it for their own personal use. Neither the whole nor any part may be redistributed.

  • How to test hardware on an old MacBook Pro that is slowing down.

    I have the very first-gen MacBook Pro 2.0gHz Core Duo, 2gb ram.  I have been using this laptop as my primary since I got it, mostly for development work (Java, Objective-C, Web, etc), but also email, general web surfing, and the occational game (although, not in a while).
    Recently, I noticed things were starting to "slow down".  Well, not slow down so much as things would get long pauses.  For instance, I hit a site in Google Chrome, and the app sits there for like 20-30sec of longer, as if the window is frozen, then *poof*, it draws the page.  Sometime, Chrome will even pop up asking if I want to kill the page.  It is not the only application that seems to be suffering from this, I just spend a LOT of time on the web, so I tend to notice it much more.
    Even more recently, my SpringSource Tool Suite (STS, a custom Eclipse with a bunch of SpringSource plugins) started acting up too.  Mostly when I start the Roo Shell and execute a command, STS (read Eclipse) will show the command as "executing", but it seemed to never run.  I thought it was maybe a problem with STS or the Roo Shell plugin, but yesterday I ran something as a test, then got a phone call and didn't come back for some time.  To my surprise after more than 40min of just sitting there the command ran.  Once it ran, it ran in full, normal speed (the command I ran was to rebuild the Eclipse project files using Maven).  So, what I thought was frozen was merely paused for a long period of time, just like what I was seeing in Chrome.
    So, this has lead me to believe I either have some sort of hardware issue, some sort of heat issue (I have seen this on Wintel laptops where the processor "speed steps" down to almost 33mHz), or some sort of software issue.  I really don't want to have to re-install OS X, if I can avoid it.  I did boot off the original disks that came with my laptop and ran the Hardware Test, but it came back with no errors.  I have iStat Pro installed as well, and the fan speeds are usually around 1800-2000rpm, sometimes jumping to 4000+rpm.  CPU tempuratures report around 151º.  I also ran the Disk Utility off my 10.6 disks.  I do know that my DVD burner no longer burns disks, but it hasn't for more than a year.
    Laptop specs:
      - MacBook Pro, Model MacBookPro1,1
      - OS X 10.6.8
      - 2.0gHz Core Duo w/ 2gb DDR2 RAM
      - Toshiba MK3252GSX 320gb HDD (replacement for factory 120gb HDD over 1.5yrs ago due to space issues)
      - I recently replaced the battery, as the old one had expanded.  I use the laptop on wall power 99% of the time.
    Thanks,
    Mike Bauer

    As mentioned above, I did do this.  What I am not so certain is how intensive this test is.  Stated another way: If this was ran and passed 100%, does this mean everything on my laptop is 100% functional, like the fans, processor, cooling, memory, etc?  The drive also checked out when I did the Disk Utility from the 10.6 install CDs, and the S.M.A.R.T. check indicates no disk errors.
    Maybe I should take it into a Genius and have them look at it.  Just not sure how much that will cost me, and its an old laptop, so I don't want to put too much into it.

Maybe you are looking for